1?t-1:0),s=1;se)).forEach((t=>{for(let[i,s]of Object.entries(t))if(void 0!==s&&"[object Object]"===s.toString()){let t=void 0!==e[i]?e[i].toString():void 0,a=s.toString(),n=Array.isArray(s)?[]:{};e[i]=e[i]?t!==a?n:e[i]:n,w(e[i],s)}else e[i]=s})),e}function b(e){let t=e;return e instanceof Date||("string"==typeof e&&/^\d{4}-\d{2}-\d{2}$/.test(e)&&(e+="T00:00:00"),t=new Date(e)),isNaN(t.getTime())&&(console.log(`Unable to convert value "${e}" to Date object`),t=!1),t}function k(e){let t="\\s|\\.|-|/|\\\\|,|\\$|\\!|\\?|:|;";return new RegExp("(^|>|"+t+")("+e+")($|<|"+t+")","g")}function $(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var s=i.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class C{constructor(){let{type:e,date:t,dp:i,opts:s,body:a}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};$(this,"focus",(()=>{this.$cell.classList.add("-focus-"),this.focused=!0})),$(this,"removeFocus",(()=>{this.$cell.classList.remove("-focus-"),this.focused=!1})),$(this,"select",(()=>{this.$cell.classList.add("-selected-"),this.selected=!0})),$(this,"removeSelect",(()=>{this.$cell.classList.remove("-selected-","-range-from-","-range-to-"),this.selected=!1})),$(this,"onChangeSelectedDate",(()=>{this.isDisabled||(this._handleSelectedStatus(),this.opts.range&&this._handleRangeStatus())})),$(this,"onChangeFocusDate",(e=>{if(!e)return void(this.focused&&this.removeFocus());let t=p(e,this.date,this.type);t?this.focus():!t&&this.focused&&this.removeFocus(),this.opts.range&&this._handleRangeStatus()})),$(this,"render",(()=>(this.$cell.innerHTML=this._getHtml(),this._handleClasses(),this.$cell))),this.type=e,this.singleType=this.type.slice(0,-1),this.date=t,this.dp=i,this.opts=s,this.body=a,this.customData=!1,this.init()}init(){var e;let{onRenderCell:t}=this.opts;t&&(this.customData=t({date:this.date,cellType:this.singleType,datepicker:this.dp})),this._createElement(),this._bindDatepickerEvents(),null!==(e=this.customData)&&void 0!==e&&e.disabled&&this.dp.disableDate(this.date)}_bindDatepickerEvents(){this.dp.on(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.on(i.eventChangeFocusDate,this.onChangeFocusDate)}unbindDatepickerEvents(){this.dp.off(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.off(i.eventChangeFocusDate,this.onChangeFocusDate)}_createElement(){var e;let{year:t,month:i,date:s}=h(this.date),a=(null===(e=this.customData)||void 0===e?void 0:e.attrs)||{};this.$cell=n({attrs:{"data-year":t,"data-month":i,"data-date":s,...a}}),this.$cell.adpCell=this}_getClassName(){var e;let t=new Date,{selectOtherMonths:s,selectOtherYears:a}=this.opts,{minDate:n,maxDate:r,isDateDisabled:o}=this.dp,{day:l}=h(this.date),d=this._isOutOfMinMaxRange(),c=o(this.date),m=u("air-datepicker-cell",`-${this.singleType}-`,{"-current-":p(t,this.date,this.type),"-min-date-":n&&p(n,this.date,this.type),"-max-date-":r&&p(r,this.date,this.type)}),v="";switch(this.type){case i.days:v=u({"-weekend-":this.dp.isWeekend(l),"-other-month-":this.isOtherMonth,"-disabled-":this.isOtherMonth&&!s||d||c});break;case i.months:v=u({"-disabled-":d});break;case i.years:v=u({"-other-decade-":this.isOtherDecade,"-disabled-":d||this.isOtherDecade&&!a})}return u(m,v,null===(e=this.customData)||void 0===e?void 0:e.classes).split(" ")}_getHtml(){var e;let{year:t,month:s,date:a}=h(this.date),{showOtherMonths:n,showOtherYears:r}=this.opts;if(null!==(e=this.customData)&&void 0!==e&&e.html)return this.customData.html;switch(this.type){case i.days:return!n&&this.isOtherMonth?"":a;case i.months:return this.dp.locale[this.opts.monthsField][s];case i.years:return!r&&this.isOtherDecade?"":t}}_isOutOfMinMaxRange(){let{minDate:e,maxDate:t}=this.dp,{type:s,date:a}=this,{month:n,year:r,date:o}=h(a),l=s===i.days,d=s===i.years,c=!!e&&new Date(r,d?e.getMonth():n,l?o:e.getDate()),u=!!t&&new Date(r,d?t.getMonth():n,l?o:t.getDate());return e&&t?v(c,e)||m(u,t):e?v(c,e):t?m(u,t):void 0}destroy(){this.unbindDatepickerEvents()}_handleRangeStatus(){const{selectedDates:e,focusDate:t,rangeDateTo:i,rangeDateFrom:s}=this.dp,a=e.length;if(!a)return;let n=s,r=i;if(1===a&&t){const i=m(t,e[0]);n=i?e[0]:t,r=i?t:e[0]}let o=u({"-in-range-":n&&r&&(h=this.date,l=n,d=r,m(h,l)&&v(h,d)),"-range-from-":n&&p(this.date,n,this.type),"-range-to-":r&&p(this.date,r,this.type)});var h,l,d;this.$cell.classList.remove("-range-from-","-range-to-","-in-range-"),o&&this.$cell.classList.add(...o.split(" "))}_handleSelectedStatus(){let e=this.dp._checkIfDateIsSelected(this.date,this.type);e?this.select():!e&&this.selected&&this.removeSelect()}_handleInitialFocusStatus(){p(this.dp.focusDate,this.date,this.type)&&this.focus()}_handleClasses(){this.$cell.setAttribute("class",""),this._handleInitialFocusStatus(),this.dp.hasSelectedDates&&(this._handleSelectedStatus(),this.dp.opts.range&&this._handleRangeStatus()),this.$cell.classList.add(...this._getClassName())}get isDisabled(){return this.$cell.matches(".-disabled-")}get isOtherMonth(){return this.dp.isOtherMonth(this.date)}get isOtherDecade(){return this.dp.isOtherDecade(this.date)}}function _(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var s=i.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}let M={[i.days]:``,[i.months]:``,[i.years]:``};const S=".air-datepicker-cell";class T{constructor(e){let{dp:t,type:s,opts:a}=e;_(this,"handleClick",(e=>{let t=e.target.closest(S).adpCell;if(t.isDisabled)return;if(!this.dp.isMinViewReached)return void this.dp.down();let i=this.dp._checkIfDateIsSelected(t.date,t.type);i?this.dp._handleAlreadySelectedDates(i,t.date):this.dp.selectDate(t.date)})),_(this,"handleDayNameClick",(e=>{let t=e.target.getAttribute("data-day-index");this.opts.onClickDayName({dayIndex:Number(t),datepicker:this.dp})})),_(this,"onChangeCurrentView",(e=>{e!==this.type?this.hide():(this.show(),this.render())})),_(this,"onMouseOverCell",(e=>{let t=y(e.target,S);this.dp.setFocusDate(!!t&&t.adpCell.date)})),_(this,"onMouseOutCell",(()=>{this.dp.setFocusDate(!1)})),_(this,"onClickBody",(e=>{let{onClickDayName:t}=this.opts,i=e.target;i.closest(S)&&this.handleClick(e),t&&i.closest(".air-datepicker-body--day-name")&&this.handleDayNameClick(e)})),_(this,"onMouseDown",(e=>{this.pressed=!0;let t=y(e.target,S),i=t&&t.adpCell;p(i.date,this.dp.rangeDateFrom)&&(this.rangeFromFocused=!0),p(i.date,this.dp.rangeDateTo)&&(this.rangeToFocused=!0)})),_(this,"onMouseMove",(e=>{if(!this.pressed||!this.dp.isMinViewReached)return;e.preventDefault();let t=y(e.target,S),i=t&&t.adpCell,{selectedDates:s,rangeDateTo:a,rangeDateFrom:n}=this.dp;if(!i||i.isDisabled)return;let{date:r}=i;if(2===s.length){if(this.rangeFromFocused&&!m(r,a)){let{hours:e,minutes:t}=h(n);r.setHours(e),r.setMinutes(t),this.dp.rangeDateFrom=r,this.dp.replaceDate(n,r)}if(this.rangeToFocused&&!v(r,n)){let{hours:e,minutes:t}=h(a);r.setHours(e),r.setMinutes(t),this.dp.rangeDateTo=r,this.dp.replaceDate(a,r)}}})),_(this,"onMouseUp",(()=>{this.pressed=!1,this.rangeFromFocused=!1,this.rangeToFocused=!1})),_(this,"onChangeViewDate",((e,t)=>{if(!this.isVisible)return;let s=c(e),a=c(t);switch(this.dp.currentView){case i.days:if(p(e,t,i.months))return;break;case i.months:if(p(e,t,i.years))return;break;case i.years:if(s[0]===a[0]&&s[1]===a[1])return}this.render()})),_(this,"render",(()=>{this.destroyCells(),this._generateCells(),this.cells.forEach((e=>{this.$cells.appendChild(e.render())}))})),this.dp=t,this.type=s,this.opts=a,this.cells=[],this.$el="",this.pressed=!1,this.isVisible=!0,this.init()}init(){this._buildBaseHtml(),this.type===i.days&&this.renderDayNames(),this.render(),this._bindEvents(),this._bindDatepickerEvents()}_bindEvents(){let{range:e,dynamicRange:t}=this.opts;D(this.$el,"mouseover",this.onMouseOverCell),D(this.$el,"mouseout",this.onMouseOutCell),D(this.$el,"click",this.onClickBody),e&&t&&(D(this.$el,"mousedown",this.onMouseDown),D(this.$el,"mousemove",this.onMouseMove),D(window.document,"mouseup",this.onMouseUp))}_bindDatepickerEvents(){this.dp.on(i.eventChangeViewDate,this.onChangeViewDate),this.dp.on(i.eventChangeCurrentView,this.onChangeCurrentView)}_buildBaseHtml(){this.$el=n({className:`air-datepicker-body -${this.type}-`,innerHtml:M[this.type]}),this.$names=a(".air-datepicker-body--day-names",this.$el),this.$cells=a(".air-datepicker-body--cells",this.$el)}_getDayNamesHtml(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.dp.locale.firstDay,t="",s=this.dp.isWeekend,{onClickDayName:a}=this.opts,n=e,r=0;for(;r<7;){let e=n%7;t+=`${this.dp.locale.daysMin[e]}
`,r++,n++}return t}renderDayNames(){this.$names.innerHTML=this._getDayNamesHtml()}_generateCell(e){let{type:t,dp:i,opts:s}=this;return new C({type:t,dp:i,opts:s,date:e,body:this})}_generateCells(){T.getDatesFunction(this.type)(this.dp,(e=>{this.cells.push(this._generateCell(e))}))}show(){this.isVisible=!0,this.$el.classList.remove("-hidden-")}hide(){this.isVisible=!1,this.$el.classList.add("-hidden-")}destroyCells(){this.cells.forEach((e=>e.destroy())),this.cells=[],this.$cells.innerHTML=""}destroy(){this.destroyCells(),this.dp.off(i.eventChangeViewDate,this.onChangeViewDate),this.dp.off(i.eventChangeCurrentView,this.onChangeCurrentView)}static getDaysDates(e,t){let{viewDate:i,opts:{fixedHeight:s},locale:{firstDay:a}}=e,n=o(i),{year:r,month:l}=h(i),d=new Date(r,l,1),c=new Date(r,l,n),u=d.getDay()-a,p=6-c.getDay()+a;u=u<0?u+7:u,p=p>6?p-7:p;let m=function(e,t){let{year:i,month:s,date:a}=h(e);return new Date(i,s,a-t)}(d,u),v=n+u+p,g=m.getDate(),{year:D,month:y}=h(m),f=0;s&&(v=42);const w=[];for(;f0&&void 0!==arguments[0]?arguments[0]:i.days;return{[i.days]:T.getDaysDates,[i.months]:T.getMonthsDates,[i.years]:T.getYearsDates}[e]}}function F(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var s=i.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class V{constructor(e){let{dp:t,opts:i}=e;F(this,"onClickNav",(e=>{let t=y(e.target,".air-datepicker-nav--action");if(!t)return;let i=t.dataset.action;this.dp[i]()})),F(this,"onChangeViewDate",(()=>{this.render(),this._resetNavStatus(),this.handleNavStatus()})),F(this,"onChangeCurrentView",(()=>{this.render(),this._resetNavStatus(),this.handleNavStatus()})),F(this,"onClickNavTitle",(()=>{this.dp.isFinalView||this.dp.up()})),F(this,"update",(()=>{let{prevHtml:e,nextHtml:t}=this.opts;this.$prev.innerHTML=e,this.$next.innerHTML=t,this._resetNavStatus(),this.render(),this.handleNavStatus()})),F(this,"renderDelay",(()=>{setTimeout(this.render)})),F(this,"render",(()=>{this.$title.innerHTML=this._getTitle(),function(e,t){for(let i in t)t[i]?e.classList.add(i):e.classList.remove(i)}(this.$title,{"-disabled-":this.dp.isFinalView})})),this.dp=t,this.opts=i,this.init()}init(){this._createElement(),this._buildBaseHtml(),this._defineDOM(),this.render(),this.handleNavStatus(),this._bindEvents(),this._bindDatepickerEvents()}_defineDOM(){this.$title=a(".air-datepicker-nav--title",this.$el),this.$prev=a('[data-action="prev"]',this.$el),this.$next=a('[data-action="next"]',this.$el)}_bindEvents(){this.$el.addEventListener("click",this.onClickNav),this.$title.addEventListener("click",this.onClickNavTitle)}_bindDatepickerEvents(){this.dp.on(i.eventChangeViewDate,this.onChangeViewDate),this.dp.on(i.eventChangeCurrentView,this.onChangeCurrentView),this.isNavIsFunction&&(this.dp.on(i.eventChangeSelectedDate,this.renderDelay),this.dp.opts.timepicker&&this.dp.on(i.eventChangeTime,this.render))}destroy(){this.dp.off(i.eventChangeViewDate,this.onChangeViewDate),this.dp.off(i.eventChangeCurrentView,this.onChangeCurrentView),this.isNavIsFunction&&(this.dp.off(i.eventChangeSelectedDate,this.renderDelay),this.dp.opts.timepicker&&this.dp.off(i.eventChangeTime,this.render))}_createElement(){this.$el=n({tagName:"nav",className:"air-datepicker-nav"})}_getTitle(){let{dp:e,opts:t}=this,i=t.navTitles[e.currentView];return"function"==typeof i?i(e):e.formatDate(e.viewDate,i)}handleNavStatus(){let{disableNavWhenOutOfRange:e}=this.opts,{minDate:t,maxDate:s}=this.dp;if(!t&&!s||!e)return;let{year:a,month:n}=this.dp.parsedViewDate,r=!!t&&h(t),o=!!s&&h(s);switch(this.dp.currentView){case i.days:t&&r.month>=n&&r.year>=a&&this._disableNav("prev"),s&&o.month<=n&&o.year<=a&&this._disableNav("next");break;case i.months:t&&r.year>=a&&this._disableNav("prev"),s&&o.year<=a&&this._disableNav("next");break;case i.years:{let e=c(this.dp.viewDate);t&&r.year>=e[0]&&this._disableNav("prev"),s&&o.year<=e[1]&&this._disableNav("next");break}}}_disableNav(e){a('[data-action="'+e+'"]',this.$el).classList.add("-disabled-")}_resetNavStatus(){!function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),s=1;s{e.classList.remove(...i)})):e.classList.remove(...i)}(this.$el.querySelectorAll(".air-datepicker-nav--action"),"-disabled-")}_buildBaseHtml(){let{prevHtml:e,nextHtml:t}=this.opts;this.$el.innerHTML=`${e}
${t}
`}get isNavIsFunction(){let{navTitles:e}=this.opts;return Object.keys(e).find((t=>"function"==typeof e[t]))}}var x={today:{content:e=>e.locale.today,onClick:e=>e.setViewDate(new Date)},clear:{content:e=>e.locale.clear,onClick:e=>e.clear()}};class H{constructor(e){let{dp:t,opts:i}=e;this.dp=t,this.opts=i,this.init()}init(){this.createElement(),this.render()}createElement(){this.$el=n({className:"air-datepicker-buttons"})}destroy(){this.$el.parentNode.removeChild(this.$el)}clearHtml(){return this.$el.innerHTML="",this}generateButtons(){let{buttons:e}=this.opts;Array.isArray(e)||(e=[e]),e.forEach((e=>{let t=e;"string"==typeof e&&x[e]&&(t=x[e]);let i=this.createButton(t);t.onClick&&this.attachEventToButton(i,t.onClick),this.$el.appendChild(i)}))}attachEventToButton(e,t){e.addEventListener("click",(()=>{t(this.dp)}))}createButton(e){let{content:t,className:i,tagName:s="button",attrs:a={}}=e;return n({tagName:s,innerHtml:`${"function"==typeof t?t(this.dp):t}`,className:u("air-datepicker-button",i),attrs:a})}render(){this.generateButtons()}}function E(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var s=i.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class L{constructor(){let{opts:e,dp:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};E(this,"toggleTimepickerIsActive",(e=>{this.dp.timepickerIsActive=e})),E(this,"onChangeSelectedDate",(e=>{let{date:t,updateTime:i=!1}=e;t&&(this.setMinMaxTime(t),this.setCurrentTime(!!i&&t),this.addTimeToDate(t))})),E(this,"onChangeLastSelectedDate",(e=>{e&&(this.setTime(e),this.render())})),E(this,"onChangeInputRange",(e=>{let t=e.target;this[t.getAttribute("name")]=t.value,this.updateText(),this.dp.trigger(i.eventChangeTime,{hours:this.hours,minutes:this.minutes})})),E(this,"onMouseEnterLeave",(e=>{let t=e.target.getAttribute("name"),i=this.$minutesText;"hours"===t&&(i=this.$hoursText),i.classList.toggle("-focus-")})),E(this,"onFocus",(()=>{this.toggleTimepickerIsActive(!0)})),E(this,"onBlur",(()=>{this.toggleTimepickerIsActive(!1)})),this.opts=e,this.dp=t;let{timeFormat:s}=this.dp.locale;s&&(s.match(k("h"))||s.match(k("hh")))&&(this.ampm=!0),this.init()}init(){this.setTime(this.dp.lastSelectedDate||this.dp.viewDate),this.createElement(),this.buildHtml(),this.defineDOM(),this.render(),this.bindDatepickerEvents(),this.bindDOMEvents()}bindDatepickerEvents(){this.dp.on(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.on(i.eventChangeLastSelectedDate,this.onChangeLastSelectedDate)}bindDOMEvents(){let e="input";navigator.userAgent.match(/trident/gi)&&(e="change"),D(this.$ranges,e,this.onChangeInputRange),D(this.$ranges,"mouseenter",this.onMouseEnterLeave),D(this.$ranges,"mouseleave",this.onMouseEnterLeave),D(this.$ranges,"focus",this.onFocus),D(this.$ranges,"mousedown",this.onFocus),D(this.$ranges,"blur",this.onBlur)}createElement(){this.$el=n({className:u("air-datepicker-time",{"-am-pm-":this.dp.ampm})})}destroy(){this.dp.off(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.off(i.eventChangeLastSelectedDate,this.onChangeLastSelectedDate),this.$el.parentNode.removeChild(this.$el)}buildHtml(){let{ampm:e,hours:t,displayHours:i,minutes:s,minHours:a,minMinutes:n,maxHours:r,maxMinutes:o,dayPeriod:h,opts:{hoursStep:l,minutesStep:c}}=this;this.$el.innerHTML=` ${d(i)} : ${d(s)} `+(e?`${h}`:"")+'
`}defineDOM(){let e=e=>a(e,this.$el);this.$ranges=this.$el.querySelectorAll('[type="range"]'),this.$hours=e('[name="hours"]'),this.$minutes=e('[name="minutes"]'),this.$hoursText=e(".air-datepicker-time--current-hours"),this.$minutesText=e(".air-datepicker-time--current-minutes"),this.$ampm=e(".air-datepicker-time--current-ampm")}setTime(e){this.setMinMaxTime(e),this.setCurrentTime(e)}addTimeToDate(e){e&&(e.setHours(this.hours),e.setMinutes(this.minutes))}setMinMaxTime(e){if(this.setMinMaxTimeFromOptions(),e){let{minDate:t,maxDate:i}=this.dp;t&&p(e,t)&&this.setMinTimeFromMinDate(t),i&&p(e,i)&&this.setMaxTimeFromMaxDate(i)}}setCurrentTime(e){let{hours:t,minutes:i}=e?h(e):this;this.hours=f(t,this.minHours,this.maxHours),this.minutes=f(i,this.minMinutes,this.maxMinutes)}setMinMaxTimeFromOptions(){let{minHours:e,minMinutes:t,maxHours:i,maxMinutes:s}=this.opts;this.minHours=f(e,0,23),this.minMinutes=f(t,0,59),this.maxHours=f(i,0,23),this.maxMinutes=f(s,0,59)}setMinTimeFromMinDate(e){let{lastSelectedDate:t}=this.dp;this.minHours=e.getHours(),t&&t.getHours()>e.getHours()?this.minMinutes=this.opts.minMinutes:this.minMinutes=e.getMinutes()}setMaxTimeFromMaxDate(e){let{lastSelectedDate:t}=this.dp;this.maxHours=e.getHours(),t&&t.getHours()e.month++],[[["Control","ArrowLeft"],["Control","ArrowDown"]],e=>e.month--],[[["Shift","ArrowRight"],["Shift","ArrowUp"]],e=>e.year++],[[["Shift","ArrowLeft"],["Shift","ArrowDown"]],e=>e.year--],[[["Alt","ArrowRight"],["Alt","ArrowUp"]],e=>e.year+=10],[[["Alt","ArrowLeft"],["Alt","ArrowDown"]],e=>e.year-=10],[["Control","Shift","ArrowUp"],(e,t)=>t.up()]])),O(this,"handleHotKey",(e=>{let t=this.hotKeys.get(e),i=h(this.getInitialFocusDate());t(i,this.dp);let{year:s,month:a,date:n}=i,r=o(new Date(s,a));r{let e=!1,t=this.pressedKeys.size,i=e=>this.pressedKeys.has(e);for(let[s]of this.hotKeys){if(e)break;if(Array.isArray(s[0]))s.forEach((a=>{e||t!==a.length||(e=a.every(i)&&s)}));else{if(t!==s.length)continue;e=s.every(i)&&s}}return e})),O(this,"isArrow",(e=>e>=37&&e<=40)),O(this,"onKeyDown",(e=>{let{key:t,which:i}=e,{dp:s,dp:{focusDate:a},opts:n}=this;this.registerKey(t);let r=this.isHotKeyPressed();if(r)return e.preventDefault(),void this.handleHotKey(r);if(this.isArrow(i))return e.preventDefault(),void this.focusNextCell(t);if("Enter"===t){if(s.currentView!==n.minView)return void s.down();if(a){let e=s._checkIfDateIsSelected(a);return void(e?s._handleAlreadySelectedDates(e,a):s.selectDate(a))}}"Escape"===t&&this.dp.hide()})),O(this,"onKeyUp",(e=>{this.removeKey(e.key)})),this.dp=t,this.opts=i,this.init()}init(){this.bindKeyboardEvents()}bindKeyboardEvents(){let{$el:e}=this.dp;e.addEventListener("keydown",this.onKeyDown),e.addEventListener("keyup",this.onKeyUp)}destroy(){let{$el:e}=this.dp;e.removeEventListener("keydown",this.onKeyDown),e.removeEventListener("keyup",this.onKeyUp),this.hotKeys=null,this.pressedKeys=null}getInitialFocusDate(){let{focusDate:e,currentView:t,selectedDates:s,parsedViewDate:{year:a,month:n}}=this.dp,r=e||s[s.length-1];if(!r)switch(t){case i.days:r=new Date(a,n,(new Date).getDate());break;case i.months:r=new Date(a,n,1);break;case i.years:r=new Date(a,0,1)}return r}focusNextCell(e){let t=this.getInitialFocusDate(),{currentView:s}=this.dp,{days:a,months:n,years:r}=i,o=h(t),l=o.year,d=o.month,c=o.date;switch(e){case"ArrowLeft":s===a&&(c-=1),s===n&&(d-=1),s===r&&(l-=1);break;case"ArrowUp":s===a&&(c-=7),s===n&&(d-=3),s===r&&(l-=4);break;case"ArrowRight":s===a&&(c+=1),s===n&&(d+=1),s===r&&(l+=1);break;case"ArrowDown":s===a&&(c+=7),s===n&&(d+=3),s===r&&(l+=4)}let u=this.dp.getClampedDate(new Date(l,d,c));this.dp.setFocusDate(u,{viewDateTransition:!0})}registerKey(e){this.pressedKeys.add(e)}removeKey(e){this.pressedKeys.delete(e)}}let N={on(e,t){this.__events||(this.__events={}),this.__events[e]?this.__events[e].push(t):this.__events[e]=[t]},off(e,t){this.__events&&this.__events[e]&&(this.__events[e]=this.__events[e].filter((e=>e!==t)))},removeAllEvents(){this.__events={}},trigger(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),s=1;s{e(...i)}))}};function I(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var s=i.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}let P="",j="",B=!1;class R{static buildGlobalContainer(e){B=!0,P=n({className:e,id:e}),a("body").appendChild(P)}constructor(e,t){var r=this;if(I(this,"viewIndexes",[i.days,i.months,i.years]),I(this,"next",(()=>{let{year:e,month:t}=this.parsedViewDate;switch(this.currentView){case i.days:this.setViewDate(new Date(e,t+1,1));break;case i.months:this.setViewDate(new Date(e+1,t,1));break;case i.years:this.setViewDate(new Date(e+10,0,1))}})),I(this,"prev",(()=>{let{year:e,month:t}=this.parsedViewDate;switch(this.currentView){case i.days:this.setViewDate(new Date(e,t-1,1));break;case i.months:this.setViewDate(new Date(e-1,t,1));break;case i.years:this.setViewDate(new Date(e-10,0,1))}})),I(this,"_finishHide",(()=>{this.hideAnimation=!1,this._destroyComponents(),this.$container.removeChild(this.$datepicker)})),I(this,"setPosition",(function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if("function"==typeof(e=e||r.opts.position))return void(r.customHide=e({$datepicker:r.$datepicker,$target:r.$el,$pointer:r.$pointer,isViewChange:t,done:r._finishHide}));let i,s,{isMobile:a}=r.opts,n=r.$el.getBoundingClientRect(),o=r.$el.getBoundingClientRect(),h=r.$datepicker.offsetParent,l=r.$el.offsetParent,d=r.$datepicker.getBoundingClientRect(),c=e.split(" "),u=window.scrollY,p=window.scrollX,m=r.opts.offset,v=c[0],g=c[1];if(a)r.$datepicker.style.cssText="left: 50%; top: 50%";else{if(h===l&&h!==document.body&&(o={top:r.$el.offsetTop,left:r.$el.offsetLeft,width:n.width,height:r.$el.offsetHeight},u=0,p=0),h!==l&&h!==document.body){let e=h.getBoundingClientRect();o={top:n.top-e.top,left:n.left-e.left,width:n.width,height:n.height},u=0,p=0}switch(v){case"top":i=o.top-d.height-m;break;case"right":s=o.left+o.width+m;break;case"bottom":i=o.top+o.height+m;break;case"left":s=o.left-d.width-m}switch(g){case"top":i=o.top;break;case"right":s=o.left+o.width-d.width;break;case"bottom":i=o.top+o.height-d.height;break;case"left":s=o.left;break;case"center":/left|right/.test(v)?i=o.top+o.height/2-d.height/2:s=o.left+o.width/2-d.width/2}r.$datepicker.style.cssText=`left: ${s+p}px; top: ${i+u}px`}})),I(this,"_setInputValue",(()=>{let{opts:e,$altField:t,locale:{dateFormat:i}}=this,{altFieldDateFormat:s,altField:a}=e;a&&t&&(t.value=this._getInputValue(s)),this.$el.value=this._getInputValue(i)})),I(this,"_getInputValue",(e=>{let{selectedDates:t,opts:i}=this,{multipleDates:s,multipleDatesSeparator:a}=i;if(!t.length)return"";let n="function"==typeof e,r=n?e(s?t:t[0]):t.map((t=>this.formatDate(t,e)));return r=n?r:r.join(a),r})),I(this,"_checkIfDateIsSelected",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.days,s=!1;return r.selectedDates.some((i=>{let a=p(e,i,t);return s=a&&i,a})),s})),I(this,"_scheduleCallAfterTransition",(e=>{this._cancelScheduledCall(),e&&e(!1),this._onTransitionEnd=()=>{e&&e(!0)},this.$datepicker.addEventListener("transitionend",this._onTransitionEnd,{once:!0})})),I(this,"_cancelScheduledCall",(()=>{this.$datepicker.removeEventListener("transitionend",this._onTransitionEnd)})),I(this,"setViewDate",(e=>{if(!((e=b(e))instanceof Date))return;if(p(e,this.viewDate))return;let t=this.viewDate;this.viewDate=e;let{onChangeViewDate:s}=this.opts;if(s){let{month:e,year:t}=this.parsedViewDate;s({month:e,year:t,decade:this.curDecade})}this.trigger(i.eventChangeViewDate,e,t)})),I(this,"setFocusDate",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(!e||(e=b(e))instanceof Date)&&(r.focusDate=e,r.trigger(i.eventChangeFocusDate,e,t))})),I(this,"setCurrentView",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(r.viewIndexes.includes(e)){if(r.currentView=e,r.elIsInput&&r.visible&&r.setPosition(void 0,!0),r.trigger(i.eventChangeCurrentView,e),!r.views[e]){let t=r.views[e]=new T({dp:r,opts:r.opts,type:e});r.shouldUpdateDOM&&r.$content.appendChild(t.$el)}r.opts.onChangeView&&!t.silent&&r.opts.onChangeView(e)}})),I(this,"_updateLastSelectedDate",(e=>{this.lastSelectedDate=e,this.trigger(i.eventChangeLastSelectedDate,e)})),I(this,"destroy",(()=>{if(this.isDestroyed)return;let{showEvent:e,isMobile:t}=this.opts,i=this.$datepicker.parentNode;i&&i.removeChild(this.$datepicker),this.$el.removeEventListener(e,this._onFocus),this.$el.removeEventListener("blur",this._onBlur),window.removeEventListener("resize",this._onResize),t&&this._removeMobileAttributes(),this.keyboardNav&&this.keyboardNav.destroy(),this.views=null,this.nav=null,this.$datepicker=null,this.opts={},this.$customContainer=null,this.viewDate=null,this.focusDate=null,this.selectedDates=[],this.rangeDateFrom=null,this.rangeDateTo=null,this.isDestroyed=!0})),I(this,"update",(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=w({},r.opts),{silent:a}=t;w(r.opts,e);let{timepicker:n,buttons:o,range:h,selectedDates:l,isMobile:d}=r.opts,c=r.visible||r.treatAsInline;r._createMinMaxDates(),r._limitViewDateByMaxMinDates(),r._handleLocale(),l&&(r.selectedDates=[],r.selectDate(l,{silent:a})),e.view&&r.setCurrentView(e.view,{silent:a}),r._setInputValue(),s.range&&!h?(r.rangeDateTo=!1,r.rangeDateFrom=!1):!s.range&&h&&r.selectedDates.length&&(r.rangeDateFrom=r.selectedDates[0],r.rangeDateTo=r.selectedDates[1]),s.timepicker&&!n?(c&&r.timepicker.destroy(),r.timepicker=!1,r.$timepicker.parentNode.removeChild(r.$timepicker)):!s.timepicker&&n&&r._addTimepicker(),!s.buttons&&o?r._addButtons():s.buttons&&!o?(r.buttons.destroy(),r.$buttons.parentNode.removeChild(r.$buttons)):c&&s.buttons&&o&&r.buttons.clearHtml().render(),!s.isMobile&&d?(r.treatAsInline||j||r._createMobileOverlay(),r._addMobileAttributes(),r.visible&&r._showMobileOverlay()):s.isMobile&&!d&&(r._removeMobileAttributes(),r.visible&&(j.classList.remove("-active-"),"function"!=typeof r.opts.position&&r.setPosition())),c&&(r.nav.update(),r.views[r.currentView].render(),r.currentView===i.days&&r.views[r.currentView].renderDayNames())})),I(this,"disableDate",((e,t)=>{(Array.isArray(e)?e:[e]).forEach((e=>{let i=b(e);if(!i)return;let s=t?"delete":"add";this.disabledDates[s](this.formatDate(i,"yyyy-MM-dd"));let a=this.getCell(i,this.currentViewSingular);a&&a.adpCell.render()}),[])})),I(this,"enableDate",(e=>{this.disableDate(e,!0)})),I(this,"isDateDisabled",(e=>{let t=b(e);return this.disabledDates.has(this.formatDate(t,"yyyy-MM-dd"))})),I(this,"isOtherMonth",(e=>{let{month:t}=h(e);return t!==this.parsedViewDate.month})),I(this,"isOtherYear",(e=>{let{year:t}=h(e);return t!==this.parsedViewDate.year})),I(this,"isOtherDecade",(e=>{let{year:t}=h(e),[i,s]=c(this.viewDate);return ts})),I(this,"_onChangeSelectedDate",(e=>{let{silent:t}=e;setTimeout((()=>{this._setInputValue(),this.opts.onSelect&&!t&&this._triggerOnSelect()}))})),I(this,"_onChangeFocusedDate",(function(e){let{viewDateTransition:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)return;let i=!1;t&&(i=r.isOtherMonth(e)||r.isOtherYear(e)||r.isOtherDecade(e)),i&&r.setViewDate(e),r.opts.onFocus&&r.opts.onFocus({datepicker:r,date:e})})),I(this,"_onChangeTime",(e=>{let{hours:t,minutes:i}=e,s=new Date,{lastSelectedDate:a,opts:{onSelect:n}}=this,r=a;a||(r=s);let o=this.getCell(r,this.currentViewSingular),h=o&&o.adpCell;h&&h.isDisabled||(r.setHours(t),r.setMinutes(i),a?(this._setInputValue(),n&&this._triggerOnSelect()):this.selectDate(r))})),I(this,"_onFocus",(e=>{this.visible||this.show()})),I(this,"_onBlur",(e=>{this.inFocus||!this.visible||this.opts.isMobile||this.hide()})),I(this,"_onMouseDown",(e=>{this.inFocus=!0})),I(this,"_onMouseUp",(e=>{this.inFocus=!1,this.$el.focus()})),I(this,"_onResize",(()=>{this.visible&&"function"!=typeof this.opts.position&&this.setPosition()})),I(this,"_onClickOverlay",(()=>{this.visible&&this.hide()})),I(this,"getViewDates",(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i.days;return T.getDatesFunction(e)(r)})),I(this,"isWeekend",(e=>this.opts.weekends.includes(e))),I(this,"getClampedDate",(e=>{let{minDate:t,maxDate:i}=this,s=e;return i&&m(e,i)?s=i:t&&v(e,t)&&(s=t),s})),this.$el=a(e),!this.$el)return;this.$datepicker=n({className:"air-datepicker"}),this.opts=w({},s,t),this.$customContainer=!!this.opts.container&&a(this.opts.container),this.$altField=a(this.opts.altField||!1);let{view:o,startDate:l}=this.opts;l||(this.opts.startDate=new Date),"INPUT"===this.$el.nodeName&&(this.elIsInput=!0),this.inited=!1,this.visible=!1,this.viewDate=b(this.opts.startDate),this.focusDate=!1,this.initialReadonly=this.$el.getAttribute("readonly"),this.customHide=!1,this.currentView=o,this.selectedDates=[],this.disabledDates=new Set,this.isDestroyed=!1,this.views={},this.keys=[],this.rangeDateFrom="",this.rangeDateTo="",this.timepickerIsActive=!1,this.treatAsInline=this.opts.inline||!this.elIsInput,this.init()}init(){let{opts:e,treatAsInline:t,opts:{inline:i,isMobile:s,selectedDates:n,keyboardNav:r,onlyTimepicker:o}}=this,h=a("body");(!B||B&&P&&!h.contains(P))&&!i&&this.elIsInput&&!this.$customContainer&&R.buildGlobalContainer(R.defaultGlobalContainerId),!s||j||t||this._createMobileOverlay(),this._handleLocale(),this._bindSubEvents(),this._createMinMaxDates(),this._limitViewDateByMaxMinDates(),this.elIsInput&&(i||this._bindEvents(),r&&!o&&(this.keyboardNav=new A({dp:this,opts:e}))),n&&this.selectDate(n,{silent:!0}),this.opts.visible&&!t&&this.show(),s&&!t&&this.$el.setAttribute("readonly",!0),t&&this._createComponents()}_createMobileOverlay(){j=n({className:"air-datepicker-overlay"}),P.appendChild(j)}_createComponents(){let{opts:e,treatAsInline:t,opts:{inline:i,buttons:s,timepicker:a,position:n,classes:r,onlyTimepicker:o,isMobile:h}}=this;this._buildBaseHtml(),this.elIsInput&&(i||this._setPositionClasses(n)),!i&&this.elIsInput||this.$datepicker.classList.add("-inline-"),r&&this.$datepicker.classList.add(...r.split(" ")),o&&this.$datepicker.classList.add("-only-timepicker-"),h&&!t&&this._addMobileAttributes(),this.views[this.currentView]=new T({dp:this,type:this.currentView,opts:e}),this.nav=new V({dp:this,opts:e}),a&&this._addTimepicker(),s&&this._addButtons(),this.$content.appendChild(this.views[this.currentView].$el),this.$nav.appendChild(this.nav.$el)}_destroyComponents(){for(let e in this.views)this.views[e].destroy();this.views={},this.nav.destroy(),this.timepicker&&this.timepicker.destroy()}_addMobileAttributes(){j.addEventListener("click",this._onClickOverlay),this.$datepicker.classList.add("-is-mobile-"),this.$el.setAttribute("readonly",!0)}_removeMobileAttributes(){j.removeEventListener("click",this._onClickOverlay),this.$datepicker.classList.remove("-is-mobile-"),this.initialReadonly||""===this.initialReadonly||this.$el.removeAttribute("readonly")}_createMinMaxDates(){let{minDate:e,maxDate:t}=this.opts;this.minDate=!!e&&b(e),this.maxDate=!!t&&b(t)}_addTimepicker(){this.$timepicker=n({className:"air-datepicker--time"}),this.$datepicker.appendChild(this.$timepicker),this.timepicker=new L({dp:this,opts:this.opts}),this.$timepicker.appendChild(this.timepicker.$el)}_addButtons(){this.$buttons=n({className:"air-datepicker--buttons"}),this.$datepicker.appendChild(this.$buttons),this.buttons=new H({dp:this,opts:this.opts}),this.$buttons.appendChild(this.buttons.$el)}_bindSubEvents(){this.on(i.eventChangeSelectedDate,this._onChangeSelectedDate),this.on(i.eventChangeFocusDate,this._onChangeFocusedDate),this.on(i.eventChangeTime,this._onChangeTime)}_buildBaseHtml(){let{inline:e}=this.opts;var t,i;this.elIsInput?e?(t=this.$datepicker,(i=this.$el).parentNode.insertBefore(t,i.nextSibling)):this.$container.appendChild(this.$datepicker):this.$el.appendChild(this.$datepicker),this.$datepicker.innerHTML='',this.$content=a(".air-datepicker--content",this.$datepicker),this.$pointer=a(".air-datepicker--pointer",this.$datepicker),this.$nav=a(".air-datepicker--navigation",this.$datepicker)}_handleLocale(){let{locale:e,dateFormat:t,firstDay:i,timepicker:s,onlyTimepicker:a,timeFormat:n,dateTimeSeparator:r}=this.opts;var o;this.locale=(o=e,JSON.parse(JSON.stringify(o))),t&&(this.locale.dateFormat=t),void 0!==n&&""!==n&&(this.locale.timeFormat=n);let{timeFormat:h}=this.locale;if(""!==i&&(this.locale.firstDay=i),s&&"function"!=typeof t){let e=h?r:"";this.locale.dateFormat=[this.locale.dateFormat,h||""].join(e)}a&&"function"!=typeof t&&(this.locale.dateFormat=this.locale.timeFormat)}_setPositionClasses(e){if("function"==typeof e)return void this.$datepicker.classList.add("-custom-position-");let t=(e=e.split(" "))[0],i=`air-datepicker -${t}-${e[1]}- -from-${t}-`;this.$datepicker.classList.add(...i.split(" "))}_bindEvents(){this.$el.addEventListener(this.opts.showEvent,this._onFocus),this.$el.addEventListener("blur",this._onBlur),this.$datepicker.addEventListener("mousedown",this._onMouseDown),this.$datepicker.addEventListener("mouseup",this._onMouseUp),window.addEventListener("resize",this._onResize)}_limitViewDateByMaxMinDates(){let{viewDate:e,minDate:t,maxDate:i}=this;i&&m(e,i)&&this.setViewDate(i),t&&v(e,t)&&this.setViewDate(t)}formatDate(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.viewDate,t=arguments.length>1?arguments[1]:void 0;if(e=b(e),!(e instanceof Date))return;let i=t,s=this.locale,a=h(e),n=a.dayPeriod,r=c(e),o=R.replacer,l={T:e.getTime(),m:a.minutes,mm:a.fullMinutes,h:a.hours12,hh:a.fullHours12,H:a.hours,HH:a.fullHours,aa:n,AA:n.toUpperCase(),E:s.daysShort[a.day],EEEE:s.days[a.day],d:a.date,dd:a.fullDate,M:a.month+1,MM:a.fullMonth,MMM:s.monthsShort[a.month],MMMM:s.months[a.month],yy:a.year.toString().slice(-2),yyyy:a.year,yyyy1:r[0],yyyy2:r[1]};for(let[e,t]of Object.entries(l))i=o(i,k(e),t);return i}down(e){this._handleUpDownActions(e,"down")}up(e){this._handleUpDownActions(e,"up")}selectDate(e){let t,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{currentView:a,parsedViewDate:n,selectedDates:r}=this,{updateTime:o}=s,{moveToOtherMonthsOnSelect:h,moveToOtherYearsOnSelect:l,multipleDates:d,range:c,autoClose:u,onBeforeSelect:p}=this.opts,v=r.length;if(Array.isArray(e))return e.forEach((e=>{this.selectDate(e,s)})),new Promise((e=>{setTimeout(e)}));if((e=b(e))instanceof Date){if(p&&!p({date:e,datepicker:this}))return Promise.resolve();if(a===i.days&&e.getMonth()!==n.month&&h&&(t=new Date(e.getFullYear(),e.getMonth(),1)),a===i.years&&e.getFullYear()!==n.year&&l&&(t=new Date(e.getFullYear(),0,1)),t&&this.setViewDate(t),d&&!c){if(v===d)return;this._checkIfDateIsSelected(e)||r.push(e)}else if(c)switch(v){case 1:r.push(e),this.rangeDateTo||(this.rangeDateTo=e),m(this.rangeDateFrom,this.rangeDateTo)&&(this.rangeDateTo=this.rangeDateFrom,this.rangeDateFrom=e),this.selectedDates=[this.rangeDateFrom,this.rangeDateTo];break;case 2:this.selectedDates=[e],this.rangeDateFrom=e,this.rangeDateTo="";break;default:this.selectedDates=[e],this.rangeDateFrom=e}else this.selectedDates=[e];return this.trigger(i.eventChangeSelectedDate,{action:i.actionSelectDate,silent:null==s?void 0:s.silent,date:e,updateTime:o}),this._updateLastSelectedDate(e),u&&!this.timepickerIsActive&&this.visible&&(d||c?c&&1===v&&this.hide():this.hide()),new Promise((e=>{setTimeout(e)}))}}unselectDate(e){let t=this.selectedDates,s=this;if((e=b(e))instanceof Date)return t.some(((a,n)=>{if(p(a,e))return t.splice(n,1),s.selectedDates.length?(s.rangeDateTo="",s.rangeDateFrom=t[0],s._updateLastSelectedDate(s.selectedDates[s.selectedDates.length-1])):(s.rangeDateFrom="",s.rangeDateTo="",s._updateLastSelectedDate(!1)),this.trigger(i.eventChangeSelectedDate,{action:i.actionUnselectDate,date:e}),!0}))}replaceDate(e,t){let s=this.selectedDates.find((t=>p(t,e,this.currentView))),a=this.selectedDates.indexOf(s);a<0||p(this.selectedDates[a],t,this.currentView)||(this.selectedDates[a]=t,this.trigger(i.eventChangeSelectedDate,{action:i.actionSelectDate,date:t,updateTime:!0}),this._updateLastSelectedDate(t))}clear(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.selectedDates=[],this.rangeDateFrom=!1,this.rangeDateTo=!1,this.lastSelectedDate=!1,this.trigger(i.eventChangeSelectedDate,{action:i.actionUnselectDate,silent:e.silent}),new Promise((e=>{setTimeout(e)}))}show(){let{onShow:e,isMobile:t}=this.opts;this._cancelScheduledCall(),this.visible||this.hideAnimation||this._createComponents(),this.setPosition(this.opts.position),this.$datepicker.classList.add("-active-"),this.visible=!0,e&&this._scheduleCallAfterTransition(e),t&&this._showMobileOverlay()}hide(){let{onHide:e,isMobile:t}=this.opts,i=this._hasTransition();this.visible=!1,this.hideAnimation=!0,this.$datepicker.classList.remove("-active-"),this.customHide&&this.customHide(),this.elIsInput&&this.$el.blur(),this._scheduleCallAfterTransition((t=>{!this.customHide&&(t&&i||!t&&!i)&&this._finishHide(),e&&e(t)})),t&&j.classList.remove("-active-")}_triggerOnSelect(){let e=[],t=[],{selectedDates:i,locale:s,opts:{onSelect:a,multipleDates:n,range:r}}=this,o=n||r,h="function"==typeof s.dateFormat;i.length&&(e=i.map(g),t=h?n?s.dateFormat(e):e.map((e=>s.dateFormat(e))):e.map((e=>this.formatDate(e,s.dateFormat)))),a({date:o?e:e[0],formattedDate:o?t:t[0],datepicker:this})}_handleAlreadySelectedDates(e,t){let{selectedDates:i,rangeDateFrom:s,rangeDateTo:a}=this,{range:n,toggleSelected:r}=this.opts,o=i.length,h="function"==typeof r?r({datepicker:this,date:t}):r,l=Boolean(n&&1===o&&e),d=l?g(t):t;n&&!h&&(2!==o&&this.selectDate(d),2===o&&p(s,a))||(h?this.unselectDate(d):this._updateLastSelectedDate(l?d:e))}_handleUpDownActions(e,t){if(!((e=b(e||this.focusDate||this.viewDate))instanceof Date))return;let i="up"===t?this.viewIndex+1:this.viewIndex-1;i>2&&(i=2),i<0&&(i=0),this.setViewDate(new Date(e.getFullYear(),e.getMonth(),1)),this.setCurrentView(this.viewIndexes[i])}getCell(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.day;if(!((e=b(e))instanceof Date))return;let{year:s,month:a,date:n}=h(e),r=`[data-year="${s}"]`,o=`[data-month="${a}"]`,l={[i.day]:`${r}${o}[data-date="${n}"]`,[i.month]:`${r}${o}`,[i.year]:`${r}`};return this.views[this.currentView]?this.views[this.currentView].$el.querySelector(l[t]):void 0}_showMobileOverlay(){j.classList.add("-active-")}_hasTransition(){return window.getComputedStyle(this.$datepicker).getPropertyValue("transition-duration").split(", ").reduce(((e,t)=>parseFloat(t)+e),0)>0}get shouldUpdateDOM(){return this.visible||this.treatAsInline}get parsedViewDate(){return h(this.viewDate)}get currentViewSingular(){return this.currentView.slice(0,-1)}get curDecade(){return c(this.viewDate)}get viewIndex(){return this.viewIndexes.indexOf(this.currentView)}get isFinalView(){return this.currentView===i.years}get hasSelectedDates(){return this.selectedDates.length>0}get isMinViewReached(){return this.currentView===this.opts.minView||this.currentView===i.days}get $container(){return this.$customContainer||P}static replacer(e,t,i){return e.replace(t,(function(e,t,s,a){return t+i+a}))}}var K;return I(R,"defaults",s),I(R,"version","3.5.3"),I(R,"defaultGlobalContainerId","air-datepicker-global-container"),K=R.prototype,Object.assign(K,N),t.default}()}));
\ No newline at end of file
+!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.AirDatepicker=t():e.AirDatepicker=t()}(this,(function(){return function(){"use strict";var e={d:function(t,i){for(var s in i)e.o(i,s)&&!e.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:i[s]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{default:function(){return R}});var i={days:"days",months:"months",years:"years",day:"day",month:"month",year:"year",eventChangeViewDate:"changeViewDate",eventChangeCurrentView:"changeCurrentView",eventChangeFocusDate:"changeFocusDate",eventChangeSelectedDate:"changeSelectedDate",eventChangeTime:"changeTime",eventChangeLastSelectedDate:"changeLastSelectedDate",actionSelectDate:"selectDate",actionUnselectDate:"unselectDate",cssClassWeekend:"-weekend-"},s={classes:"",inline:!1,locale:{days:["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"],daysShort:["Вос","Пон","Вто","Сре","Чет","Пят","Суб"],daysMin:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],today:"Сегодня",clear:"Очистить",dateFormat:"dd.MM.yyyy",timeFormat:"HH:mm",firstDay:1},startDate:new Date,firstDay:"",weekends:[6,0],dateFormat:"",altField:"",altFieldDateFormat:"T",toggleSelected:!0,keyboardNav:!0,selectedDates:!1,container:"",isMobile:!1,visible:!1,position:"bottom left",offset:12,view:i.days,minView:i.days,showOtherMonths:!0,selectOtherMonths:!0,moveToOtherMonthsOnSelect:!0,showOtherYears:!0,selectOtherYears:!0,moveToOtherYearsOnSelect:!0,minDate:"",maxDate:"",disableNavWhenOutOfRange:!0,multipleDates:!1,multipleDatesSeparator:", ",range:!1,dynamicRange:!0,buttons:!1,monthsField:"monthsShort",showEvent:"focus",autoClose:!1,fixedHeight:!1,prevHtml:'',nextHtml:'',navTitles:{days:"MMMM, yyyy",months:"yyyy",years:"yyyy1 - yyyy2"},timepicker:!1,onlyTimepicker:!1,dateTimeSeparator:" ",timeFormat:"",minHours:0,maxHours:24,minMinutes:0,maxMinutes:59,hoursStep:1,minutesStep:1,onSelect:!1,onChangeViewDate:!1,onChangeView:!1,onRenderCell:!1,onShow:!1,onHide:!1,onClickDayName:!1};function a(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return"string"==typeof e?t.querySelector(e):e}function n(){let{tagName:e="div",className:t="",innerHtml:i="",id:s="",attrs:a={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=document.createElement(e);return t&&n.classList.add(...t.split(" ")),s&&(n.id=s),i&&(n.innerHTML=i),a&&r(n,a),n}function r(e,t){for(let[i,s]of Object.entries(t))void 0!==s&&e.setAttribute(i,s);return e}function o(e){return new Date(e.getFullYear(),e.getMonth()+1,0).getDate()}function h(e){let t=e.getHours(),{hours:i,dayPeriod:s}=l(t);return{year:e.getFullYear(),month:e.getMonth(),fullMonth:e.getMonth()+1<10?"0"+(e.getMonth()+1):e.getMonth()+1,date:e.getDate(),fullDate:e.getDate()<10?"0"+e.getDate():e.getDate(),day:e.getDay(),hours:t,fullHours:d(t),hours12:i,dayPeriod:s,fullHours12:d(i),minutes:e.getMinutes(),fullMinutes:e.getMinutes()<10?"0"+e.getMinutes():e.getMinutes()}}function l(e){return{dayPeriod:e>11?"pm":"am",hours:e%12==0?12:e%12}}function d(e){return e<10?"0"+e:e}function c(e){let t=10*Math.floor(e.getFullYear()/10);return[t,t+9]}function u(){let e=[];for(var t=arguments.length,i=new Array(t),s=0;s{if("object"==typeof t)for(let i in t)t[i]&&e.push(i);else t&&e.push(t)})),e.join(" ")}function p(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.days;if(!e||!t)return!1;let a=h(e),n=h(t);return{[i.days]:a.date===n.date&&a.month===n.month&&a.year===n.year,[i.months]:a.month===n.month&&a.year===n.year,[i.years]:a.year===n.year}[s]}function m(e,t,i){let s=g(e,!1).getTime(),a=g(t,!1).getTime();return i?s>=a:s>a}function v(e,t){return!m(e,t,!0)}function g(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=new Date(e.getTime());return"boolean"!=typeof t||t||function(e){e.setHours(0,0,0,0)}(i),i}function D(e,t,i){e.length?e.forEach((e=>{e.addEventListener(t,i)})):e.addEventListener(t,i)}function y(e,t){return!(!e||e===document||e instanceof DocumentFragment)&&(e.matches(t)?e:y(e.parentNode,t))}function f(e,t,i){return e>i?i:e1?t-1:0),s=1;se)).forEach((t=>{for(let[i,s]of Object.entries(t))if(void 0!==s&&"[object Object]"===s.toString()){let t=void 0!==e[i]?e[i].toString():void 0,a=s.toString(),n=Array.isArray(s)?[]:{};e[i]=e[i]?t!==a?n:e[i]:n,w(e[i],s)}else e[i]=s})),e}function b(e){let t=e;return e instanceof Date||("string"==typeof e&&/^\d{4}-\d{2}-\d{2}$/.test(e)&&(e+="T00:00:00"),t=new Date(e)),isNaN(t.getTime())&&(console.log(`Unable to convert value "${e}" to Date object`),t=!1),t}function k(e){let t="\\s|\\.|-|/|\\\\|,|\\$|\\!|\\?|:|;";return new RegExp("(^|>|"+t+")("+e+")($|<|"+t+")","g")}function $(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var s=i.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class C{constructor(){let{type:e,date:t,dp:i,opts:s,body:a}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};$(this,"focus",(()=>{this.$cell.classList.add("-focus-"),this.focused=!0})),$(this,"removeFocus",(()=>{this.$cell.classList.remove("-focus-"),this.focused=!1})),$(this,"select",(()=>{this.$cell.classList.add("-selected-"),this.selected=!0})),$(this,"removeSelect",(()=>{this.$cell.classList.remove("-selected-","-range-from-","-range-to-"),this.selected=!1})),$(this,"onChangeSelectedDate",(()=>{this.isDisabled||(this._handleSelectedStatus(),this.opts.range&&this._handleRangeStatus())})),$(this,"onChangeFocusDate",(e=>{if(!e)return void(this.focused&&this.removeFocus());let t=p(e,this.date,this.type);t?this.focus():!t&&this.focused&&this.removeFocus(),this.opts.range&&this._handleRangeStatus()})),$(this,"render",(()=>(this.$cell.innerHTML=this._getHtml(),this._handleClasses(),this.$cell))),this.type=e,this.singleType=this.type.slice(0,-1),this.date=t,this.dp=i,this.opts=s,this.body=a,this.customData=!1,this.init()}init(){var e;let{onRenderCell:t}=this.opts;t&&(this.customData=t({date:this.date,cellType:this.singleType,datepicker:this.dp})),this._createElement(),this._bindDatepickerEvents(),null!==(e=this.customData)&&void 0!==e&&e.disabled&&this.dp.disableDate(this.date)}_bindDatepickerEvents(){this.dp.on(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.on(i.eventChangeFocusDate,this.onChangeFocusDate)}unbindDatepickerEvents(){this.dp.off(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.off(i.eventChangeFocusDate,this.onChangeFocusDate)}_createElement(){var e;let{year:t,month:i,date:s}=h(this.date),a=(null===(e=this.customData)||void 0===e?void 0:e.attrs)||{};this.$cell=n({attrs:{"data-year":t,"data-month":i,"data-date":s,...a}}),this.$cell.adpCell=this}_getClassName(){var e;let t=new Date,{selectOtherMonths:s,selectOtherYears:a}=this.opts,{minDate:n,maxDate:r,isDateDisabled:o}=this.dp,{day:l}=h(this.date),d=this._isOutOfMinMaxRange(),c=o(this.date),m=u("air-datepicker-cell",`-${this.singleType}-`,{"-current-":p(t,this.date,this.type),"-min-date-":n&&p(n,this.date,this.type),"-max-date-":r&&p(r,this.date,this.type)}),v="";switch(this.type){case i.days:v=u({"-weekend-":this.dp.isWeekend(l),"-other-month-":this.isOtherMonth,"-disabled-":this.isOtherMonth&&!s||d||c});break;case i.months:v=u({"-disabled-":d});break;case i.years:v=u({"-other-decade-":this.isOtherDecade,"-disabled-":d||this.isOtherDecade&&!a})}return u(m,v,null===(e=this.customData)||void 0===e?void 0:e.classes).split(" ")}_getHtml(){var e;let{year:t,month:s,date:a}=h(this.date),{showOtherMonths:n,showOtherYears:r}=this.opts;if(null!==(e=this.customData)&&void 0!==e&&e.html)return this.customData.html;switch(this.type){case i.days:return!n&&this.isOtherMonth?"":a;case i.months:return this.dp.locale[this.opts.monthsField][s];case i.years:return!r&&this.isOtherDecade?"":t}}_isOutOfMinMaxRange(){let{minDate:e,maxDate:t}=this.dp,{type:s,date:a}=this,{month:n,year:r,date:o}=h(a),l=s===i.days,d=s===i.years,c=!!e&&new Date(r,d?e.getMonth():n,l?o:e.getDate()),u=!!t&&new Date(r,d?t.getMonth():n,l?o:t.getDate());return e&&t?v(c,e)||m(u,t):e?v(c,e):t?m(u,t):void 0}destroy(){this.unbindDatepickerEvents()}_handleRangeStatus(){const{selectedDates:e,focusDate:t,rangeDateTo:i,rangeDateFrom:s}=this.dp,a=e.length;if(!a)return;let n=s,r=i;if(1===a&&t){const i=m(t,e[0]);n=i?e[0]:t,r=i?t:e[0]}let o=u({"-in-range-":n&&r&&(h=this.date,l=n,d=r,m(h,l)&&v(h,d)),"-range-from-":n&&p(this.date,n,this.type),"-range-to-":r&&p(this.date,r,this.type)});var h,l,d;this.$cell.classList.remove("-range-from-","-range-to-","-in-range-"),o&&this.$cell.classList.add(...o.split(" "))}_handleSelectedStatus(){let e=this.dp._checkIfDateIsSelected(this.date,this.type);e?this.select():!e&&this.selected&&this.removeSelect()}_handleInitialFocusStatus(){p(this.dp.focusDate,this.date,this.type)&&this.focus()}_handleClasses(){this.$cell.setAttribute("class",""),this._handleInitialFocusStatus(),this.dp.hasSelectedDates&&(this._handleSelectedStatus(),this.dp.opts.range&&this._handleRangeStatus()),this.$cell.classList.add(...this._getClassName())}get isDisabled(){return this.$cell.matches(".-disabled-")}get isOtherMonth(){return this.dp.isOtherMonth(this.date)}get isOtherDecade(){return this.dp.isOtherDecade(this.date)}}function _(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var s=i.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}let M={[i.days]:``,[i.months]:``,[i.years]:``};const S=".air-datepicker-cell";class T{constructor(e){let{dp:t,type:s,opts:a}=e;_(this,"handleClick",(e=>{let t=e.target.closest(S).adpCell;if(t.isDisabled)return;if(!this.dp.isMinViewReached)return void this.dp.down();let i=this.dp._checkIfDateIsSelected(t.date,t.type);i?this.dp._handleAlreadySelectedDates(i,t.date):this.dp.selectDate(t.date)})),_(this,"handleDayNameClick",(e=>{let t=e.target.getAttribute("data-day-index");this.opts.onClickDayName({dayIndex:Number(t),datepicker:this.dp})})),_(this,"onChangeCurrentView",(e=>{e!==this.type?this.hide():(this.show(),this.render())})),_(this,"onMouseOverCell",(e=>{let t=y(e.target,S);this.dp.setFocusDate(!!t&&t.adpCell.date)})),_(this,"onMouseOutCell",(()=>{this.dp.setFocusDate(!1)})),_(this,"onClickBody",(e=>{let{onClickDayName:t}=this.opts,i=e.target;i.closest(S)&&this.handleClick(e),t&&i.closest(".air-datepicker-body--day-name")&&this.handleDayNameClick(e)})),_(this,"onMouseDown",(e=>{this.pressed=!0;let t=y(e.target,S),i=t&&t.adpCell;p(i.date,this.dp.rangeDateFrom)&&(this.rangeFromFocused=!0),p(i.date,this.dp.rangeDateTo)&&(this.rangeToFocused=!0)})),_(this,"onMouseMove",(e=>{if(!this.pressed||!this.dp.isMinViewReached)return;e.preventDefault();let t=y(e.target,S),i=t&&t.adpCell,{selectedDates:s,rangeDateTo:a,rangeDateFrom:n}=this.dp;if(!i||i.isDisabled)return;let{date:r}=i;if(2===s.length){if(this.rangeFromFocused&&!m(r,a)){let{hours:e,minutes:t}=h(n);r.setHours(e),r.setMinutes(t),this.dp.rangeDateFrom=r,this.dp.replaceDate(n,r)}if(this.rangeToFocused&&!v(r,n)){let{hours:e,minutes:t}=h(a);r.setHours(e),r.setMinutes(t),this.dp.rangeDateTo=r,this.dp.replaceDate(a,r)}}})),_(this,"onMouseUp",(()=>{this.pressed=!1,this.rangeFromFocused=!1,this.rangeToFocused=!1})),_(this,"onChangeViewDate",((e,t)=>{if(!this.isVisible)return;let s=c(e),a=c(t);switch(this.dp.currentView){case i.days:if(p(e,t,i.months))return;break;case i.months:if(p(e,t,i.years))return;break;case i.years:if(s[0]===a[0]&&s[1]===a[1])return}this.render()})),_(this,"render",(()=>{this.destroyCells(),this._generateCells(),this.cells.forEach((e=>{this.$cells.appendChild(e.render())}))})),this.dp=t,this.type=s,this.opts=a,this.cells=[],this.$el="",this.pressed=!1,this.isVisible=!0,this.init()}init(){this._buildBaseHtml(),this.type===i.days&&this.renderDayNames(),this.render(),this._bindEvents(),this._bindDatepickerEvents()}_bindEvents(){let{range:e,dynamicRange:t}=this.opts;D(this.$el,"mouseover",this.onMouseOverCell),D(this.$el,"mouseout",this.onMouseOutCell),D(this.$el,"click",this.onClickBody),e&&t&&(D(this.$el,"mousedown",this.onMouseDown),D(this.$el,"mousemove",this.onMouseMove),D(window.document,"mouseup",this.onMouseUp))}_bindDatepickerEvents(){this.dp.on(i.eventChangeViewDate,this.onChangeViewDate),this.dp.on(i.eventChangeCurrentView,this.onChangeCurrentView)}_buildBaseHtml(){this.$el=n({className:`air-datepicker-body -${this.type}-`,innerHtml:M[this.type]}),this.$names=a(".air-datepicker-body--day-names",this.$el),this.$cells=a(".air-datepicker-body--cells",this.$el)}_getDayNamesHtml(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.dp.locale.firstDay,t="",s=this.dp.isWeekend,{onClickDayName:a}=this.opts,n=e,r=0;for(;r<7;){let e=n%7;t+=`${this.dp.locale.daysMin[e]}
`,r++,n++}return t}renderDayNames(){this.$names.innerHTML=this._getDayNamesHtml()}_generateCell(e){let{type:t,dp:i,opts:s}=this;return new C({type:t,dp:i,opts:s,date:e,body:this})}_generateCells(){T.getDatesFunction(this.type)(this.dp,(e=>{this.cells.push(this._generateCell(e))}))}show(){this.isVisible=!0,this.$el.classList.remove("-hidden-")}hide(){this.isVisible=!1,this.$el.classList.add("-hidden-")}destroyCells(){this.cells.forEach((e=>e.destroy())),this.cells=[],this.$cells.innerHTML=""}destroy(){this.destroyCells(),this.dp.off(i.eventChangeViewDate,this.onChangeViewDate),this.dp.off(i.eventChangeCurrentView,this.onChangeCurrentView)}static getDaysDates(e,t){let{viewDate:i,opts:{fixedHeight:s},locale:{firstDay:a}}=e,n=o(i),{year:r,month:l}=h(i),d=new Date(r,l,1),c=new Date(r,l,n),u=d.getDay()-a,p=6-c.getDay()+a;u=u<0?u+7:u,p=p>6?p-7:p;let m=function(e,t){let{year:i,month:s,date:a}=h(e);return new Date(i,s,a-t)}(d,u),v=n+u+p,g=m.getDate(),{year:D,month:y}=h(m),f=0;s&&(v=42);const w=[];for(;f0&&void 0!==arguments[0]?arguments[0]:i.days;return{[i.days]:T.getDaysDates,[i.months]:T.getMonthsDates,[i.years]:T.getYearsDates}[e]}}function F(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var s=i.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class V{constructor(e){let{dp:t,opts:i}=e;F(this,"onClickNav",(e=>{let t=y(e.target,".air-datepicker-nav--action");if(!t)return;let i=t.dataset.action;this.dp[i]()})),F(this,"onChangeViewDate",(()=>{this.render(),this._resetNavStatus(),this.handleNavStatus()})),F(this,"onChangeCurrentView",(()=>{this.render(),this._resetNavStatus(),this.handleNavStatus()})),F(this,"onClickNavTitle",(()=>{this.dp.isFinalView||this.dp.up()})),F(this,"update",(()=>{let{prevHtml:e,nextHtml:t}=this.opts;this.$prev.innerHTML=e,this.$next.innerHTML=t,this._resetNavStatus(),this.render(),this.handleNavStatus()})),F(this,"renderDelay",(()=>{setTimeout(this.render)})),F(this,"render",(()=>{this.$title.innerHTML=this._getTitle(),function(e,t){for(let i in t)t[i]?e.classList.add(i):e.classList.remove(i)}(this.$title,{"-disabled-":this.dp.isFinalView})})),this.dp=t,this.opts=i,this.init()}init(){this._createElement(),this._buildBaseHtml(),this._defineDOM(),this.render(),this.handleNavStatus(),this._bindEvents(),this._bindDatepickerEvents()}_defineDOM(){this.$title=a(".air-datepicker-nav--title",this.$el),this.$prev=a('[data-action="prev"]',this.$el),this.$next=a('[data-action="next"]',this.$el)}_bindEvents(){this.$el.addEventListener("click",this.onClickNav),this.$title.addEventListener("click",this.onClickNavTitle)}_bindDatepickerEvents(){this.dp.on(i.eventChangeViewDate,this.onChangeViewDate),this.dp.on(i.eventChangeCurrentView,this.onChangeCurrentView),this.isNavIsFunction&&(this.dp.on(i.eventChangeSelectedDate,this.renderDelay),this.dp.opts.timepicker&&this.dp.on(i.eventChangeTime,this.render))}destroy(){this.dp.off(i.eventChangeViewDate,this.onChangeViewDate),this.dp.off(i.eventChangeCurrentView,this.onChangeCurrentView),this.isNavIsFunction&&(this.dp.off(i.eventChangeSelectedDate,this.renderDelay),this.dp.opts.timepicker&&this.dp.off(i.eventChangeTime,this.render))}_createElement(){this.$el=n({tagName:"nav",className:"air-datepicker-nav"})}_getTitle(){let{dp:e,opts:t}=this,i=t.navTitles[e.currentView];return"function"==typeof i?i(e):e.formatDate(e.viewDate,i)}handleNavStatus(){let{disableNavWhenOutOfRange:e}=this.opts,{minDate:t,maxDate:s}=this.dp;if(!t&&!s||!e)return;let{year:a,month:n}=this.dp.parsedViewDate,r=!!t&&h(t),o=!!s&&h(s);switch(this.dp.currentView){case i.days:t&&r.month>=n&&r.year>=a&&this._disableNav("prev"),s&&o.month<=n&&o.year<=a&&this._disableNav("next");break;case i.months:t&&r.year>=a&&this._disableNav("prev"),s&&o.year<=a&&this._disableNav("next");break;case i.years:{let e=c(this.dp.viewDate);t&&r.year>=e[0]&&this._disableNav("prev"),s&&o.year<=e[1]&&this._disableNav("next");break}}}_disableNav(e){a('[data-action="'+e+'"]',this.$el).classList.add("-disabled-")}_resetNavStatus(){!function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),s=1;s{e.classList.remove(...i)})):e.classList.remove(...i)}(this.$el.querySelectorAll(".air-datepicker-nav--action"),"-disabled-")}_buildBaseHtml(){let{prevHtml:e,nextHtml:t}=this.opts;this.$el.innerHTML=`${e}
${t}
`}get isNavIsFunction(){let{navTitles:e}=this.opts;return Object.keys(e).find((t=>"function"==typeof e[t]))}}var x={today:{content:e=>e.locale.today,onClick:e=>e.setViewDate(new Date)},clear:{content:e=>e.locale.clear,onClick:e=>e.clear()}};class H{constructor(e){let{dp:t,opts:i}=e;this.dp=t,this.opts=i,this.init()}init(){this.createElement(),this.render()}createElement(){this.$el=n({className:"air-datepicker-buttons"})}destroy(){this.$el.parentNode.removeChild(this.$el)}clearHtml(){return this.$el.innerHTML="",this}generateButtons(){let{buttons:e}=this.opts;Array.isArray(e)||(e=[e]),e.forEach((e=>{let t=e;"string"==typeof e&&x[e]&&(t=x[e]);let i=this.createButton(t);t.onClick&&this.attachEventToButton(i,t.onClick),this.$el.appendChild(i)}))}attachEventToButton(e,t){e.addEventListener("click",(()=>{t(this.dp)}))}createButton(e){let{content:t,className:i,tagName:s="button",attrs:a={}}=e;return n({tagName:s,innerHtml:`${"function"==typeof t?t(this.dp):t}`,className:u("air-datepicker-button",i),attrs:a})}render(){this.generateButtons()}}function E(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var s=i.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class L{constructor(){let{opts:e,dp:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};E(this,"toggleTimepickerIsActive",(e=>{this.dp.timepickerIsActive=e})),E(this,"onChangeSelectedDate",(e=>{let{date:t,updateTime:i=!1}=e;t&&(this.setMinMaxTime(t),this.setCurrentTime(!!i&&t),this.addTimeToDate(t))})),E(this,"onChangeLastSelectedDate",(e=>{e&&(this.setTime(e),this.render())})),E(this,"onChangeInputRange",(e=>{let t=e.target;this[t.getAttribute("name")]=t.value,this.updateText(),this.dp.trigger(i.eventChangeTime,{hours:this.hours,minutes:this.minutes})})),E(this,"onMouseEnterLeave",(e=>{let t=e.target.getAttribute("name"),i=this.$minutesText;"hours"===t&&(i=this.$hoursText),i.classList.toggle("-focus-")})),E(this,"onFocus",(()=>{this.toggleTimepickerIsActive(!0)})),E(this,"onBlur",(()=>{this.toggleTimepickerIsActive(!1)})),this.opts=e,this.dp=t;let{timeFormat:s}=this.dp.locale;s&&(s.match(k("h"))||s.match(k("hh")))&&(this.ampm=!0),this.init()}init(){this.setTime(this.dp.lastSelectedDate||this.dp.viewDate),this.createElement(),this.buildHtml(),this.defineDOM(),this.render(),this.bindDatepickerEvents(),this.bindDOMEvents()}bindDatepickerEvents(){this.dp.on(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.on(i.eventChangeLastSelectedDate,this.onChangeLastSelectedDate)}bindDOMEvents(){let e="input";navigator.userAgent.match(/trident/gi)&&(e="change"),D(this.$ranges,e,this.onChangeInputRange),D(this.$ranges,"mouseenter",this.onMouseEnterLeave),D(this.$ranges,"mouseleave",this.onMouseEnterLeave),D(this.$ranges,"focus",this.onFocus),D(this.$ranges,"mousedown",this.onFocus),D(this.$ranges,"blur",this.onBlur)}createElement(){this.$el=n({className:u("air-datepicker-time",{"-am-pm-":this.dp.ampm})})}destroy(){this.dp.off(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.off(i.eventChangeLastSelectedDate,this.onChangeLastSelectedDate),this.$el.parentNode.removeChild(this.$el)}buildHtml(){let{ampm:e,hours:t,displayHours:i,minutes:s,minHours:a,minMinutes:n,maxHours:r,maxMinutes:o,dayPeriod:h,opts:{hoursStep:l,minutesStep:c}}=this;this.$el.innerHTML=` ${d(i)} : ${d(s)} `+(e?`${h}`:"")+'
`}defineDOM(){let e=e=>a(e,this.$el);this.$ranges=this.$el.querySelectorAll('[type="range"]'),this.$hours=e('[name="hours"]'),this.$minutes=e('[name="minutes"]'),this.$hoursText=e(".air-datepicker-time--current-hours"),this.$minutesText=e(".air-datepicker-time--current-minutes"),this.$ampm=e(".air-datepicker-time--current-ampm")}setTime(e){this.setMinMaxTime(e),this.setCurrentTime(e)}addTimeToDate(e){e&&(e.setHours(this.hours),e.setMinutes(this.minutes))}setMinMaxTime(e){if(this.setMinMaxTimeFromOptions(),e){let{minDate:t,maxDate:i}=this.dp;t&&p(e,t)&&this.setMinTimeFromMinDate(t),i&&p(e,i)&&this.setMaxTimeFromMaxDate(i)}}setCurrentTime(e){let{hours:t,minutes:i}=e?h(e):this;this.hours=f(t,this.minHours,this.maxHours),this.minutes=f(i,this.minMinutes,this.maxMinutes)}setMinMaxTimeFromOptions(){let{minHours:e,minMinutes:t,maxHours:i,maxMinutes:s}=this.opts;this.minHours=f(e,0,23),this.minMinutes=f(t,0,59),this.maxHours=f(i,0,23),this.maxMinutes=f(s,0,59)}setMinTimeFromMinDate(e){let{lastSelectedDate:t}=this.dp;this.minHours=e.getHours(),t&&t.getHours()>e.getHours()?this.minMinutes=this.opts.minMinutes:this.minMinutes=e.getMinutes()}setMaxTimeFromMaxDate(e){let{lastSelectedDate:t}=this.dp;this.maxHours=e.getHours(),t&&t.getHours()e.month++],[[["Control","ArrowLeft"],["Control","ArrowDown"]],e=>e.month--],[[["Shift","ArrowRight"],["Shift","ArrowUp"]],e=>e.year++],[[["Shift","ArrowLeft"],["Shift","ArrowDown"]],e=>e.year--],[[["Alt","ArrowRight"],["Alt","ArrowUp"]],e=>e.year+=10],[[["Alt","ArrowLeft"],["Alt","ArrowDown"]],e=>e.year-=10],[["Control","Shift","ArrowUp"],(e,t)=>t.up()]])),O(this,"handleHotKey",(e=>{let t=this.hotKeys.get(e),i=h(this.getInitialFocusDate());t(i,this.dp);let{year:s,month:a,date:n}=i,r=o(new Date(s,a));r{let e=!1,t=this.pressedKeys.size,i=e=>this.pressedKeys.has(e);for(let[s]of this.hotKeys){if(e)break;if(Array.isArray(s[0]))s.forEach((a=>{e||t!==a.length||(e=a.every(i)&&s)}));else{if(t!==s.length)continue;e=s.every(i)&&s}}return e})),O(this,"isArrow",(e=>e>=37&&e<=40)),O(this,"onKeyDown",(e=>{let{key:t,which:i}=e,{dp:s,dp:{focusDate:a},opts:n}=this;this.registerKey(t);let r=this.isHotKeyPressed();if(r)return e.preventDefault(),void this.handleHotKey(r);if(this.isArrow(i))return e.preventDefault(),void this.focusNextCell(t);if("Enter"===t){if(s.currentView!==n.minView)return void s.down();if(a){let e=s._checkIfDateIsSelected(a);return void(e?s._handleAlreadySelectedDates(e,a):s.selectDate(a))}}"Escape"===t&&this.dp.hide()})),O(this,"onKeyUp",(e=>{this.removeKey(e.key)})),this.dp=t,this.opts=i,this.init()}init(){this.bindKeyboardEvents()}bindKeyboardEvents(){let{$el:e}=this.dp;e.addEventListener("keydown",this.onKeyDown),e.addEventListener("keyup",this.onKeyUp)}destroy(){let{$el:e}=this.dp;e.removeEventListener("keydown",this.onKeyDown),e.removeEventListener("keyup",this.onKeyUp),this.hotKeys=null,this.pressedKeys=null}getInitialFocusDate(){let{focusDate:e,currentView:t,selectedDates:s,parsedViewDate:{year:a,month:n}}=this.dp,r=e||s[s.length-1];if(!r)switch(t){case i.days:r=new Date(a,n,(new Date).getDate());break;case i.months:r=new Date(a,n,1);break;case i.years:r=new Date(a,0,1)}return r}focusNextCell(e){let t=this.getInitialFocusDate(),{currentView:s}=this.dp,{days:a,months:n,years:r}=i,o=h(t),l=o.year,d=o.month,c=o.date;switch(e){case"ArrowLeft":s===a&&(c-=1),s===n&&(d-=1),s===r&&(l-=1);break;case"ArrowUp":s===a&&(c-=7),s===n&&(d-=3),s===r&&(l-=4);break;case"ArrowRight":s===a&&(c+=1),s===n&&(d+=1),s===r&&(l+=1);break;case"ArrowDown":s===a&&(c+=7),s===n&&(d+=3),s===r&&(l+=4)}let u=this.dp.getClampedDate(new Date(l,d,c));this.dp.setFocusDate(u,{viewDateTransition:!0})}registerKey(e){this.pressedKeys.add(e)}removeKey(e){this.pressedKeys.delete(e)}}let N={on(e,t){this.__events||(this.__events={}),this.__events[e]?this.__events[e].push(t):this.__events[e]=[t]},off(e,t){this.__events&&this.__events[e]&&(this.__events[e]=this.__events[e].filter((e=>e!==t)))},removeAllEvents(){this.__events={}},trigger(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),s=1;s{e(...i)}))}};function I(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var s=i.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}let P="",j="",B=!1;class R{static buildGlobalContainer(e){B=!0,P=n({className:e,id:e}),a("body").appendChild(P)}constructor(e,t){var r=this;if(I(this,"viewIndexes",[i.days,i.months,i.years]),I(this,"next",(()=>{let{year:e,month:t}=this.parsedViewDate;switch(this.currentView){case i.days:this.setViewDate(new Date(e,t+1,1));break;case i.months:this.setViewDate(new Date(e+1,t,1));break;case i.years:this.setViewDate(new Date(e+10,0,1))}})),I(this,"prev",(()=>{let{year:e,month:t}=this.parsedViewDate;switch(this.currentView){case i.days:this.setViewDate(new Date(e,t-1,1));break;case i.months:this.setViewDate(new Date(e-1,t,1));break;case i.years:this.setViewDate(new Date(e-10,0,1))}})),I(this,"_finishHide",(()=>{this.hideAnimation=!1,this._destroyComponents(),this.$container.removeChild(this.$datepicker)})),I(this,"setPosition",(function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if("function"==typeof(e=e||r.opts.position))return void(r.customHide=e({$datepicker:r.$datepicker,$target:r.$el,$pointer:r.$pointer,isViewChange:t,done:r._finishHide}));let i,s,{isMobile:a}=r.opts,n=r.$el.getBoundingClientRect(),o=r.$el.getBoundingClientRect(),h=r.$datepicker.offsetParent,l=r.$el.offsetParent,d=r.$datepicker.getBoundingClientRect(),c=e.split(" "),u=window.scrollY,p=window.scrollX,m=r.opts.offset,v=c[0],g=c[1];if(a)r.$datepicker.style.cssText="left: 50%; top: 50%";else{if(h===l&&h!==document.body&&(o={top:r.$el.offsetTop,left:r.$el.offsetLeft,width:n.width,height:r.$el.offsetHeight},u=0,p=0),h!==l&&h!==document.body){let e=h.getBoundingClientRect();o={top:n.top-e.top,left:n.left-e.left,width:n.width,height:n.height},u=0,p=0}switch(v){case"top":i=o.top-d.height-m;break;case"right":s=o.left+o.width+m;break;case"bottom":i=o.top+o.height+m;break;case"left":s=o.left-d.width-m}switch(g){case"top":i=o.top;break;case"right":s=o.left+o.width-d.width;break;case"bottom":i=o.top+o.height-d.height;break;case"left":s=o.left;break;case"center":/left|right/.test(v)?i=o.top+o.height/2-d.height/2:s=o.left+o.width/2-d.width/2}r.$datepicker.style.cssText=`left: ${s+p}px; top: ${i+u}px`}})),I(this,"_setInputValue",(()=>{let{opts:e,$altField:t,locale:{dateFormat:i}}=this,{altFieldDateFormat:s,altField:a}=e;a&&t&&(t.value=this._getInputValue(s)),this.$el.value=this._getInputValue(i)})),I(this,"_getInputValue",(e=>{let{selectedDates:t,opts:i}=this,{multipleDates:s,multipleDatesSeparator:a}=i;if(!t.length)return"";let n="function"==typeof e,r=n?e(s?t:t[0]):t.map((t=>this.formatDate(t,e)));return r=n?r:r.join(a),r})),I(this,"_checkIfDateIsSelected",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.days,s=!1;return r.selectedDates.some((i=>{let a=p(e,i,t);return s=a&&i,a})),s})),I(this,"_scheduleCallAfterTransition",(e=>{this._cancelScheduledCall(),e&&e(!1),this._onTransitionEnd=()=>{e&&e(!0)},this.$datepicker.addEventListener("transitionend",this._onTransitionEnd,{once:!0})})),I(this,"_cancelScheduledCall",(()=>{this.$datepicker.removeEventListener("transitionend",this._onTransitionEnd)})),I(this,"setViewDate",(e=>{if(!((e=b(e))instanceof Date))return;if(p(e,this.viewDate))return;let t=this.viewDate;this.viewDate=e;let{onChangeViewDate:s}=this.opts;if(s){let{month:e,year:t}=this.parsedViewDate;s({month:e,year:t,decade:this.curDecade})}this.trigger(i.eventChangeViewDate,e,t)})),I(this,"setFocusDate",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(!e||(e=b(e))instanceof Date)&&(r.focusDate=e,r.trigger(i.eventChangeFocusDate,e,t))})),I(this,"setCurrentView",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(r.viewIndexes.includes(e)){if(r.currentView=e,r.elIsInput&&r.visible&&r.setPosition(void 0,!0),r.trigger(i.eventChangeCurrentView,e),!r.views[e]){let t=r.views[e]=new T({dp:r,opts:r.opts,type:e});r.shouldUpdateDOM&&r.$content.appendChild(t.$el)}r.opts.onChangeView&&!t.silent&&r.opts.onChangeView(e)}})),I(this,"_updateLastSelectedDate",(e=>{this.lastSelectedDate=e,this.trigger(i.eventChangeLastSelectedDate,e)})),I(this,"destroy",(()=>{if(this.isDestroyed)return;let{showEvent:e,isMobile:t}=this.opts,i=this.$datepicker.parentNode;i&&i.removeChild(this.$datepicker),this.$el.removeEventListener(e,this._onFocus),this.$el.removeEventListener("blur",this._onBlur),window.removeEventListener("resize",this._onResize),t&&this._removeMobileAttributes(),this.keyboardNav&&this.keyboardNav.destroy(),this.views=null,this.nav=null,this.$datepicker=null,this.opts={},this.$customContainer=null,this.viewDate=null,this.focusDate=null,this.selectedDates=[],this.rangeDateFrom=null,this.rangeDateTo=null,this.isDestroyed=!0})),I(this,"update",(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=w({},r.opts),{silent:a}=t;w(r.opts,e);let{timepicker:n,buttons:o,range:h,selectedDates:l,isMobile:d}=r.opts,c=r.visible||r.treatAsInline;r._createMinMaxDates(),r._limitViewDateByMaxMinDates(),r._handleLocale(),l&&(r.selectedDates=[],r.selectDate(l,{silent:a})),e.view&&r.setCurrentView(e.view,{silent:a}),r._setInputValue(),s.range&&!h?(r.rangeDateTo=!1,r.rangeDateFrom=!1):!s.range&&h&&r.selectedDates.length&&(r.rangeDateFrom=r.selectedDates[0],r.rangeDateTo=r.selectedDates[1]),s.timepicker&&!n?(c&&r.timepicker.destroy(),r.timepicker=!1,r.$timepicker.parentNode.removeChild(r.$timepicker)):!s.timepicker&&n&&r._addTimepicker(),!s.buttons&&o?r._addButtons():s.buttons&&!o?(r.buttons.destroy(),r.$buttons.parentNode.removeChild(r.$buttons)):c&&s.buttons&&o&&r.buttons.clearHtml().render(),!s.isMobile&&d?(r.treatAsInline||j||r._createMobileOverlay(),r._addMobileAttributes(),r.visible&&r._showMobileOverlay()):s.isMobile&&!d&&(r._removeMobileAttributes(),r.visible&&(j.classList.remove("-active-"),"function"!=typeof r.opts.position&&r.setPosition())),c&&(r.nav.update(),r.views[r.currentView].render(),r.currentView===i.days&&r.views[r.currentView].renderDayNames())})),I(this,"disableDate",((e,t)=>{(Array.isArray(e)?e:[e]).forEach((e=>{let i=b(e);if(!i)return;let s=t?"delete":"add";this.disabledDates[s](this.formatDate(i,"yyyy-MM-dd"));let a=this.getCell(i,this.currentViewSingular);a&&a.adpCell.render()}),[])})),I(this,"enableDate",(e=>{this.disableDate(e,!0)})),I(this,"isDateDisabled",(e=>{let t=b(e);return this.disabledDates.has(this.formatDate(t,"yyyy-MM-dd"))})),I(this,"isOtherMonth",(e=>{let{month:t}=h(e);return t!==this.parsedViewDate.month})),I(this,"isOtherYear",(e=>{let{year:t}=h(e);return t!==this.parsedViewDate.year})),I(this,"isOtherDecade",(e=>{let{year:t}=h(e),[i,s]=c(this.viewDate);return ts})),I(this,"_onChangeSelectedDate",(e=>{let{silent:t}=e;setTimeout((()=>{this._setInputValue(),this.opts.onSelect&&!t&&this._triggerOnSelect()}))})),I(this,"_onChangeFocusedDate",(function(e){let{viewDateTransition:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)return;let i=!1;t&&(i=r.isOtherMonth(e)||r.isOtherYear(e)||r.isOtherDecade(e)),i&&r.setViewDate(e),r.opts.onFocus&&r.opts.onFocus({datepicker:r,date:e})})),I(this,"_onChangeTime",(e=>{let{hours:t,minutes:i}=e,s=new Date,{lastSelectedDate:a,opts:{onSelect:n}}=this,r=a;a||(r=s);let o=this.getCell(r,this.currentViewSingular),h=o&&o.adpCell;h&&h.isDisabled||(r.setHours(t),r.setMinutes(i),a?(this._setInputValue(),n&&this._triggerOnSelect()):this.selectDate(r))})),I(this,"_onFocus",(e=>{this.visible||this.show()})),I(this,"_onBlur",(e=>{this.inFocus||!this.visible||this.opts.isMobile||this.hide()})),I(this,"_onMouseDown",(e=>{this.inFocus=!0})),I(this,"_onMouseUp",(e=>{this.inFocus=!1,this.$el.focus()})),I(this,"_onResize",(()=>{this.visible&&"function"!=typeof this.opts.position&&this.setPosition()})),I(this,"_onClickOverlay",(()=>{this.visible&&this.hide()})),I(this,"getViewDates",(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i.days;return T.getDatesFunction(e)(r)})),I(this,"isWeekend",(e=>this.opts.weekends.includes(e))),I(this,"getClampedDate",(e=>{let{minDate:t,maxDate:i}=this,s=e;return i&&m(e,i)?s=i:t&&v(e,t)&&(s=t),s})),this.$el=a(e),!this.$el)return;this.$datepicker=n({className:"air-datepicker"}),this.opts=w({},s,t),this.$customContainer=!!this.opts.container&&a(this.opts.container),this.$altField=a(this.opts.altField||!1);let{view:o,startDate:l}=this.opts;l||(this.opts.startDate=new Date),"INPUT"===this.$el.nodeName&&(this.elIsInput=!0),this.inited=!1,this.visible=!1,this.viewDate=b(this.opts.startDate),this.focusDate=!1,this.initialReadonly=this.$el.getAttribute("readonly"),this.customHide=!1,this.currentView=o,this.selectedDates=[],this.disabledDates=new Set,this.isDestroyed=!1,this.views={},this.keys=[],this.rangeDateFrom="",this.rangeDateTo="",this.timepickerIsActive=!1,this.treatAsInline=this.opts.inline||!this.elIsInput,this.init()}init(){let{opts:e,treatAsInline:t,opts:{inline:i,isMobile:s,selectedDates:n,keyboardNav:r,onlyTimepicker:o}}=this,h=a("body");(!B||B&&P&&!h.contains(P))&&!i&&this.elIsInput&&!this.$customContainer&&R.buildGlobalContainer(R.defaultGlobalContainerId),!s||j||t||this._createMobileOverlay(),this._handleLocale(),this._bindSubEvents(),this._createMinMaxDates(),this._limitViewDateByMaxMinDates(),this.elIsInput&&(i||this._bindEvents(),r&&!o&&(this.keyboardNav=new A({dp:this,opts:e}))),n&&this.selectDate(n,{silent:!0}),this.opts.visible&&!t&&this.show(),s&&!t&&this.$el.setAttribute("readonly",!0),t&&this._createComponents()}_createMobileOverlay(){j=n({className:"air-datepicker-overlay"}),P.appendChild(j)}_createComponents(){let{opts:e,treatAsInline:t,opts:{inline:i,buttons:s,timepicker:a,position:n,classes:r,onlyTimepicker:o,isMobile:h}}=this;this._buildBaseHtml(),this.elIsInput&&(i||this._setPositionClasses(n)),!i&&this.elIsInput||this.$datepicker.classList.add("-inline-"),r&&this.$datepicker.classList.add(...r.split(" ")),o&&this.$datepicker.classList.add("-only-timepicker-"),h&&!t&&this._addMobileAttributes(),this.views[this.currentView]=new T({dp:this,type:this.currentView,opts:e}),this.nav=new V({dp:this,opts:e}),a&&this._addTimepicker(),s&&this._addButtons(),this.$content.appendChild(this.views[this.currentView].$el),this.$nav.appendChild(this.nav.$el)}_destroyComponents(){for(let e in this.views)this.views[e].destroy();this.views={},this.nav.destroy(),this.timepicker&&this.timepicker.destroy()}_addMobileAttributes(){j.addEventListener("click",this._onClickOverlay),this.$datepicker.classList.add("-is-mobile-"),this.$el.setAttribute("readonly",!0)}_removeMobileAttributes(){j.removeEventListener("click",this._onClickOverlay),this.$datepicker.classList.remove("-is-mobile-"),this.initialReadonly||""===this.initialReadonly||this.$el.removeAttribute("readonly")}_createMinMaxDates(){let{minDate:e,maxDate:t}=this.opts;this.minDate=!!e&&b(e),this.maxDate=!!t&&b(t)}_addTimepicker(){this.$timepicker=n({className:"air-datepicker--time"}),this.$datepicker.appendChild(this.$timepicker),this.timepicker=new L({dp:this,opts:this.opts}),this.$timepicker.appendChild(this.timepicker.$el)}_addButtons(){this.$buttons=n({className:"air-datepicker--buttons"}),this.$datepicker.appendChild(this.$buttons),this.buttons=new H({dp:this,opts:this.opts}),this.$buttons.appendChild(this.buttons.$el)}_bindSubEvents(){this.on(i.eventChangeSelectedDate,this._onChangeSelectedDate),this.on(i.eventChangeFocusDate,this._onChangeFocusedDate),this.on(i.eventChangeTime,this._onChangeTime)}_buildBaseHtml(){let{inline:e}=this.opts;var t,i;this.elIsInput?e?(t=this.$datepicker,(i=this.$el).parentNode.insertBefore(t,i.nextSibling)):this.$container.appendChild(this.$datepicker):this.$el.appendChild(this.$datepicker),this.$datepicker.innerHTML='',this.$content=a(".air-datepicker--content",this.$datepicker),this.$pointer=a(".air-datepicker--pointer",this.$datepicker),this.$nav=a(".air-datepicker--navigation",this.$datepicker)}_handleLocale(){let{locale:e,dateFormat:t,firstDay:i,timepicker:s,onlyTimepicker:a,timeFormat:n,dateTimeSeparator:r}=this.opts;var o;this.locale=(o=e,JSON.parse(JSON.stringify(o))),t&&(this.locale.dateFormat=t),void 0!==n&&""!==n&&(this.locale.timeFormat=n);let{timeFormat:h}=this.locale;if(""!==i&&(this.locale.firstDay=i),s&&"function"!=typeof t){let e=h?r:"";this.locale.dateFormat=[this.locale.dateFormat,h||""].join(e)}a&&"function"!=typeof t&&(this.locale.dateFormat=this.locale.timeFormat)}_setPositionClasses(e){if("function"==typeof e)return void this.$datepicker.classList.add("-custom-position-");let t=(e=e.split(" "))[0],i=`air-datepicker -${t}-${e[1]}- -from-${t}-`;this.$datepicker.classList.add(...i.split(" "))}_bindEvents(){this.$el.addEventListener(this.opts.showEvent,this._onFocus),this.$el.addEventListener("blur",this._onBlur),this.$datepicker.addEventListener("mousedown",this._onMouseDown),this.$datepicker.addEventListener("mouseup",this._onMouseUp),window.addEventListener("resize",this._onResize)}_limitViewDateByMaxMinDates(){let{viewDate:e,minDate:t,maxDate:i}=this;i&&m(e,i)&&this.setViewDate(i),t&&v(e,t)&&this.setViewDate(t)}formatDate(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.viewDate,t=arguments.length>1?arguments[1]:void 0;if(e=b(e),!(e instanceof Date))return;let i=t,s=this.locale,a=h(e),n=a.dayPeriod,r=c(e),o=R.replacer,l={T:e.getTime(),m:a.minutes,mm:a.fullMinutes,h:a.hours12,hh:a.fullHours12,H:a.hours,HH:a.fullHours,aa:n,AA:n.toUpperCase(),E:s.daysShort[a.day],EEEE:s.days[a.day],d:a.date,dd:a.fullDate,M:a.month+1,MM:a.fullMonth,MMM:s.monthsShort[a.month],MMMM:s.months[a.month],yy:a.year.toString().slice(-2),yyyy:a.year,yyyy1:r[0],yyyy2:r[1]};for(let[e,t]of Object.entries(l))i=o(i,k(e),t);return i}down(e){this._handleUpDownActions(e,"down")}up(e){this._handleUpDownActions(e,"up")}selectDate(e){let t,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{currentView:a,parsedViewDate:n,selectedDates:r}=this,{updateTime:o}=s,{moveToOtherMonthsOnSelect:h,moveToOtherYearsOnSelect:l,multipleDates:d,range:c,autoClose:u,onBeforeSelect:p}=this.opts,v=r.length;if(Array.isArray(e))return e.forEach((e=>{this.selectDate(e,s)})),new Promise((e=>{setTimeout(e)}));if((e=b(e))instanceof Date){if(p&&!p({date:e,datepicker:this}))return Promise.resolve();if(a===i.days&&e.getMonth()!==n.month&&h&&(t=new Date(e.getFullYear(),e.getMonth(),1)),a===i.years&&e.getFullYear()!==n.year&&l&&(t=new Date(e.getFullYear(),0,1)),t&&this.setViewDate(t),d&&!c){if(v===d)return;this._checkIfDateIsSelected(e)||r.push(e)}else if(c)switch(v){case 1:r.push(e),this.rangeDateTo||(this.rangeDateTo=e),m(this.rangeDateFrom,this.rangeDateTo)&&(this.rangeDateTo=this.rangeDateFrom,this.rangeDateFrom=e),this.selectedDates=[this.rangeDateFrom,this.rangeDateTo];break;case 2:this.selectedDates=[e],this.rangeDateFrom=e,this.rangeDateTo="";break;default:this.selectedDates=[e],this.rangeDateFrom=e}else this.selectedDates=[e];return this.trigger(i.eventChangeSelectedDate,{action:i.actionSelectDate,silent:null==s?void 0:s.silent,date:e,updateTime:o}),this._updateLastSelectedDate(e),u&&!this.timepickerIsActive&&this.visible&&(d||c?c&&1===v&&this.hide():this.hide()),new Promise((e=>{setTimeout(e)}))}}unselectDate(e){let t=this.selectedDates,s=this;if((e=b(e))instanceof Date)return t.some(((a,n)=>{if(p(a,e))return t.splice(n,1),s.selectedDates.length?(s.rangeDateTo="",s.rangeDateFrom=t[0],s._updateLastSelectedDate(s.selectedDates[s.selectedDates.length-1])):(s.rangeDateFrom="",s.rangeDateTo="",s._updateLastSelectedDate(!1)),this.trigger(i.eventChangeSelectedDate,{action:i.actionUnselectDate,date:e}),!0}))}replaceDate(e,t){let s=this.selectedDates.find((t=>p(t,e,this.currentView))),a=this.selectedDates.indexOf(s);a<0||p(this.selectedDates[a],t,this.currentView)||(this.selectedDates[a]=t,this.trigger(i.eventChangeSelectedDate,{action:i.actionSelectDate,date:t,updateTime:!0}),this._updateLastSelectedDate(t))}clear(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.selectedDates=[],this.rangeDateFrom=!1,this.rangeDateTo=!1,this.lastSelectedDate=!1,this.trigger(i.eventChangeSelectedDate,{action:i.actionUnselectDate,silent:e.silent}),new Promise((e=>{setTimeout(e)}))}show(){let{onShow:e,isMobile:t}=this.opts;this._cancelScheduledCall(),this.visible||this.hideAnimation||this._createComponents(),this.setPosition(this.opts.position),this.$datepicker.classList.add("-active-"),this.visible=!0,e&&this._scheduleCallAfterTransition(e),t&&this._showMobileOverlay()}hide(){let{onHide:e,isMobile:t}=this.opts,i=this._hasTransition();this.visible=!1,this.hideAnimation=!0,this.$datepicker.classList.remove("-active-"),this.customHide&&this.customHide(),this.elIsInput&&this.$el.blur(),this._scheduleCallAfterTransition((t=>{!this.customHide&&(t&&i||!t&&!i)&&this._finishHide(),e&&e(t)})),t&&j.classList.remove("-active-")}_triggerOnSelect(){let e=[],t=[],{selectedDates:i,locale:s,opts:{onSelect:a,multipleDates:n,range:r}}=this,o=n||r,h="function"==typeof s.dateFormat;i.length&&(e=i.map(g),t=h?n?s.dateFormat(e):e.map((e=>s.dateFormat(e))):e.map((e=>this.formatDate(e,s.dateFormat)))),a({date:o?e:e[0],formattedDate:o?t:t[0],datepicker:this})}_handleAlreadySelectedDates(e,t){let{selectedDates:i,rangeDateFrom:s,rangeDateTo:a}=this,{range:n,toggleSelected:r}=this.opts,o=i.length,h="function"==typeof r?r({datepicker:this,date:t}):r,l=Boolean(n&&1===o&&e),d=l?g(t):t;n&&!h&&(2!==o&&this.selectDate(d),2===o&&p(s,a))||(h?this.unselectDate(d):this._updateLastSelectedDate(l?d:e))}_handleUpDownActions(e,t){if(!((e=b(e||this.focusDate||this.viewDate))instanceof Date))return;let i="up"===t?this.viewIndex+1:this.viewIndex-1;i>2&&(i=2),i<0&&(i=0),this.setViewDate(new Date(e.getFullYear(),e.getMonth(),1)),this.setCurrentView(this.viewIndexes[i])}getCell(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.day;if(!((e=b(e))instanceof Date))return;let{year:s,month:a,date:n}=h(e),r=`[data-year="${s}"]`,o=`[data-month="${a}"]`,l={[i.day]:`${r}${o}[data-date="${n}"]`,[i.month]:`${r}${o}`,[i.year]:`${r}`};return this.views[this.currentView]?this.views[this.currentView].$el.querySelector(l[t]):void 0}_showMobileOverlay(){j.classList.add("-active-")}_hasTransition(){return window.getComputedStyle(this.$datepicker).getPropertyValue("transition-duration").split(", ").reduce(((e,t)=>parseFloat(t)+e),0)>0}get shouldUpdateDOM(){return this.visible||this.treatAsInline}get parsedViewDate(){return h(this.viewDate)}get currentViewSingular(){return this.currentView.slice(0,-1)}get curDecade(){return c(this.viewDate)}get viewIndex(){return this.viewIndexes.indexOf(this.currentView)}get isFinalView(){return this.currentView===i.years}get hasSelectedDates(){return this.selectedDates.length>0}get isMinViewReached(){return this.currentView===this.opts.minView||this.currentView===i.days}get $container(){return this.$customContainer||P}static replacer(e,t,i){return e.replace(t,(function(e,t,s,a){return t+i+a}))}}var K;return I(R,"defaults",s),I(R,"version","3.5.3"),I(R,"defaultGlobalContainerId","air-datepicker-global-container"),K=R.prototype,Object.assign(K,N),t.default}()}));
diff --git a/src/agenda_culturel/static/air-datepicker/fr.js b/src/agenda_culturel/static/air-datepicker/fr.js
index 11ab7fe..eae94d8 100644
--- a/src/agenda_culturel/static/air-datepicker/fr.js
+++ b/src/agenda_culturel/static/air-datepicker/fr.js
@@ -16,4 +16,4 @@ var _default = {
timeFormat: 'HH:mm',
firstDay: 1
};
-exports.default = _default;
\ No newline at end of file
+exports.default = _default;
diff --git a/src/agenda_culturel/static/cal-heatmap/README.md b/src/agenda_culturel/static/cal-heatmap/README.md
index bec4603..6188812 100644
--- a/src/agenda_culturel/static/cal-heatmap/README.md
+++ b/src/agenda_culturel/static/cal-heatmap/README.md
@@ -1 +1 @@
-next_month
\ No newline at end of file
+next_month
diff --git a/src/agenda_culturel/static/cal-heatmap/cal-heatmap.css b/src/agenda_culturel/static/cal-heatmap/cal-heatmap.css
index 9bafe15..2cb2eb9 100644
--- a/src/agenda_culturel/static/cal-heatmap/cal-heatmap.css
+++ b/src/agenda_culturel/static/cal-heatmap/cal-heatmap.css
@@ -1 +1 @@
-.ch-container{display:block}.ch-container,.ch-domain,.ch-domain-container,.ch-domain-container-animation-wrapper{overflow:visible}.ch-domain-container.in-transition .ch-domain-container-animation-wrapper{overflow:hidden}.ch-domain-bg{fill:transparent}.ch-domain-text{fill:currentColor;font-size:10px}.ch-subdomain{overflow:visible}.ch-subdomain-bg{fill:#ededed}.ch-subdomain-bg.highlight{stroke:#444;stroke-width:1px}.ch-subdomain-bg:hover{stroke:#000;stroke-width:1px}.ch-subdomain-text{font-size:8px;pointer-events:none}[data-theme=dark] .ch-subdomain-bg{fill:#2d333b}[data-theme=dark] .ch-subdomain-bg.highlight{stroke:#768390}[data-theme=dark] .ch-subdomain-bg:hover{stroke:#636e7b}#ch-plugin-legend>svg{background:transparent;color:currentColor}#ch-tooltip{background:#222;border-radius:2px;box-shadow:2px 2px 2px rgba(0,0,0,.2);box-sizing:border-box;color:#bbb;display:none;font-size:12px;line-height:1.4;padding:5px 10px;text-align:center}#ch-tooltip[data-show]{display:block}#ch-tooltip-arrow,#ch-tooltip-arrow:before{background:inherit;height:8px;position:absolute;width:8px}#ch-tooltip-arrow{visibility:hidden}#ch-tooltip-arrow:before{content:"";transform:rotate(45deg);visibility:visible}#ch-tooltip[data-popper-placement^=top]>#ch-tooltip-arrow{bottom:-4px;margin-left:-4px}#ch-tooltip[data-popper-placement^=bottom]>#ch-tooltip-arrow{margin-left:-4px;top:-4px}#ch-tooltip[data-popper-placement^=left]>#ch-tooltip-arrow{right:-4px}#ch-tooltip[data-popper-placement^=right]>#ch-tooltip-arrow{left:-4px}#ch-tooltip[data-theme=dark]{background:#636e7b;color:#cdd9e5}
\ No newline at end of file
+.ch-container{display:block}.ch-container,.ch-domain,.ch-domain-container,.ch-domain-container-animation-wrapper{overflow:visible}.ch-domain-container.in-transition .ch-domain-container-animation-wrapper{overflow:hidden}.ch-domain-bg{fill:transparent}.ch-domain-text{fill:currentColor;font-size:10px}.ch-subdomain{overflow:visible}.ch-subdomain-bg{fill:#ededed}.ch-subdomain-bg.highlight{stroke:#444;stroke-width:1px}.ch-subdomain-bg:hover{stroke:#000;stroke-width:1px}.ch-subdomain-text{font-size:8px;pointer-events:none}[data-theme=dark] .ch-subdomain-bg{fill:#2d333b}[data-theme=dark] .ch-subdomain-bg.highlight{stroke:#768390}[data-theme=dark] .ch-subdomain-bg:hover{stroke:#636e7b}#ch-plugin-legend>svg{background:transparent;color:currentColor}#ch-tooltip{background:#222;border-radius:2px;box-shadow:2px 2px 2px rgba(0,0,0,.2);box-sizing:border-box;color:#bbb;display:none;font-size:12px;line-height:1.4;padding:5px 10px;text-align:center}#ch-tooltip[data-show]{display:block}#ch-tooltip-arrow,#ch-tooltip-arrow:before{background:inherit;height:8px;position:absolute;width:8px}#ch-tooltip-arrow{visibility:hidden}#ch-tooltip-arrow:before{content:"";transform:rotate(45deg);visibility:visible}#ch-tooltip[data-popper-placement^=top]>#ch-tooltip-arrow{bottom:-4px;margin-left:-4px}#ch-tooltip[data-popper-placement^=bottom]>#ch-tooltip-arrow{margin-left:-4px;top:-4px}#ch-tooltip[data-popper-placement^=left]>#ch-tooltip-arrow{right:-4px}#ch-tooltip[data-popper-placement^=right]>#ch-tooltip-arrow{left:-4px}#ch-tooltip[data-theme=dark]{background:#636e7b;color:#cdd9e5}
diff --git a/src/agenda_culturel/static/cal-heatmap/cal-heatmap.esm.js b/src/agenda_culturel/static/cal-heatmap/cal-heatmap.esm.js
index 0d34885..077a651 100644
--- a/src/agenda_culturel/static/cal-heatmap/cal-heatmap.esm.js
+++ b/src/agenda_culturel/static/cal-heatmap/cal-heatmap.esm.js
@@ -3753,7 +3753,7 @@ var eventemitter3 = {exports: {}};
//
{
module.exports = EventEmitter;
- }
+ }
} (eventemitter3));
var eventemitter3Exports = eventemitter3.exports;
@@ -12108,7 +12108,7 @@ if (DESCRIPTORS && !FUNCTION_NAME_EXISTS) {
var dayjs_min = {exports: {}};
(function (module, exports) {
- !function(t,e){module.exports=e();}(commonjsGlobal,(function(){var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",c="month",f="quarter",h="year",d="date",l="Invalid Date",$=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],n=t%100;return "["+t+(e[(n-20)%10]||e[n]||e[0])+"]"}},m=function(t,e,n){var r=String(t);return !r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return (e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()1)return t(u[0])}else {var a=e.name;D[a]=e,i=a;}return !r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0;}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init();},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds();},m.$utils=function(){return b},m.isValid=function(){return !(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)=e?t:""+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return (e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()1)return t(u[0])}else {var a=e.name;D[a]=e,i=a;}return !r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0;}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init();},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds();},m.$utils=function(){return b},m.isValid=function(){return !(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)25){var f=r(this).startOf(t).add(1,t).date(n),s=r(this).endOf(e);if(f.isBefore(s))return 1}var a=r(this).startOf(t).date(n).startOf(e).subtract(1,"millisecond"),o=this.diff(a,e,!0);return o<0?r(this).startOf("week").week():Math.ceil(o)},f.weeks=function(e){return void 0===e&&(e=null),this.week(e)};}}));
+ !function(e,t){module.exports=t();}(commonjsGlobal,(function(){var e="week",t="year";return function(i,n,r){var f=n.prototype;f.week=function(i){if(void 0===i&&(i=null),null!==i)return this.add(7*(i-this.week()),"day");var n=this.$locale().yearStart||1;if(11===this.month()&&this.date()>25){var f=r(this).startOf(t).add(1,t).date(n),s=r(this).endOf(e);if(f.isBefore(s))return 1}var a=r(this).startOf(t).date(n).startOf(e).subtract(1,"millisecond"),o=this.diff(a,e,!0);return o<0?r(this).startOf("week").week():Math.ceil(o)},f.weeks=function(e){return void 0===e&&(e=null),this.week(e)};}}));
} (weekOfYear$1));
var weekOfYearExports = weekOfYear$1.exports;
@@ -12126,7 +12126,7 @@ var weekOfYear = /*@__PURE__*/getDefaultExportFromCjs(weekOfYearExports);
var dayOfYear$1 = {exports: {}};
(function (module, exports) {
- !function(e,t){module.exports=t();}(commonjsGlobal,(function(){return function(e,t,n){t.prototype.dayOfYear=function(e){var t=Math.round((n(this).startOf("day")-n(this).startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"day")};}}));
+ !function(e,t){module.exports=t();}(commonjsGlobal,(function(){return function(e,t,n){t.prototype.dayOfYear=function(e){var t=Math.round((n(this).startOf("day")-n(this).startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"day")};}}));
} (dayOfYear$1));
var dayOfYearExports = dayOfYear$1.exports;
@@ -12135,7 +12135,7 @@ var dayOfYear = /*@__PURE__*/getDefaultExportFromCjs(dayOfYearExports);
var weekday$1 = {exports: {}};
(function (module, exports) {
- !function(e,t){module.exports=t();}(commonjsGlobal,(function(){return function(e,t){t.prototype.weekday=function(e){var t=this.$locale().weekStart||0,i=this.$W,n=(i0&&(n=n[0]);t=(n=n.filter((function(e){return e})))[0];for(var i=1;i0&&(n=n[0]);t=(n=n.filter((function(e){return e})))[0];for(var i=1;i4&&(o+=7),n.add(o,e));return r.diff(u,"week")+1},d.isoWeekday=function(e){return this.$utils().u(e)?this.day()||7:this.day(this.day()%7?e:e-7)};var n=d.startOf;d.startOf=function(e,t){var i=this.$utils(),s=!!i.u(t)||t;return "isoweek"===i.p(e)?s?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):n.bind(this)(e,t)};}}));
+ !function(e,t){module.exports=t();}(commonjsGlobal,(function(){var e="day";return function(t,i,s){var a=function(t){return t.add(4-t.isoWeekday(),e)},d=i.prototype;d.isoWeekYear=function(){return a(this).year()},d.isoWeek=function(t){if(!this.$utils().u(t))return this.add(7*(t-this.isoWeek()),e);var i,d,n,o,r=a(this),u=(i=this.isoWeekYear(),d=this.$u,n=(d?s.utc:s)().year(i).startOf("year"),o=4-n.isoWeekday(),n.isoWeekday()>4&&(o+=7),n.add(o,e));return r.diff(u,"week")+1},d.isoWeekday=function(e){return this.$utils().u(e)?this.day()||7:this.day(this.day()%7?e:e-7)};var n=d.startOf;d.startOf=function(e,t){var i=this.$utils(),s=!!i.u(t)||t;return "isoweek"===i.p(e)?s?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):n.bind(this)(e,t)};}}));
} (isoWeek$1));
var isoWeekExports = isoWeek$1.exports;
@@ -12171,7 +12171,7 @@ var isoWeek = /*@__PURE__*/getDefaultExportFromCjs(isoWeekExports);
var isLeapYear$1 = {exports: {}};
(function (module, exports) {
- !function(e,t){module.exports=t();}(commonjsGlobal,(function(){return function(e,t){t.prototype.isLeapYear=function(){return this.$y%4==0&&this.$y%100!=0||this.$y%400==0};}}));
+ !function(e,t){module.exports=t();}(commonjsGlobal,(function(){return function(e,t){t.prototype.isLeapYear=function(){return this.$y%4==0&&this.$y%100!=0||this.$y%400==0};}}));
} (isLeapYear$1));
var isLeapYearExports = isLeapYear$1.exports;
@@ -12180,7 +12180,7 @@ var isLeapYear = /*@__PURE__*/getDefaultExportFromCjs(isLeapYearExports);
var advancedFormat$1 = {exports: {}};
(function (module, exports) {
- !function(e,t){module.exports=t();}(commonjsGlobal,(function(){return function(e,t){var r=t.prototype,n=r.format;r.format=function(e){var t=this,r=this.$locale();if(!this.isValid())return n.bind(this)(e);var s=this.$utils(),a=(e||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(e){switch(e){case"Q":return Math.ceil((t.$M+1)/3);case"Do":return r.ordinal(t.$D);case"gggg":return t.weekYear();case"GGGG":return t.isoWeekYear();case"wo":return r.ordinal(t.week(),"W");case"w":case"ww":return s.s(t.week(),"w"===e?1:2,"0");case"W":case"WW":return s.s(t.isoWeek(),"W"===e?1:2,"0");case"k":case"kk":return s.s(String(0===t.$H?24:t.$H),"k"===e?1:2,"0");case"X":return Math.floor(t.$d.getTime()/1e3);case"x":return t.$d.getTime();case"z":return "["+t.offsetName()+"]";case"zzz":return "["+t.offsetName("long")+"]";default:return e}}));return n.bind(this)(a)};}}));
+ !function(e,t){module.exports=t();}(commonjsGlobal,(function(){return function(e,t){var r=t.prototype,n=r.format;r.format=function(e){var t=this,r=this.$locale();if(!this.isValid())return n.bind(this)(e);var s=this.$utils(),a=(e||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(e){switch(e){case"Q":return Math.ceil((t.$M+1)/3);case"Do":return r.ordinal(t.$D);case"gggg":return t.weekYear();case"GGGG":return t.isoWeekYear();case"wo":return r.ordinal(t.week(),"W");case"w":case"ww":return s.s(t.week(),"w"===e?1:2,"0");case"W":case"WW":return s.s(t.isoWeek(),"W"===e?1:2,"0");case"k":case"kk":return s.s(String(0===t.$H?24:t.$H),"k"===e?1:2,"0");case"X":return Math.floor(t.$d.getTime()/1e3);case"x":return t.$d.getTime();case"z":return "["+t.offsetName()+"]";case"zzz":return "["+t.offsetName("long")+"]";default:return e}}));return n.bind(this)(a)};}}));
} (advancedFormat$1));
var advancedFormatExports = advancedFormat$1.exports;
@@ -12189,7 +12189,7 @@ var advancedFormat = /*@__PURE__*/getDefaultExportFromCjs(advancedFormatExports)
var utc$1 = {exports: {}};
(function (module, exports) {
- !function(t,i){module.exports=i();}(commonjsGlobal,(function(){var t="minute",i=/[+-]\d\d(?::?\d\d)?/g,e=/([+-]|\d\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t);};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds();}else r.call(this);};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if("string"==typeof s&&(s=function(t){void 0===t&&(t="");var s=t.match(i);if(!s)return null;var f=(""+s[0]).match(e)||["-",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:"+"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r;}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return !!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return "s"===t&&this.$offset?n(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)};}}));
+ !function(t,i){module.exports=i();}(commonjsGlobal,(function(){var t="minute",i=/[+-]\d\d(?::?\d\d)?/g,e=/([+-]|\d\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t);};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds();}else r.call(this);};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if("string"==typeof s&&(s=function(t){void 0===t&&(t="");var s=t.match(i);if(!s)return null;var f=(""+s[0]).match(e)||["-",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:"+"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r;}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return !!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return "s"===t&&this.$offset?n(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)};}}));
} (utc$1));
var utcExports = utc$1.exports;
@@ -12198,7 +12198,7 @@ var utc = /*@__PURE__*/getDefaultExportFromCjs(utcExports);
var timezone$1 = {exports: {}};
(function (module, exports) {
- !function(t,e){module.exports=e();}(commonjsGlobal,(function(){var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(n,i,o){var r,a=function(t,n,i){void 0===i&&(i={});var o=new Date(t),r=function(t,n){void 0===n&&(n={});var i=n.timeZoneName||"short",o=t+"|"+i,r=e[o];return r||(r=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:i}),e[o]=r),r}(n,i);return r.formatToParts(o)},u=function(e,n){for(var i=a(e,n),r=[],u=0;u=0&&(r[c]=parseInt(m,10));}var d=r[3],l=24===d?0:d,h=r[0]+"-"+r[1]+"-"+r[2]+" "+l+":"+r[4]+":"+r[5]+":000",v=+e;return (o.utc(h).valueOf()-(v-=v%1e3))/6e4},f=i.prototype;f.tz=function(t,e){void 0===t&&(t=r);var n=this.utcOffset(),i=this.toDate(),a=i.toLocaleString("en-US",{timeZone:t}),u=Math.round((i-new Date(a))/1e3/60),f=o(a,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(15*-Math.round(i.getTimezoneOffset()/15)-u,!0);if(e){var s=f.utcOffset();f=f.add(n-s,"minute");}return f.$x.$timezone=t,f},f.offsetName=function(t){var e=this.$x.$timezone||o.tz.guess(),n=a(this.valueOf(),e,{timeZoneName:t}).find((function(t){return "timezonename"===t.type.toLowerCase()}));return n&&n.value};var s=f.startOf;f.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return s.call(this,t,e);var n=o(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return s.call(n,t,e).tz(this.$x.$timezone,!0)},o.tz=function(t,e,n){var i=n&&e,a=n||e||r,f=u(+o(),a);if("string"!=typeof t)return o(t).tz(a);var s=function(t,e,n){var i=t-60*e*1e3,o=u(i,n);if(e===o)return [i,e];var r=u(i-=60*(o-e)*1e3,n);return o===r?[i,o]:[t-60*Math.min(o,r)*1e3,Math.max(o,r)]}(o.utc(t,i).valueOf(),f,a),m=s[0],c=s[1],d=o(m).utcOffset(c);return d.$x.$timezone=a,d},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(t){r=t;};}}));
+ !function(t,e){module.exports=e();}(commonjsGlobal,(function(){var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(n,i,o){var r,a=function(t,n,i){void 0===i&&(i={});var o=new Date(t),r=function(t,n){void 0===n&&(n={});var i=n.timeZoneName||"short",o=t+"|"+i,r=e[o];return r||(r=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:i}),e[o]=r),r}(n,i);return r.formatToParts(o)},u=function(e,n){for(var i=a(e,n),r=[],u=0;u=0&&(r[c]=parseInt(m,10));}var d=r[3],l=24===d?0:d,h=r[0]+"-"+r[1]+"-"+r[2]+" "+l+":"+r[4]+":"+r[5]+":000",v=+e;return (o.utc(h).valueOf()-(v-=v%1e3))/6e4},f=i.prototype;f.tz=function(t,e){void 0===t&&(t=r);var n=this.utcOffset(),i=this.toDate(),a=i.toLocaleString("en-US",{timeZone:t}),u=Math.round((i-new Date(a))/1e3/60),f=o(a,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(15*-Math.round(i.getTimezoneOffset()/15)-u,!0);if(e){var s=f.utcOffset();f=f.add(n-s,"minute");}return f.$x.$timezone=t,f},f.offsetName=function(t){var e=this.$x.$timezone||o.tz.guess(),n=a(this.valueOf(),e,{timeZoneName:t}).find((function(t){return "timezonename"===t.type.toLowerCase()}));return n&&n.value};var s=f.startOf;f.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return s.call(this,t,e);var n=o(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return s.call(n,t,e).tz(this.$x.$timezone,!0)},o.tz=function(t,e,n){var i=n&&e,a=n||e||r,f=u(+o(),a);if("string"!=typeof t)return o(t).tz(a);var s=function(t,e,n){var i=t-60*e*1e3,o=u(i,n);if(e===o)return [i,e];var r=u(i-=60*(o-e)*1e3,n);return o===r?[i,o]:[t-60*Math.min(o,r)*1e3,Math.max(o,r)]}(o.utc(t,i).valueOf(),f,a),m=s[0],c=s[1],d=o(m).utcOffset(c);return d.$x.$timezone=a,d},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(t){r=t;};}}));
} (timezone$1));
var timezoneExports = timezone$1.exports;
@@ -12207,7 +12207,7 @@ var timezone = /*@__PURE__*/getDefaultExportFromCjs(timezoneExports);
var localeData$1 = {exports: {}};
(function (module, exports) {
- !function(n,e){module.exports=e();}(commonjsGlobal,(function(){return function(n,e,t){var r=e.prototype,o=function(n){return n&&(n.indexOf?n:n.s)},u=function(n,e,t,r,u){var i=n.name?n:n.$locale(),a=o(i[e]),s=o(i[t]),f=a||s.map((function(n){return n.slice(0,r)}));if(!u)return f;var d=i.weekStart;return f.map((function(n,e){return f[(e+(d||0))%7]}))},i=function(){return t.Ls[t.locale()]},a=function(n,e){return n.formats[e]||function(n){return n.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(n,e,t){return e||t.slice(1)}))}(n.formats[e.toUpperCase()])},s=function(){var n=this;return {months:function(e){return e?e.format("MMMM"):u(n,"months")},monthsShort:function(e){return e?e.format("MMM"):u(n,"monthsShort","months",3)},firstDayOfWeek:function(){return n.$locale().weekStart||0},weekdays:function(e){return e?e.format("dddd"):u(n,"weekdays")},weekdaysMin:function(e){return e?e.format("dd"):u(n,"weekdaysMin","weekdays",2)},weekdaysShort:function(e){return e?e.format("ddd"):u(n,"weekdaysShort","weekdays",3)},longDateFormat:function(e){return a(n.$locale(),e)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};r.localeData=function(){return s.bind(this)()},t.localeData=function(){var n=i();return {firstDayOfWeek:function(){return n.weekStart||0},weekdays:function(){return t.weekdays()},weekdaysShort:function(){return t.weekdaysShort()},weekdaysMin:function(){return t.weekdaysMin()},months:function(){return t.months()},monthsShort:function(){return t.monthsShort()},longDateFormat:function(e){return a(n,e)},meridiem:n.meridiem,ordinal:n.ordinal}},t.months=function(){return u(i(),"months")},t.monthsShort=function(){return u(i(),"monthsShort","months",3)},t.weekdays=function(n){return u(i(),"weekdays",null,null,n)},t.weekdaysShort=function(n){return u(i(),"weekdaysShort","weekdays",3,n)},t.weekdaysMin=function(n){return u(i(),"weekdaysMin","weekdays",2,n)};}}));
+ !function(n,e){module.exports=e();}(commonjsGlobal,(function(){return function(n,e,t){var r=e.prototype,o=function(n){return n&&(n.indexOf?n:n.s)},u=function(n,e,t,r,u){var i=n.name?n:n.$locale(),a=o(i[e]),s=o(i[t]),f=a||s.map((function(n){return n.slice(0,r)}));if(!u)return f;var d=i.weekStart;return f.map((function(n,e){return f[(e+(d||0))%7]}))},i=function(){return t.Ls[t.locale()]},a=function(n,e){return n.formats[e]||function(n){return n.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(n,e,t){return e||t.slice(1)}))}(n.formats[e.toUpperCase()])},s=function(){var n=this;return {months:function(e){return e?e.format("MMMM"):u(n,"months")},monthsShort:function(e){return e?e.format("MMM"):u(n,"monthsShort","months",3)},firstDayOfWeek:function(){return n.$locale().weekStart||0},weekdays:function(e){return e?e.format("dddd"):u(n,"weekdays")},weekdaysMin:function(e){return e?e.format("dd"):u(n,"weekdaysMin","weekdays",2)},weekdaysShort:function(e){return e?e.format("ddd"):u(n,"weekdaysShort","weekdays",3)},longDateFormat:function(e){return a(n.$locale(),e)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};r.localeData=function(){return s.bind(this)()},t.localeData=function(){var n=i();return {firstDayOfWeek:function(){return n.weekStart||0},weekdays:function(){return t.weekdays()},weekdaysShort:function(){return t.weekdaysShort()},weekdaysMin:function(){return t.weekdaysMin()},months:function(){return t.months()},monthsShort:function(){return t.monthsShort()},longDateFormat:function(e){return a(n,e)},meridiem:n.meridiem,ordinal:n.ordinal}},t.months=function(){return u(i(),"months")},t.monthsShort=function(){return u(i(),"monthsShort","months",3)},t.weekdays=function(n){return u(i(),"weekdays",null,null,n)},t.weekdaysShort=function(n){return u(i(),"weekdaysShort","weekdays",3,n)},t.weekdaysMin=function(n){return u(i(),"weekdaysMin","weekdays",2,n)};}}));
} (localeData$1));
var localeDataExports = localeData$1.exports;
@@ -12216,7 +12216,7 @@ var localeData = /*@__PURE__*/getDefaultExportFromCjs(localeDataExports);
var localizedFormat$1 = {exports: {}};
(function (module, exports) {
- !function(e,t){module.exports=t();}(commonjsGlobal,(function(){var e={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};return function(t,o,n){var r=o.prototype,i=r.format;n.en.formats=e,r.format=function(t){void 0===t&&(t="YYYY-MM-DDTHH:mm:ssZ");var o=this.$locale().formats,n=function(t,o){return t.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var i=r&&r.toUpperCase();return n||o[r]||e[r]||o[i].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,o){return t||o.slice(1)}))}))}(t,void 0===o?{}:o);return i.call(this,n)};}}));
+ !function(e,t){module.exports=t();}(commonjsGlobal,(function(){var e={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};return function(t,o,n){var r=o.prototype,i=r.format;n.en.formats=e,r.format=function(t){void 0===t&&(t="YYYY-MM-DDTHH:mm:ssZ");var o=this.$locale().formats,n=function(t,o){return t.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var i=r&&r.toUpperCase();return n||o[r]||e[r]||o[i].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,o){return t||o.slice(1)}))}))}(t,void 0===o?{}:o);return i.call(this,n)};}}));
} (localizedFormat$1));
var localizedFormatExports = localizedFormat$1.exports;
@@ -12225,7 +12225,7 @@ var localizedFormat = /*@__PURE__*/getDefaultExportFromCjs(localizedFormatExport
var updateLocale$1 = {exports: {}};
(function (module, exports) {
- !function(e,n){module.exports=n();}(commonjsGlobal,(function(){return function(e,n,t){t.updateLocale=function(e,n){var o=t.Ls[e];if(o)return (n?Object.keys(n):[]).forEach((function(e){o[e]=n[e];})),o};}}));
+ !function(e,n){module.exports=n();}(commonjsGlobal,(function(){return function(e,n,t){t.updateLocale=function(e,n){var o=t.Ls[e];if(o)return (n?Object.keys(n):[]).forEach((function(e){o[e]=n[e];})),o};}}));
} (updateLocale$1));
var updateLocaleExports = updateLocale$1.exports;
diff --git a/src/agenda_culturel/static/cal-heatmap/cal-heatmap.js b/src/agenda_culturel/static/cal-heatmap/cal-heatmap.js
index a901a15..2d9697d 100644
--- a/src/agenda_culturel/static/cal-heatmap/cal-heatmap.js
+++ b/src/agenda_culturel/static/cal-heatmap/cal-heatmap.js
@@ -3754,7 +3754,7 @@
//
{
module.exports = EventEmitter;
- }
+ }
} (eventemitter3));
var eventemitter3Exports = eventemitter3.exports;
@@ -12109,7 +12109,7 @@
var dayjs_min = {exports: {}};
(function (module, exports) {
- !function(t,e){module.exports=e();}(commonjsGlobal,(function(){var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",c="month",f="quarter",h="year",d="date",l="Invalid Date",$=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],n=t%100;return "["+t+(e[(n-20)%10]||e[n]||e[0])+"]"}},m=function(t,e,n){var r=String(t);return !r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return (e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()1)return t(u[0])}else {var a=e.name;D[a]=e,i=a;}return !r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0;}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init();},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds();},m.$utils=function(){return b},m.isValid=function(){return !(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)=e?t:""+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return (e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()1)return t(u[0])}else {var a=e.name;D[a]=e,i=a;}return !r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0;}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init();},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds();},m.$utils=function(){return b},m.isValid=function(){return !(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)25){var f=r(this).startOf(t).add(1,t).date(n),s=r(this).endOf(e);if(f.isBefore(s))return 1}var a=r(this).startOf(t).date(n).startOf(e).subtract(1,"millisecond"),o=this.diff(a,e,!0);return o<0?r(this).startOf("week").week():Math.ceil(o)},f.weeks=function(e){return void 0===e&&(e=null),this.week(e)};}}));
+ !function(e,t){module.exports=t();}(commonjsGlobal,(function(){var e="week",t="year";return function(i,n,r){var f=n.prototype;f.week=function(i){if(void 0===i&&(i=null),null!==i)return this.add(7*(i-this.week()),"day");var n=this.$locale().yearStart||1;if(11===this.month()&&this.date()>25){var f=r(this).startOf(t).add(1,t).date(n),s=r(this).endOf(e);if(f.isBefore(s))return 1}var a=r(this).startOf(t).date(n).startOf(e).subtract(1,"millisecond"),o=this.diff(a,e,!0);return o<0?r(this).startOf("week").week():Math.ceil(o)},f.weeks=function(e){return void 0===e&&(e=null),this.week(e)};}}));
} (weekOfYear$1));
var weekOfYearExports = weekOfYear$1.exports;
@@ -12127,7 +12127,7 @@
var dayOfYear$1 = {exports: {}};
(function (module, exports) {
- !function(e,t){module.exports=t();}(commonjsGlobal,(function(){return function(e,t,n){t.prototype.dayOfYear=function(e){var t=Math.round((n(this).startOf("day")-n(this).startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"day")};}}));
+ !function(e,t){module.exports=t();}(commonjsGlobal,(function(){return function(e,t,n){t.prototype.dayOfYear=function(e){var t=Math.round((n(this).startOf("day")-n(this).startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"day")};}}));
} (dayOfYear$1));
var dayOfYearExports = dayOfYear$1.exports;
@@ -12136,7 +12136,7 @@
var weekday$1 = {exports: {}};
(function (module, exports) {
- !function(e,t){module.exports=t();}(commonjsGlobal,(function(){return function(e,t){t.prototype.weekday=function(e){var t=this.$locale().weekStart||0,i=this.$W,n=(i0&&(n=n[0]);t=(n=n.filter((function(e){return e})))[0];for(var i=1;i0&&(n=n[0]);t=(n=n.filter((function(e){return e})))[0];for(var i=1;i4&&(o+=7),n.add(o,e));return r.diff(u,"week")+1},d.isoWeekday=function(e){return this.$utils().u(e)?this.day()||7:this.day(this.day()%7?e:e-7)};var n=d.startOf;d.startOf=function(e,t){var i=this.$utils(),s=!!i.u(t)||t;return "isoweek"===i.p(e)?s?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):n.bind(this)(e,t)};}}));
+ !function(e,t){module.exports=t();}(commonjsGlobal,(function(){var e="day";return function(t,i,s){var a=function(t){return t.add(4-t.isoWeekday(),e)},d=i.prototype;d.isoWeekYear=function(){return a(this).year()},d.isoWeek=function(t){if(!this.$utils().u(t))return this.add(7*(t-this.isoWeek()),e);var i,d,n,o,r=a(this),u=(i=this.isoWeekYear(),d=this.$u,n=(d?s.utc:s)().year(i).startOf("year"),o=4-n.isoWeekday(),n.isoWeekday()>4&&(o+=7),n.add(o,e));return r.diff(u,"week")+1},d.isoWeekday=function(e){return this.$utils().u(e)?this.day()||7:this.day(this.day()%7?e:e-7)};var n=d.startOf;d.startOf=function(e,t){var i=this.$utils(),s=!!i.u(t)||t;return "isoweek"===i.p(e)?s?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):n.bind(this)(e,t)};}}));
} (isoWeek$1));
var isoWeekExports = isoWeek$1.exports;
@@ -12172,7 +12172,7 @@
var isLeapYear$1 = {exports: {}};
(function (module, exports) {
- !function(e,t){module.exports=t();}(commonjsGlobal,(function(){return function(e,t){t.prototype.isLeapYear=function(){return this.$y%4==0&&this.$y%100!=0||this.$y%400==0};}}));
+ !function(e,t){module.exports=t();}(commonjsGlobal,(function(){return function(e,t){t.prototype.isLeapYear=function(){return this.$y%4==0&&this.$y%100!=0||this.$y%400==0};}}));
} (isLeapYear$1));
var isLeapYearExports = isLeapYear$1.exports;
@@ -12181,7 +12181,7 @@
var advancedFormat$1 = {exports: {}};
(function (module, exports) {
- !function(e,t){module.exports=t();}(commonjsGlobal,(function(){return function(e,t){var r=t.prototype,n=r.format;r.format=function(e){var t=this,r=this.$locale();if(!this.isValid())return n.bind(this)(e);var s=this.$utils(),a=(e||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(e){switch(e){case"Q":return Math.ceil((t.$M+1)/3);case"Do":return r.ordinal(t.$D);case"gggg":return t.weekYear();case"GGGG":return t.isoWeekYear();case"wo":return r.ordinal(t.week(),"W");case"w":case"ww":return s.s(t.week(),"w"===e?1:2,"0");case"W":case"WW":return s.s(t.isoWeek(),"W"===e?1:2,"0");case"k":case"kk":return s.s(String(0===t.$H?24:t.$H),"k"===e?1:2,"0");case"X":return Math.floor(t.$d.getTime()/1e3);case"x":return t.$d.getTime();case"z":return "["+t.offsetName()+"]";case"zzz":return "["+t.offsetName("long")+"]";default:return e}}));return n.bind(this)(a)};}}));
+ !function(e,t){module.exports=t();}(commonjsGlobal,(function(){return function(e,t){var r=t.prototype,n=r.format;r.format=function(e){var t=this,r=this.$locale();if(!this.isValid())return n.bind(this)(e);var s=this.$utils(),a=(e||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(e){switch(e){case"Q":return Math.ceil((t.$M+1)/3);case"Do":return r.ordinal(t.$D);case"gggg":return t.weekYear();case"GGGG":return t.isoWeekYear();case"wo":return r.ordinal(t.week(),"W");case"w":case"ww":return s.s(t.week(),"w"===e?1:2,"0");case"W":case"WW":return s.s(t.isoWeek(),"W"===e?1:2,"0");case"k":case"kk":return s.s(String(0===t.$H?24:t.$H),"k"===e?1:2,"0");case"X":return Math.floor(t.$d.getTime()/1e3);case"x":return t.$d.getTime();case"z":return "["+t.offsetName()+"]";case"zzz":return "["+t.offsetName("long")+"]";default:return e}}));return n.bind(this)(a)};}}));
} (advancedFormat$1));
var advancedFormatExports = advancedFormat$1.exports;
@@ -12190,7 +12190,7 @@
var utc$1 = {exports: {}};
(function (module, exports) {
- !function(t,i){module.exports=i();}(commonjsGlobal,(function(){var t="minute",i=/[+-]\d\d(?::?\d\d)?/g,e=/([+-]|\d\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t);};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds();}else r.call(this);};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if("string"==typeof s&&(s=function(t){void 0===t&&(t="");var s=t.match(i);if(!s)return null;var f=(""+s[0]).match(e)||["-",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:"+"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r;}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return !!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return "s"===t&&this.$offset?n(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)};}}));
+ !function(t,i){module.exports=i();}(commonjsGlobal,(function(){var t="minute",i=/[+-]\d\d(?::?\d\d)?/g,e=/([+-]|\d\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t);};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds();}else r.call(this);};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if("string"==typeof s&&(s=function(t){void 0===t&&(t="");var s=t.match(i);if(!s)return null;var f=(""+s[0]).match(e)||["-",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:"+"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r;}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return !!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return "s"===t&&this.$offset?n(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)};}}));
} (utc$1));
var utcExports = utc$1.exports;
@@ -12199,7 +12199,7 @@
var timezone$1 = {exports: {}};
(function (module, exports) {
- !function(t,e){module.exports=e();}(commonjsGlobal,(function(){var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(n,i,o){var r,a=function(t,n,i){void 0===i&&(i={});var o=new Date(t),r=function(t,n){void 0===n&&(n={});var i=n.timeZoneName||"short",o=t+"|"+i,r=e[o];return r||(r=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:i}),e[o]=r),r}(n,i);return r.formatToParts(o)},u=function(e,n){for(var i=a(e,n),r=[],u=0;u=0&&(r[c]=parseInt(m,10));}var d=r[3],l=24===d?0:d,h=r[0]+"-"+r[1]+"-"+r[2]+" "+l+":"+r[4]+":"+r[5]+":000",v=+e;return (o.utc(h).valueOf()-(v-=v%1e3))/6e4},f=i.prototype;f.tz=function(t,e){void 0===t&&(t=r);var n=this.utcOffset(),i=this.toDate(),a=i.toLocaleString("en-US",{timeZone:t}),u=Math.round((i-new Date(a))/1e3/60),f=o(a,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(15*-Math.round(i.getTimezoneOffset()/15)-u,!0);if(e){var s=f.utcOffset();f=f.add(n-s,"minute");}return f.$x.$timezone=t,f},f.offsetName=function(t){var e=this.$x.$timezone||o.tz.guess(),n=a(this.valueOf(),e,{timeZoneName:t}).find((function(t){return "timezonename"===t.type.toLowerCase()}));return n&&n.value};var s=f.startOf;f.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return s.call(this,t,e);var n=o(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return s.call(n,t,e).tz(this.$x.$timezone,!0)},o.tz=function(t,e,n){var i=n&&e,a=n||e||r,f=u(+o(),a);if("string"!=typeof t)return o(t).tz(a);var s=function(t,e,n){var i=t-60*e*1e3,o=u(i,n);if(e===o)return [i,e];var r=u(i-=60*(o-e)*1e3,n);return o===r?[i,o]:[t-60*Math.min(o,r)*1e3,Math.max(o,r)]}(o.utc(t,i).valueOf(),f,a),m=s[0],c=s[1],d=o(m).utcOffset(c);return d.$x.$timezone=a,d},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(t){r=t;};}}));
+ !function(t,e){module.exports=e();}(commonjsGlobal,(function(){var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(n,i,o){var r,a=function(t,n,i){void 0===i&&(i={});var o=new Date(t),r=function(t,n){void 0===n&&(n={});var i=n.timeZoneName||"short",o=t+"|"+i,r=e[o];return r||(r=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:i}),e[o]=r),r}(n,i);return r.formatToParts(o)},u=function(e,n){for(var i=a(e,n),r=[],u=0;u=0&&(r[c]=parseInt(m,10));}var d=r[3],l=24===d?0:d,h=r[0]+"-"+r[1]+"-"+r[2]+" "+l+":"+r[4]+":"+r[5]+":000",v=+e;return (o.utc(h).valueOf()-(v-=v%1e3))/6e4},f=i.prototype;f.tz=function(t,e){void 0===t&&(t=r);var n=this.utcOffset(),i=this.toDate(),a=i.toLocaleString("en-US",{timeZone:t}),u=Math.round((i-new Date(a))/1e3/60),f=o(a,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(15*-Math.round(i.getTimezoneOffset()/15)-u,!0);if(e){var s=f.utcOffset();f=f.add(n-s,"minute");}return f.$x.$timezone=t,f},f.offsetName=function(t){var e=this.$x.$timezone||o.tz.guess(),n=a(this.valueOf(),e,{timeZoneName:t}).find((function(t){return "timezonename"===t.type.toLowerCase()}));return n&&n.value};var s=f.startOf;f.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return s.call(this,t,e);var n=o(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return s.call(n,t,e).tz(this.$x.$timezone,!0)},o.tz=function(t,e,n){var i=n&&e,a=n||e||r,f=u(+o(),a);if("string"!=typeof t)return o(t).tz(a);var s=function(t,e,n){var i=t-60*e*1e3,o=u(i,n);if(e===o)return [i,e];var r=u(i-=60*(o-e)*1e3,n);return o===r?[i,o]:[t-60*Math.min(o,r)*1e3,Math.max(o,r)]}(o.utc(t,i).valueOf(),f,a),m=s[0],c=s[1],d=o(m).utcOffset(c);return d.$x.$timezone=a,d},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(t){r=t;};}}));
} (timezone$1));
var timezoneExports = timezone$1.exports;
@@ -12208,7 +12208,7 @@
var localeData$1 = {exports: {}};
(function (module, exports) {
- !function(n,e){module.exports=e();}(commonjsGlobal,(function(){return function(n,e,t){var r=e.prototype,o=function(n){return n&&(n.indexOf?n:n.s)},u=function(n,e,t,r,u){var i=n.name?n:n.$locale(),a=o(i[e]),s=o(i[t]),f=a||s.map((function(n){return n.slice(0,r)}));if(!u)return f;var d=i.weekStart;return f.map((function(n,e){return f[(e+(d||0))%7]}))},i=function(){return t.Ls[t.locale()]},a=function(n,e){return n.formats[e]||function(n){return n.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(n,e,t){return e||t.slice(1)}))}(n.formats[e.toUpperCase()])},s=function(){var n=this;return {months:function(e){return e?e.format("MMMM"):u(n,"months")},monthsShort:function(e){return e?e.format("MMM"):u(n,"monthsShort","months",3)},firstDayOfWeek:function(){return n.$locale().weekStart||0},weekdays:function(e){return e?e.format("dddd"):u(n,"weekdays")},weekdaysMin:function(e){return e?e.format("dd"):u(n,"weekdaysMin","weekdays",2)},weekdaysShort:function(e){return e?e.format("ddd"):u(n,"weekdaysShort","weekdays",3)},longDateFormat:function(e){return a(n.$locale(),e)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};r.localeData=function(){return s.bind(this)()},t.localeData=function(){var n=i();return {firstDayOfWeek:function(){return n.weekStart||0},weekdays:function(){return t.weekdays()},weekdaysShort:function(){return t.weekdaysShort()},weekdaysMin:function(){return t.weekdaysMin()},months:function(){return t.months()},monthsShort:function(){return t.monthsShort()},longDateFormat:function(e){return a(n,e)},meridiem:n.meridiem,ordinal:n.ordinal}},t.months=function(){return u(i(),"months")},t.monthsShort=function(){return u(i(),"monthsShort","months",3)},t.weekdays=function(n){return u(i(),"weekdays",null,null,n)},t.weekdaysShort=function(n){return u(i(),"weekdaysShort","weekdays",3,n)},t.weekdaysMin=function(n){return u(i(),"weekdaysMin","weekdays",2,n)};}}));
+ !function(n,e){module.exports=e();}(commonjsGlobal,(function(){return function(n,e,t){var r=e.prototype,o=function(n){return n&&(n.indexOf?n:n.s)},u=function(n,e,t,r,u){var i=n.name?n:n.$locale(),a=o(i[e]),s=o(i[t]),f=a||s.map((function(n){return n.slice(0,r)}));if(!u)return f;var d=i.weekStart;return f.map((function(n,e){return f[(e+(d||0))%7]}))},i=function(){return t.Ls[t.locale()]},a=function(n,e){return n.formats[e]||function(n){return n.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(n,e,t){return e||t.slice(1)}))}(n.formats[e.toUpperCase()])},s=function(){var n=this;return {months:function(e){return e?e.format("MMMM"):u(n,"months")},monthsShort:function(e){return e?e.format("MMM"):u(n,"monthsShort","months",3)},firstDayOfWeek:function(){return n.$locale().weekStart||0},weekdays:function(e){return e?e.format("dddd"):u(n,"weekdays")},weekdaysMin:function(e){return e?e.format("dd"):u(n,"weekdaysMin","weekdays",2)},weekdaysShort:function(e){return e?e.format("ddd"):u(n,"weekdaysShort","weekdays",3)},longDateFormat:function(e){return a(n.$locale(),e)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};r.localeData=function(){return s.bind(this)()},t.localeData=function(){var n=i();return {firstDayOfWeek:function(){return n.weekStart||0},weekdays:function(){return t.weekdays()},weekdaysShort:function(){return t.weekdaysShort()},weekdaysMin:function(){return t.weekdaysMin()},months:function(){return t.months()},monthsShort:function(){return t.monthsShort()},longDateFormat:function(e){return a(n,e)},meridiem:n.meridiem,ordinal:n.ordinal}},t.months=function(){return u(i(),"months")},t.monthsShort=function(){return u(i(),"monthsShort","months",3)},t.weekdays=function(n){return u(i(),"weekdays",null,null,n)},t.weekdaysShort=function(n){return u(i(),"weekdaysShort","weekdays",3,n)},t.weekdaysMin=function(n){return u(i(),"weekdaysMin","weekdays",2,n)};}}));
} (localeData$1));
var localeDataExports = localeData$1.exports;
@@ -12217,7 +12217,7 @@
var localizedFormat$1 = {exports: {}};
(function (module, exports) {
- !function(e,t){module.exports=t();}(commonjsGlobal,(function(){var e={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};return function(t,o,n){var r=o.prototype,i=r.format;n.en.formats=e,r.format=function(t){void 0===t&&(t="YYYY-MM-DDTHH:mm:ssZ");var o=this.$locale().formats,n=function(t,o){return t.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var i=r&&r.toUpperCase();return n||o[r]||e[r]||o[i].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,o){return t||o.slice(1)}))}))}(t,void 0===o?{}:o);return i.call(this,n)};}}));
+ !function(e,t){module.exports=t();}(commonjsGlobal,(function(){var e={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};return function(t,o,n){var r=o.prototype,i=r.format;n.en.formats=e,r.format=function(t){void 0===t&&(t="YYYY-MM-DDTHH:mm:ssZ");var o=this.$locale().formats,n=function(t,o){return t.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var i=r&&r.toUpperCase();return n||o[r]||e[r]||o[i].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,o){return t||o.slice(1)}))}))}(t,void 0===o?{}:o);return i.call(this,n)};}}));
} (localizedFormat$1));
var localizedFormatExports = localizedFormat$1.exports;
@@ -12226,7 +12226,7 @@
var updateLocale$1 = {exports: {}};
(function (module, exports) {
- !function(e,n){module.exports=n();}(commonjsGlobal,(function(){return function(e,n,t){t.updateLocale=function(e,n){var o=t.Ls[e];if(o)return (n?Object.keys(n):[]).forEach((function(e){o[e]=n[e];})),o};}}));
+ !function(e,n){module.exports=n();}(commonjsGlobal,(function(){return function(e,n,t){t.updateLocale=function(e,n){var o=t.Ls[e];if(o)return (n?Object.keys(n):[]).forEach((function(e){o[e]=n[e];})),o};}}));
} (updateLocale$1));
var updateLocaleExports = updateLocale$1.exports;
diff --git a/src/agenda_culturel/static/cal-heatmap/cal-heatmap.min.esm.js.map b/src/agenda_culturel/static/cal-heatmap/cal-heatmap.min.esm.js.map
index 03c62e0..4496c25 100644
--- a/src/agenda_culturel/static/cal-heatmap/cal-heatmap.min.esm.js.map
+++ b/src/agenda_culturel/static/cal-heatmap/cal-heatmap.min.esm.js.map
@@ -1 +1 @@
-{"version":3,"file":"cal-heatmap.min.esm.js","sources":["../node_modules/core-js/internals/global.js","../node_modules/core-js/internals/define-global-property.js","../node_modules/core-js/internals/shared-store.js","../node_modules/core-js/internals/shared.js","../node_modules/core-js/internals/engine-v8-version.js","../node_modules/core-js/internals/fails.js","../node_modules/core-js/internals/function-bind-native.js","../node_modules/core-js/internals/function-uncurry-this.js","../node_modules/core-js/internals/is-null-or-undefined.js","../node_modules/core-js/internals/require-object-coercible.js","../node_modules/core-js/internals/to-object.js","../node_modules/core-js/internals/has-own-property.js","../node_modules/core-js/internals/uid.js","../node_modules/core-js/internals/engine-user-agent.js","../node_modules/core-js/internals/symbol-constructor-detection.js","../node_modules/core-js/internals/use-symbol-as-uid.js","../node_modules/core-js/internals/well-known-symbol.js","../node_modules/core-js/internals/to-string-tag-support.js","../node_modules/core-js/internals/document-all.js","../node_modules/core-js/internals/is-callable.js","../node_modules/core-js/internals/descriptors.js","../node_modules/core-js/internals/is-object.js","../node_modules/core-js/internals/document-create-element.js","../node_modules/core-js/internals/ie8-dom-define.js","../node_modules/core-js/internals/v8-prototype-define-bug.js","../node_modules/core-js/internals/an-object.js","../node_modules/core-js/internals/function-call.js","../node_modules/core-js/internals/get-built-in.js","../node_modules/core-js/internals/object-is-prototype-of.js","../node_modules/core-js/internals/is-symbol.js","../node_modules/core-js/internals/try-to-string.js","../node_modules/core-js/internals/a-callable.js","../node_modules/core-js/internals/get-method.js","../node_modules/core-js/internals/ordinary-to-primitive.js","../node_modules/core-js/internals/to-primitive.js","../node_modules/core-js/internals/to-property-key.js","../node_modules/core-js/internals/object-define-property.js","../node_modules/core-js/internals/function-name.js","../node_modules/core-js/internals/inspect-source.js","../node_modules/core-js/internals/internal-state.js","../node_modules/core-js/internals/weak-map-basic-detection.js","../node_modules/core-js/internals/create-property-descriptor.js","../node_modules/core-js/internals/create-non-enumerable-property.js","../node_modules/core-js/internals/shared-key.js","../node_modules/core-js/internals/hidden-keys.js","../node_modules/core-js/internals/make-built-in.js","../node_modules/core-js/internals/define-built-in.js","../node_modules/core-js/internals/classof-raw.js","../node_modules/core-js/internals/classof.js","../node_modules/core-js/internals/object-to-string.js","../node_modules/core-js/modules/es.object.to-string.js","../node_modules/core-js/internals/object-property-is-enumerable.js","../node_modules/core-js/internals/indexed-object.js","../node_modules/core-js/internals/to-indexed-object.js","../node_modules/core-js/internals/object-get-own-property-descriptor.js","../node_modules/core-js/internals/math-trunc.js","../node_modules/core-js/internals/to-integer-or-infinity.js","../node_modules/core-js/internals/to-absolute-index.js","../node_modules/core-js/internals/to-length.js","../node_modules/core-js/internals/length-of-array-like.js","../node_modules/core-js/internals/array-includes.js","../node_modules/core-js/internals/object-keys-internal.js","../node_modules/core-js/internals/enum-bug-keys.js","../node_modules/core-js/internals/object-get-own-property-names.js","../node_modules/core-js/internals/object-get-own-property-symbols.js","../node_modules/core-js/internals/own-keys.js","../node_modules/core-js/internals/copy-constructor-properties.js","../node_modules/core-js/internals/is-forced.js","../node_modules/core-js/internals/export.js","../node_modules/core-js/internals/engine-is-node.js","../node_modules/core-js/internals/function-uncurry-this-accessor.js","../node_modules/core-js/internals/a-possible-prototype.js","../node_modules/core-js/internals/object-set-prototype-of.js","../node_modules/core-js/internals/set-to-string-tag.js","../node_modules/core-js/internals/define-built-in-accessor.js","../node_modules/core-js/internals/set-species.js","../node_modules/core-js/internals/an-instance.js","../node_modules/core-js/internals/is-constructor.js","../node_modules/core-js/internals/task.js","../node_modules/core-js/internals/a-constructor.js","../node_modules/core-js/internals/species-constructor.js","../node_modules/core-js/internals/function-apply.js","../node_modules/core-js/internals/function-uncurry-this-clause.js","../node_modules/core-js/internals/function-bind-context.js","../node_modules/core-js/internals/html.js","../node_modules/core-js/internals/array-slice.js","../node_modules/core-js/internals/validate-arguments-length.js","../node_modules/core-js/internals/engine-is-ios.js","../node_modules/core-js/internals/queue.js","../node_modules/core-js/internals/microtask.js","../node_modules/core-js/internals/engine-is-ios-pebble.js","../node_modules/core-js/internals/engine-is-webos-webkit.js","../node_modules/core-js/internals/perform.js","../node_modules/core-js/internals/promise-native-constructor.js","../node_modules/core-js/internals/engine-is-deno.js","../node_modules/core-js/internals/engine-is-browser.js","../node_modules/core-js/internals/promise-constructor-detection.js","../node_modules/core-js/internals/new-promise-capability.js","../node_modules/core-js/modules/es.promise.constructor.js","../node_modules/core-js/internals/host-report-errors.js","../node_modules/core-js/internals/iterators.js","../node_modules/core-js/internals/is-array-iterator-method.js","../node_modules/core-js/internals/get-iterator-method.js","../node_modules/core-js/internals/get-iterator.js","../node_modules/core-js/internals/iterator-close.js","../node_modules/core-js/internals/iterate.js","../node_modules/core-js/internals/check-correctness-of-iteration.js","../node_modules/core-js/internals/promise-statics-incorrect-iteration.js","../node_modules/core-js/modules/es.promise.all.js","../node_modules/core-js/modules/es.promise.catch.js","../node_modules/core-js/modules/es.promise.race.js","../node_modules/core-js/modules/es.promise.reject.js","../node_modules/core-js/internals/promise-resolve.js","../node_modules/core-js/modules/es.promise.resolve.js","../node_modules/core-js/internals/object-keys.js","../node_modules/core-js/internals/object-define-properties.js","../node_modules/core-js/internals/object-create.js","../node_modules/core-js/internals/add-to-unscopables.js","../node_modules/core-js/internals/iterators-core.js","../node_modules/core-js/internals/correct-prototype-getter.js","../node_modules/core-js/internals/object-get-prototype-of.js","../node_modules/core-js/internals/iterator-create-constructor.js","../node_modules/core-js/internals/iterator-define.js","../node_modules/core-js/internals/create-iter-result-object.js","../node_modules/core-js/modules/es.array.iterator.js","../node_modules/core-js/modules/es.promise.all-settled.js","../node_modules/core-js/internals/to-string.js","../node_modules/core-js/internals/string-multibyte.js","../node_modules/core-js/modules/es.string.iterator.js","../node_modules/core-js/internals/dom-iterables.js","../node_modules/core-js/internals/dom-token-list-prototype.js","../node_modules/core-js/modules/web.dom-collections.iterator.js","../node_modules/core-js/internals/array-fill.js","../node_modules/core-js/modules/es.array.fill.js","../node_modules/core-js/internals/is-array.js","../node_modules/core-js/internals/create-property.js","../node_modules/core-js/internals/array-method-has-species-support.js","../node_modules/core-js/modules/es.array.slice.js","../node_modules/tslib/tslib.es6.js","../node_modules/eventemitter3/index.js","../node_modules/lodash-es/isArray.js","../node_modules/lodash-es/castArray.js","../node_modules/core-js/internals/array-species-constructor.js","../node_modules/core-js/internals/array-species-create.js","../node_modules/core-js/internals/array-iteration.js","../node_modules/core-js/modules/es.array.map.js","../node_modules/core-js/internals/object-assign.js","../node_modules/core-js/modules/es.object.assign.js","../node_modules/core-js/internals/array-slice-simple.js","../node_modules/core-js/internals/object-get-own-property-names-external.js","../node_modules/core-js/internals/array-buffer-non-extensible.js","../node_modules/core-js/internals/object-is-extensible.js","../node_modules/core-js/internals/freezing.js","../node_modules/core-js/internals/internal-metadata.js","../node_modules/core-js/internals/inherit-if-required.js","../node_modules/core-js/internals/collection.js","../node_modules/core-js/internals/define-built-ins.js","../node_modules/core-js/internals/collection-weak.js","../../src/constant.ts","../node_modules/core-js/modules/es.weak-set.constructor.js","../../src/calendar/Navigator.ts","../node_modules/core-js/internals/does-not-exceed-safe-integer.js","../node_modules/core-js/modules/es.array.concat.js","../node_modules/core-js/internals/array-method-is-strict.js","../node_modules/core-js/modules/es.array.join.js","../node_modules/core-js/internals/collection-strong.js","../node_modules/core-js/modules/es.map.constructor.js","../node_modules/core-js/internals/delete-property-or-throw.js","../node_modules/core-js/internals/array-sort.js","../node_modules/core-js/internals/engine-ff-version.js","../node_modules/core-js/internals/engine-is-ie-or-edge.js","../node_modules/core-js/internals/engine-webkit-version.js","../node_modules/core-js/modules/es.array.sort.js","../node_modules/core-js/internals/array-for-each.js","../node_modules/core-js/modules/web.dom-collections.for-each.js","../../src/helpers/PositionHelper.ts","../../src/domain/DomainCoordinates.ts","../../src/domain/DomainPainter.ts","../node_modules/core-js/modules/es.array.includes.js","../node_modules/core-js/modules/es.array.filter.js","../node_modules/core-js/internals/call-with-safe-iteration-closing.js","../node_modules/core-js/internals/array-from.js","../node_modules/core-js/modules/es.array.from.js","../../src/calendar/DomainCollection.ts","../../src/domain/DomainLabelPainter.ts","../node_modules/core-js/internals/whitespaces.js","../node_modules/core-js/internals/string-trim.js","../node_modules/core-js/internals/string-trim-forced.js","../node_modules/core-js/modules/es.string.trim.js","../../src/subDomain/SubDomainPainter.ts","../../src/domain/DomainsContainerPainter.ts","../../src/plugins/PluginPainter.ts","../../src/calendar/CalendarPainter.ts","../node_modules/lodash-es/_freeGlobal.js","../node_modules/lodash-es/_root.js","../node_modules/lodash-es/_Symbol.js","../node_modules/lodash-es/_getRawTag.js","../node_modules/lodash-es/_objectToString.js","../node_modules/lodash-es/_baseGetTag.js","../node_modules/lodash-es/isObject.js","../node_modules/lodash-es/isFunction.js","../node_modules/core-js/modules/es.object.keys.js","../node_modules/core-js/internals/is-regexp.js","../node_modules/core-js/modules/es.string.starts-with.js","../node_modules/core-js/internals/not-a-regexp.js","../node_modules/core-js/internals/correct-is-regexp-logic.js","../node_modules/core-js/internals/object-to-array.js","../node_modules/core-js/modules/es.object.entries.js","../node_modules/@observablehq/plot/src/defined.js","../node_modules/isoformat/src/parse.js","../node_modules/@observablehq/plot/src/time.js","../node_modules/@observablehq/plot/src/options.js","../node_modules/@observablehq/plot/src/scales/index.js","../node_modules/@observablehq/plot/src/symbol.js","../node_modules/@observablehq/plot/src/warnings.js","../node_modules/@observablehq/plot/src/scales/schemes.js","../node_modules/@observablehq/plot/src/scales/quantitative.js","../node_modules/@observablehq/plot/src/scales/diverging.js","../node_modules/@observablehq/plot/src/scales/temporal.js","../node_modules/@observablehq/plot/src/scales/ordinal.js","../node_modules/@observablehq/plot/src/scales.js","../../src/scale.ts","../../src/calendar/Populator.ts","../node_modules/lodash-es/eq.js","../node_modules/lodash-es/_assocIndexOf.js","../node_modules/lodash-es/_listCacheDelete.js","../node_modules/lodash-es/_ListCache.js","../node_modules/lodash-es/_listCacheClear.js","../node_modules/lodash-es/_listCacheGet.js","../node_modules/lodash-es/_listCacheHas.js","../node_modules/lodash-es/_listCacheSet.js","../node_modules/lodash-es/_coreJsData.js","../node_modules/lodash-es/_isMasked.js","../node_modules/lodash-es/_toSource.js","../node_modules/lodash-es/_baseIsNative.js","../node_modules/lodash-es/_getNative.js","../node_modules/lodash-es/_getValue.js","../node_modules/lodash-es/_Map.js","../node_modules/lodash-es/_nativeCreate.js","../node_modules/lodash-es/_hashGet.js","../node_modules/lodash-es/_hashHas.js","../node_modules/lodash-es/_Hash.js","../node_modules/lodash-es/_getMapData.js","../node_modules/lodash-es/_isKeyable.js","../node_modules/lodash-es/_MapCache.js","../node_modules/lodash-es/_hashClear.js","../node_modules/lodash-es/_hashDelete.js","../node_modules/lodash-es/_hashSet.js","../node_modules/lodash-es/_mapCacheClear.js","../node_modules/lodash-es/_mapCacheDelete.js","../node_modules/lodash-es/_mapCacheGet.js","../node_modules/lodash-es/_mapCacheHas.js","../node_modules/lodash-es/_mapCacheSet.js","../node_modules/lodash-es/_Stack.js","../node_modules/lodash-es/_stackClear.js","../node_modules/lodash-es/_stackDelete.js","../node_modules/lodash-es/_stackGet.js","../node_modules/lodash-es/_stackHas.js","../node_modules/lodash-es/_stackSet.js","../node_modules/lodash-es/_defineProperty.js","../node_modules/lodash-es/_baseAssignValue.js","../node_modules/lodash-es/_assignMergeValue.js","../node_modules/lodash-es/_baseFor.js","../node_modules/lodash-es/_createBaseFor.js","../node_modules/lodash-es/_cloneBuffer.js","../node_modules/lodash-es/_Uint8Array.js","../node_modules/lodash-es/_cloneTypedArray.js","../node_modules/lodash-es/_cloneArrayBuffer.js","../node_modules/lodash-es/_baseCreate.js","../node_modules/lodash-es/_overArg.js","../node_modules/lodash-es/_getPrototype.js","../node_modules/lodash-es/_isPrototype.js","../node_modules/lodash-es/isObjectLike.js","../node_modules/lodash-es/_baseIsArguments.js","../node_modules/lodash-es/isArguments.js","../node_modules/lodash-es/isLength.js","../node_modules/lodash-es/isArrayLike.js","../node_modules/lodash-es/isBuffer.js","../node_modules/lodash-es/stubFalse.js","../node_modules/lodash-es/isPlainObject.js","../node_modules/lodash-es/_baseIsTypedArray.js","../node_modules/lodash-es/_nodeUtil.js","../node_modules/lodash-es/_baseUnary.js","../node_modules/lodash-es/isTypedArray.js","../node_modules/lodash-es/_safeGet.js","../node_modules/lodash-es/_assignValue.js","../node_modules/lodash-es/_isIndex.js","../node_modules/lodash-es/_arrayLikeKeys.js","../node_modules/lodash-es/_baseTimes.js","../node_modules/lodash-es/_baseKeysIn.js","../node_modules/lodash-es/_nativeKeysIn.js","../node_modules/lodash-es/keysIn.js","../node_modules/lodash-es/toPlainObject.js","../node_modules/lodash-es/_copyObject.js","../node_modules/lodash-es/_baseMergeDeep.js","../node_modules/lodash-es/isArrayLikeObject.js","../node_modules/lodash-es/_copyArray.js","../node_modules/lodash-es/_initCloneObject.js","../node_modules/lodash-es/_baseMerge.js","../node_modules/lodash-es/identity.js","../node_modules/lodash-es/_overRest.js","../node_modules/lodash-es/_baseSetToString.js","../node_modules/lodash-es/constant.js","../node_modules/lodash-es/_shortOut.js","../node_modules/lodash-es/_setToString.js","../node_modules/lodash-es/_baseRest.js","../node_modules/lodash-es/_apply.js","../node_modules/lodash-es/mergeWith.js","../node_modules/lodash-es/_createAssigner.js","../node_modules/lodash-es/_isIterateeCall.js","../node_modules/lodash-es/_SetCache.js","../node_modules/lodash-es/_arraySome.js","../node_modules/lodash-es/_setCacheAdd.js","../node_modules/lodash-es/_setCacheHas.js","../node_modules/lodash-es/_equalArrays.js","../node_modules/lodash-es/_cacheHas.js","../node_modules/lodash-es/_mapToArray.js","../node_modules/lodash-es/_setToArray.js","../node_modules/lodash-es/_equalByTag.js","../node_modules/lodash-es/_getSymbols.js","../node_modules/lodash-es/_arrayFilter.js","../node_modules/lodash-es/stubArray.js","../node_modules/lodash-es/_nativeKeys.js","../node_modules/lodash-es/_baseKeys.js","../node_modules/lodash-es/keys.js","../node_modules/lodash-es/_getAllKeys.js","../node_modules/lodash-es/_baseGetAllKeys.js","../node_modules/lodash-es/_arrayPush.js","../node_modules/lodash-es/_equalObjects.js","../node_modules/lodash-es/_DataView.js","../node_modules/lodash-es/_Promise.js","../node_modules/lodash-es/_Set.js","../node_modules/lodash-es/_WeakMap.js","../node_modules/lodash-es/_getTag.js","../node_modules/lodash-es/_baseIsEqualDeep.js","../node_modules/lodash-es/_baseIsEqual.js","../node_modules/lodash-es/isEqual.js","../node_modules/lodash-es/_baseHas.js","../node_modules/lodash-es/isSymbol.js","../node_modules/lodash-es/_isKey.js","../node_modules/lodash-es/memoize.js","../node_modules/lodash-es/_stringToPath.js","../node_modules/lodash-es/_memoizeCapped.js","../node_modules/lodash-es/_baseToString.js","../node_modules/lodash-es/_arrayMap.js","../node_modules/lodash-es/_castPath.js","../node_modules/lodash-es/toString.js","../node_modules/lodash-es/_toKey.js","../node_modules/lodash-es/has.js","../node_modules/lodash-es/_hasPath.js","../node_modules/lodash-es/get.js","../node_modules/lodash-es/_baseGet.js","../node_modules/lodash-es/set.js","../node_modules/lodash-es/_baseSet.js","../../src/options/OptionsPreProcessors.ts","../node_modules/core-js/internals/regexp-exec.js","../node_modules/lodash-es/isString.js","../../src/options/Options.ts","../node_modules/core-js/internals/regexp-flags.js","../node_modules/core-js/internals/regexp-sticky-helpers.js","../node_modules/core-js/internals/regexp-unsupported-dot-all.js","../node_modules/core-js/internals/regexp-unsupported-ncg.js","../node_modules/core-js/modules/es.regexp.exec.js","../node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","../node_modules/core-js/internals/advance-string-index.js","../node_modules/core-js/internals/get-substitution.js","../node_modules/core-js/internals/regexp-exec-abstract.js","../node_modules/core-js/modules/es.string.replace.js","../../src/DataFetcher.ts","../node_modules/core-js/modules/es.function.name.js","../node_modules/dayjs/dayjs.min.js","../node_modules/dayjs/plugin/weekOfYear.js","../node_modules/dayjs/plugin/dayOfYear.js","../node_modules/dayjs/plugin/weekday.js","../node_modules/dayjs/plugin/minMax.js","../node_modules/dayjs/plugin/isoWeeksInYear.js","../node_modules/dayjs/plugin/isoWeek.js","../node_modules/dayjs/plugin/isLeapYear.js","../node_modules/dayjs/plugin/advancedFormat.js","../node_modules/dayjs/plugin/utc.js","../node_modules/dayjs/plugin/timezone.js","../node_modules/dayjs/plugin/localeData.js","../node_modules/dayjs/plugin/localizedFormat.js","../node_modules/dayjs/plugin/updateLocale.js","../../src/helpers/DateHelper.ts","../node_modules/core-js/modules/es.string.includes.js","../../src/options/OptionsValidator.ts","../node_modules/core-js/modules/es.set.constructor.js","../../src/plugins/PluginManager.ts","../../src/templates/index.ts","../../src/templates/minute.ts","../../src/templates/hour.ts","../../src/templates/day.ts","../../src/templates/xDay.ts","../../src/templates/ghDay.ts","../../src/templates/week.ts","../../src/templates/month.ts","../../src/templates/year.ts","../../src/TemplateCollection.ts","../../src/CalHeatmap.ts","../../src/version.ts"],"sourcesContent":["'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.34.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.34.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","'use strict';\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nvar global = require('../internals/global');\nvar classof = require('../internals/classof-raw');\n\nmodule.exports = classof(global.process) === 'process';\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineBuiltInAccessor(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar Dispatch = global.Dispatch;\nvar Function = global.Function;\nvar MessageChannel = global.MessageChannel;\nvar String = global.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar $location, defer, channel, port;\n\nfails(function () {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n $location = global.location;\n});\n\nvar run = function (id) {\n if (hasOwn(queue, id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar eventListener = function (event) {\n run(event.data);\n};\n\nvar globalPostMessageDefer = function (id) {\n // old engines have not location.origin\n global.postMessage(String(id), $location.protocol + '//' + $location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = eventListener;\n defer = bind(port.postMessage, port);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n isCallable(global.postMessage) &&\n !global.importScripts &&\n $location && $location.protocol !== 'file:' &&\n !fails(globalPostMessageDefer)\n ) {\n defer = globalPostMessageDefer;\n global.addEventListener('message', eventListener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","'use strict';\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw new $TypeError('Not enough arguments');\n return passed;\n};\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\n// eslint-disable-next-line redos/no-vulnerable -- safe\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","'use strict';\nvar Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n var tail = this.tail;\n if (tail) tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n var next = this.head = entry.next;\n if (next === null) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","'use strict';\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar Queue = require('../internals/queue');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/engine-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar microtask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\nvar notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!microtask) {\n var queue = new Queue();\n\n var flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (fn = queue.get()) try {\n fn();\n } catch (error) {\n if (queue.head) notify();\n throw error;\n }\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = bind(promise.then, promise);\n notify = function () {\n then(flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessage\n // - onreadystatechange\n // - setTimeout\n } else {\n // `webpack` dev server bug on IE global methods - use bind(fn, global)\n macrotask = bind(macrotask, global);\n notify = function () {\n macrotask(flush);\n };\n }\n\n microtask = function (fn) {\n if (!queue.head) notify();\n queue.add(fn);\n };\n}\n\nmodule.exports = microtask;\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined';\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict';\nvar global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","'use strict';\n/* global Deno -- Deno case */\nmodule.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object';\n","'use strict';\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nmodule.exports = !IS_DENO && !IS_NODE\n && typeof window == 'object'\n && typeof document == 'object';\n","'use strict';\nvar global = require('../internals/global');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {\n // Detect correctness of subclassing with @@species support\n var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n } return !GLOBAL_CORE_JS_PROMISE && (IS_BROWSER || IS_DENO) && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n SUBCLASSING: SUBCLASSING\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/engine-is-node');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state === FULFILLED;\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(new TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n call(then, result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw new TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n call(then, value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalPromiseState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n\n PromisePrototype = PromiseConstructor.prototype;\n\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: new Queue(),\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state === PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n });\n\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalPromiseState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!NATIVE_PROMISE_SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromisePrototype);\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","'use strict';\nmodule.exports = function (a, b) {\n try {\n // eslint-disable-next-line no-console -- safe\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n } catch (error) { /* empty */ }\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n try {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n } catch (error) { return false; } // workaround of old WebKit + `eval` bug\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","'use strict';\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call($promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['catch'];\n if (NativePromisePrototype['catch'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n reject: function reject(r) {\n var capability = newPromiseCapabilityModule.f(this);\n call(capability.reject, undefined, r);\n return capability.promise;\n }\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] === undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND];\n\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n }\n\n return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\n// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n return { value: value, done: done };\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return createIterResultObject(undefined, true);\n }\n switch (state.kind) {\n case 'keys': return createIterResultObject(index, false);\n case 'values': return createIterResultObject(target[index], false);\n } return createIterResultObject([index, target[index]], false);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.allSettled` method\n// https://tc39.es/ecma262/#sec-promise.allsettled\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n allSettled: function allSettled(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call(promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'fulfilled', value: value };\n --remaining || resolve(values);\n }, function (error) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'rejected', reason: error };\n --remaining || resolve(values);\n });\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return createIterResultObject(undefined, true);\n point = charAt(string, index);\n state.index += point.length;\n return createIterResultObject(point, false);\n});\n","'use strict';\n// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","'use strict';\n// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","'use strict';\nvar global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nvar handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n setToStringTag(CollectionPrototype, COLLECTION_NAME, true);\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype, COLLECTION_NAME);\n}\n\nhandlePrototype(DOMTokenListPrototype, 'DOMTokenList');\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = lengthOfArrayLike(O);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar fill = require('../internals/array-fill');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.fill` method\n// https://tc39.es/ecma262/#sec-array.prototype.fill\n$({ target: 'Array', proto: true }, {\n fill: fill\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('fill');\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar nativeSlice = require('../internals/array-slice');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (isConstructor(Constructor) && (Constructor === $Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === $Array || Constructor === undefined) {\n return nativeSlice(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? $Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport default {\r\n __extends,\r\n __assign,\r\n __rest,\r\n __decorate,\r\n __param,\r\n __metadata,\r\n __awaiter,\r\n __generator,\r\n __createBinding,\r\n __exportStar,\r\n __values,\r\n __read,\r\n __spread,\r\n __spreadArrays,\r\n __spreadArray,\r\n __await,\r\n __asyncGenerator,\r\n __asyncDelegator,\r\n __asyncValues,\r\n __makeTemplateObject,\r\n __importStar,\r\n __importDefault,\r\n __classPrivateFieldGet,\r\n __classPrivateFieldSet,\r\n __classPrivateFieldIn,\r\n};\r\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nexport default isArray;\n","import isArray from './isArray.js';\n\n/**\n * Casts `value` as an array if it's not one.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Lang\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast array.\n * @example\n *\n * _.castArray(1);\n * // => [1]\n *\n * _.castArray({ 'a': 1 });\n * // => [{ 'a': 1 }]\n *\n * _.castArray('abc');\n * // => ['abc']\n *\n * _.castArray(null);\n * // => [null]\n *\n * _.castArray(undefined);\n * // => [undefined]\n *\n * _.castArray();\n * // => []\n *\n * var array = [1, 2, 3];\n * console.log(_.castArray(array) === array);\n * // => true\n */\nfunction castArray() {\n if (!arguments.length) {\n return [];\n }\n var value = arguments[0];\n return isArray(value) ? value : [value];\n}\n\nexport default castArray;\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? $Array : C;\n};\n","'use strict';\nvar arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE === 1;\n var IS_FILTER = TYPE === 2;\n var IS_SOME = TYPE === 3;\n var IS_EVERY = TYPE === 4;\n var IS_FIND_INDEX = TYPE === 6;\n var IS_FILTER_REJECT = TYPE === 7;\n var NO_HOLES = TYPE === 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(self);\n var boundFunction = bind(callbackfn, that);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol('assign detection');\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\nvar $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar $Array = Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = $Array(max(fin - k, 0));\n var n = 0;\n for (; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","'use strict';\n/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) === 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","'use strict';\n// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it\nvar fails = require('../internals/fails');\n\nmodule.exports = fails(function () {\n if (typeof ArrayBuffer == 'function') {\n var buffer = new ArrayBuffer(8);\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe\n if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });\n }\n});\n","'use strict';\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external');\nvar isExtensible = require('../internals/object-is-extensible');\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar REQUIRED = false;\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + id++, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar enable = function () {\n meta.enable = function () { /* empty */ };\n REQUIRED = true;\n var getOwnPropertyNames = getOwnPropertyNamesModule.f;\n var splice = uncurryThis([].splice);\n var test = {};\n test[METADATA] = 1;\n\n // prevent exposing of metadata key\n if (getOwnPropertyNames(test).length) {\n getOwnPropertyNamesModule.f = function (it) {\n var result = getOwnPropertyNames(it);\n for (var i = 0, length = result.length; i < length; i++) {\n if (result[i] === METADATA) {\n splice(result, i, 1);\n break;\n }\n } return result;\n };\n\n $({ target: 'Object', stat: true, forced: true }, {\n getOwnPropertyNames: getOwnPropertyNamesExternalModule.f\n });\n }\n};\n\nvar meta = module.exports = {\n enable: enable,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n defineBuiltIn(NativePrototype, KEY,\n KEY === 'add' ? function add(value) {\n uncurriedNativeMethod(this, value === 0 ? 0 : value);\n return this;\n } : KEY === 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY === 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY === 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.enable();\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) !== instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, NativePrototype);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, constructor: true, forced: Constructor !== NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) defineBuiltIn(target, key, src[key], options);\n return target;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar getWeakData = require('../internals/internal-metadata').getWeakData;\nvar anInstance = require('../internals/an-instance');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isObject = require('../internals/is-object');\nvar iterate = require('../internals/iterate');\nvar ArrayIterationModule = require('../internals/array-iteration');\nvar hasOwn = require('../internals/has-own-property');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar splice = uncurryThis([].splice);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (state) {\n return state.frozen || (state.frozen = new UncaughtFrozenStore());\n};\n\nvar UncaughtFrozenStore = function () {\n this.entries = [];\n};\n\nvar findUncaughtFrozen = function (store, key) {\n return find(store.entries, function (it) {\n return it[0] === key;\n });\n};\n\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.entries.push([key, value]);\n },\n 'delete': function (key) {\n var index = findIndex(this.entries, function (it) {\n return it[0] === key;\n });\n if (~index) splice(this.entries, index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n id: id++,\n frozen: undefined\n });\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var data = getWeakData(anObject(key), true);\n if (data === true) uncaughtFrozenStore(state).set(key, value);\n else data[state.id] = value;\n return that;\n };\n\n defineBuiltIns(Prototype, {\n // `{ WeakMap, WeakSet }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-weakmap.prototype.delete\n // https://tc39.es/ecma262/#sec-weakset.prototype.delete\n 'delete': function (key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state)['delete'](key);\n return data && hasOwn(data, state.id) && delete data[state.id];\n },\n // `{ WeakMap, WeakSet }.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-weakmap.prototype.has\n // https://tc39.es/ecma262/#sec-weakset.prototype.has\n has: function has(key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).has(key);\n return data && hasOwn(data, state.id);\n }\n });\n\n defineBuiltIns(Prototype, IS_MAP ? {\n // `WeakMap.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-weakmap.prototype.get\n get: function get(key) {\n var state = getInternalState(this);\n if (isObject(key)) {\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).get(key);\n return data ? data[state.id] : undefined;\n }\n },\n // `WeakMap.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-weakmap.prototype.set\n set: function set(key, value) {\n return define(this, key, value);\n }\n } : {\n // `WeakSet.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-weakset.prototype.add\n add: function add(value) {\n return define(this, value, true);\n }\n });\n\n return Constructor;\n }\n};\n","export enum ScrollDirection {\n SCROLL_NONE,\n SCROLL_BACKWARD,\n SCROLL_FORWARD,\n}\n\nexport enum Position {\n TOP,\n RIGHT,\n BOTTOM,\n LEFT,\n}\n\nexport const OPTIONS_DEFAULT_DOMAIN_TYPE = 'hour';\n\nexport const OPTIONS_DEFAULT_SUBDOMAIN_TYPE = 'minute';\nexport const OPTIONS_DEFAULT_SUBDOMAIN_WIDTH = 10;\nexport const OPTIONS_DEFAULT_SUBDOMAIN_HEIGHT = 10;\nexport const OPTIONS_DEFAULT_SUBDOMAIN_GUTTER = 2;\nexport const OPTIONS_DEFAULT_SUBDOMAIN_RADIUS = 0;\nexport const OPTIONS_DEFAULT_ANIMATION_DURATION = 200;\nexport const OPTIONS_DEFAULT_RANGE = 12;\nexport const OPTIONS_DEFAULT_ITEM_SELECTOR = '#cal-heatmap';\nexport const OPTIONS_DEFAULT_THEME = 'light';\nexport const OPTIONS_DEFAULT_LOCALE = 'en';\n\nexport const SCALE_BASE_OPACITY_COLOR = 'red';\nexport const SCALE_BASE_COLOR_SCHEME = 'YlOrBr';\nexport const SCALE_BASE_COLOR_TYPE = 'quantize';\nexport const SCALE_BASE_COLOR_DOMAIN = [0, 100];\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\n\n// `WeakSet` constructor\n// https://tc39.es/ecma262/#sec-weakset-constructor\ncollection('WeakSet', function (init) {\n return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionWeak);\n","import { ScrollDirection } from '../constant';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport type DomainCollection from './DomainCollection';\nimport type { Timestamp } from '../index';\n\nexport default class Navigator {\n calendar: CalHeatmap;\n\n minDomainReached: boolean;\n\n maxDomainReached: boolean;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n this.maxDomainReached = false;\n this.minDomainReached = false;\n }\n\n loadNewDomains(\n newDomainCollection: DomainCollection,\n direction: ScrollDirection = ScrollDirection.SCROLL_NONE,\n ): ScrollDirection {\n const { options } = this.calendar.options;\n const templatesClt = this.calendar.templateCollection;\n const minDate = options.date.min ?\n templatesClt.get(options.domain.type)!.extractUnit(+options.date.min) :\n undefined;\n const maxDate = options.date.max ?\n templatesClt.get(options.domain.type)!.extractUnit(+options.date.max) :\n undefined;\n const { domainCollection } = this.calendar;\n\n if (\n this.#isDomainBoundaryReached(\n newDomainCollection,\n minDate,\n maxDate,\n direction,\n )\n ) {\n return ScrollDirection.SCROLL_NONE;\n }\n\n if (direction !== ScrollDirection.SCROLL_NONE) {\n newDomainCollection\n .clamp(minDate, maxDate)\n .slice(options.range, direction === ScrollDirection.SCROLL_FORWARD);\n }\n\n domainCollection.merge(\n newDomainCollection,\n options.range,\n (domainKey: Timestamp, index: number) => {\n let subDomainEndDate = null;\n if (newDomainCollection.at(index + 1)) {\n subDomainEndDate = newDomainCollection.at(index + 1);\n } else {\n subDomainEndDate = this.calendar.dateHelper\n .intervals(options.domain.type, domainKey, 2)\n .pop();\n }\n return templatesClt\n .get(options.subDomain.type)!\n .mapping(domainKey, subDomainEndDate!)\n .map((d) => ({ ...d, v: options.data.defaultValue }));\n },\n );\n\n this.#setDomainsBoundaryReached(\n domainCollection.min,\n domainCollection.max,\n minDate,\n maxDate,\n );\n\n if (direction === ScrollDirection.SCROLL_BACKWARD) {\n this.calendar.eventEmitter.emit('domainsLoaded', [domainCollection.min]);\n } else if (direction === ScrollDirection.SCROLL_FORWARD) {\n this.calendar.eventEmitter.emit('domainsLoaded', [domainCollection.max]);\n }\n\n return direction;\n }\n\n jumpTo(date: Date, reset: boolean): ScrollDirection {\n const { domainCollection, options } = this.calendar;\n const minDate = new Date(domainCollection.min!);\n const maxDate = new Date(domainCollection.max!);\n\n if (date < minDate) {\n return this.loadNewDomains(\n this.calendar.createDomainCollection(date, minDate, false),\n ScrollDirection.SCROLL_BACKWARD,\n );\n }\n if (reset) {\n return this.loadNewDomains(\n this.calendar.createDomainCollection(date, options.options.range),\n minDate < date ?\n ScrollDirection.SCROLL_FORWARD :\n ScrollDirection.SCROLL_BACKWARD,\n );\n }\n\n if (date > maxDate) {\n return this.loadNewDomains(\n this.calendar.createDomainCollection(maxDate, date, false),\n ScrollDirection.SCROLL_FORWARD,\n );\n }\n\n return ScrollDirection.SCROLL_NONE;\n }\n\n #isDomainBoundaryReached(\n newDomainCollection: DomainCollection,\n minDate?: Timestamp,\n maxDate?: Timestamp,\n direction?: ScrollDirection,\n ): boolean {\n if (\n maxDate &&\n newDomainCollection.max! >= maxDate &&\n this.maxDomainReached &&\n direction === ScrollDirection.SCROLL_FORWARD\n ) {\n return true;\n }\n\n if (\n minDate &&\n newDomainCollection.min! <= minDate &&\n this.minDomainReached &&\n direction === ScrollDirection.SCROLL_BACKWARD\n ) {\n return true;\n }\n\n return false;\n }\n\n #setDomainsBoundaryReached(\n lowerBound: Timestamp,\n upperBound: Timestamp,\n min?: Timestamp,\n max?: Timestamp,\n ): void {\n if (min) {\n const reached = lowerBound <= min;\n this.calendar.eventEmitter.emit(\n reached ? 'minDateReached' : 'minDateNotReached',\n );\n this.minDomainReached = reached;\n }\n if (max) {\n const reached = upperBound >= max;\n this.calendar.eventEmitter.emit(\n reached ? 'maxDateReached' : 'maxDateNotReached',\n );\n this.maxDomainReached = reached;\n }\n }\n}\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !arrayMethodHasSpeciesSupport('concat');\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = lengthOfArrayLike(E);\n doesNotExceedSafeInteger(n + len);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n doesNotExceedSafeInteger(n + 1);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call -- required for testing\n method.call(null, argument || function () { return 1; }, 1);\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = uncurryThis([].join);\n\nvar ES3_STRINGS = IndexedObject !== Object;\nvar FORCED = ES3_STRINGS || !arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: FORCED }, {\n join: function join(separator) {\n return nativeJoin(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar create = require('../internals/object-create');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key === key) return entry;\n }\n };\n\n defineBuiltIns(Prototype, {\n // `{ Map, Set }.prototype.clear()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.clear\n // https://tc39.es/ecma262/#sec-set.prototype.clear\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // `{ Map, Set }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.delete\n // https://tc39.es/ecma262/#sec-set.prototype.delete\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first === entry) state.first = next;\n if (state.last === entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.foreach\n // https://tc39.es/ecma262/#sec-set.prototype.foreach\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // `{ Map, Set}.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.has\n // https://tc39.es/ecma262/#sec-set.prototype.has\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n defineBuiltIns(Prototype, IS_MAP ? {\n // `Map.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-map.prototype.get\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // `Map.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-map.prototype.set\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // `Set.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-set.prototype.add\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineBuiltInAccessor(Prototype, 'size', {\n configurable: true,\n get: function () {\n return getInternalState(this).size;\n }\n });\n return Constructor;\n },\n setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.entries\n // https://tc39.es/ecma262/#sec-map.prototype.keys\n // https://tc39.es/ecma262/#sec-map.prototype.values\n // https://tc39.es/ecma262/#sec-map.prototype-@@iterator\n // https://tc39.es/ecma262/#sec-set.prototype.entries\n // https://tc39.es/ecma262/#sec-set.prototype.keys\n // https://tc39.es/ecma262/#sec-set.prototype.values\n // https://tc39.es/ecma262/#sec-set.prototype-@@iterator\n defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return createIterResultObject(undefined, true);\n }\n // return step by kind\n if (kind === 'keys') return createIterResultObject(entry.key, false);\n if (kind === 'values') return createIterResultObject(entry.value, false);\n return createIterResultObject([entry.key, entry.value], false);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // `{ Map, Set }.prototype[@@species]` accessors\n // https://tc39.es/ecma262/#sec-get-map-@@species\n // https://tc39.es/ecma262/#sec-get-set-@@species\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\ncollection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (O, P) {\n if (!delete O[P]) throw new $TypeError('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O));\n};\n","'use strict';\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar floor = Math.floor;\n\nvar mergeSort = function (array, comparefn) {\n var length = array.length;\n var middle = floor(length / 2);\n return length < 8 ? insertionSort(array, comparefn) : merge(\n array,\n mergeSort(arraySlice(array, 0, middle), comparefn),\n mergeSort(arraySlice(array, middle), comparefn),\n comparefn\n );\n};\n\nvar insertionSort = function (array, comparefn) {\n var length = array.length;\n var i = 1;\n var element, j;\n\n while (i < length) {\n j = i;\n element = array[i];\n while (j && comparefn(array[j - 1], element) > 0) {\n array[j] = array[--j];\n }\n if (j !== i++) array[j] = element;\n } return array;\n};\n\nvar merge = function (array, left, right, comparefn) {\n var llength = left.length;\n var rlength = right.length;\n var lindex = 0;\n var rindex = 0;\n\n while (lindex < llength || rindex < rlength) {\n array[lindex + rindex] = (lindex < llength && rindex < rlength)\n ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]\n : lindex < llength ? left[lindex++] : right[rindex++];\n } return array;\n};\n\nmodule.exports = mergeSort;\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","'use strict';\nvar UA = require('../internals/engine-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar test = [];\nvar nativeSort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? nativeSort(array) : nativeSort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = lengthOfArrayLike(items);\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) deletePropertyOrThrow(array, index++);\n\n return array;\n }\n});\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","'use strict';\nvar global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar handlePrototype = function (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n if (DOMIterables[COLLECTION_NAME]) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype);\n }\n}\n\nhandlePrototype(DOMTokenListPrototype);\n","import { Position } from '../constant';\nimport type { Padding } from '../options/Options';\n\nexport function isHorizontal(position: string): boolean {\n return position === 'left' || position === 'right';\n}\n\nexport function isVertical(position: string): boolean {\n return position === 'top' || position === 'bottom';\n}\n\nexport function horizontalPadding(padding: Padding): number {\n return padding[Position.LEFT] + padding[Position.RIGHT];\n}\n\nexport function verticalPadding(padding: Padding): number {\n return padding[Position.TOP] + padding[Position.BOTTOM];\n}\n","import { ScrollDirection } from '../constant';\nimport { horizontalPadding, verticalPadding } from '../helpers/PositionHelper';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport type DomainPainter from './DomainPainter';\nimport type DomainCollection from '../calendar/DomainCollection';\nimport type { SubDomain, Dimensions, Timestamp } from '../index';\n\ntype SubDomainWithCoordinates = Required & {\n pre_x: number;\n pre_y: number;\n width: number;\n height: number;\n inner_width: number;\n inner_height: number;\n};\n\nexport default class DomainCoordinates {\n calendar: CalHeatmap;\n\n domainPainter: DomainPainter;\n\n collection: Map;\n\n scrollDirection: ScrollDirection;\n\n constructor(calendar: CalHeatmap, domainPainter: DomainPainter) {\n this.calendar = calendar;\n this.domainPainter = domainPainter;\n this.collection = new Map();\n this.scrollDirection = ScrollDirection.SCROLL_FORWARD;\n }\n\n get(domainKey: Timestamp): SubDomainWithCoordinates | undefined {\n return this.collection.get(domainKey);\n }\n\n update(collection: DomainCollection, scrollDirection: ScrollDirection) {\n const { verticalOrientation, domain } = this.calendar.options.options;\n\n this.scrollDirection = scrollDirection;\n const dimensions: Dimensions = {\n width: 0,\n height: 0,\n };\n let exitingTotal = 0;\n let scrollFactor =\n scrollDirection === ScrollDirection.SCROLL_FORWARD ? -1 : 1;\n const { keys } = collection;\n if (this.calendar.options.options.domain.sort === 'desc') {\n keys.reverse();\n scrollFactor *= -1;\n }\n\n collection.yankedDomains.forEach((domainKey: Timestamp) => {\n exitingTotal +=\n this.collection.get(domainKey)![\n verticalOrientation ? 'height' : 'width'\n ];\n });\n collection.yankedDomains.forEach((domainKey: Timestamp) => {\n const coor = this.collection.get(domainKey)!;\n this.collection.set(domainKey, {\n ...coor,\n x: verticalOrientation ? coor.x : coor.x + exitingTotal * scrollFactor,\n y: verticalOrientation ? coor.y + exitingTotal * scrollFactor : coor.y,\n });\n });\n\n keys.forEach((domainKey: Timestamp) => {\n const w = this.#getWidth(domainKey);\n const h = this.#getHeight(domainKey);\n if (verticalOrientation) {\n dimensions.height += h;\n dimensions.width = Math.max(w, dimensions.width);\n } else {\n dimensions.width += w;\n dimensions.height = Math.max(h, dimensions.height);\n }\n\n const x = dimensions.width - w;\n const y = dimensions.height - h;\n\n this.collection.set(domainKey, {\n ...this.collection.get(domainKey)!,\n x: verticalOrientation ? 0 : x,\n y: verticalOrientation ? y : 0,\n pre_x: verticalOrientation ? x : x - exitingTotal * scrollFactor,\n pre_y: verticalOrientation ? y - exitingTotal * scrollFactor : y,\n width: w,\n height: h,\n inner_width: w - (verticalOrientation ? 0 : domain.gutter),\n inner_height: h - (!verticalOrientation ? 0 : domain.gutter),\n });\n });\n\n return dimensions;\n }\n\n /**\n * Return the full width of the domain block\n * @param {number} d Domain start timestamp\n * @return {number} The full width of the domain,\n * including all padding and gutter\n * Used to compute the x position of the domains on the x axis\n */\n #getWidth(d: Timestamp): number {\n const {\n domain, subDomain, x, verticalOrientation,\n } =\n this.calendar.options.options;\n const columnsCount = this.calendar.templateCollection\n .get(subDomain.type)!\n .columnsCount(d);\n\n const subDomainWidth =\n (subDomain.width + subDomain.gutter) * columnsCount - subDomain.gutter;\n\n return (\n horizontalPadding(domain.padding) +\n x.domainHorizontalLabelWidth +\n (verticalOrientation ? 0 : domain.gutter) +\n subDomainWidth\n );\n }\n\n /**\n * Return the full height of the domain block\n * @param {number} d Domain start timestamp\n * @return {number} The full height of the domain,\n * including all paddings and gutter.\n * Used to compute the y position of the domains on the y axis\n */\n #getHeight(d: Timestamp): number {\n const {\n domain, subDomain, x, verticalOrientation,\n } =\n this.calendar.options.options;\n const rowsCount = this.calendar.templateCollection\n .get(subDomain.type)!\n .rowsCount(d);\n\n const subDomainHeight =\n (subDomain.height + subDomain.gutter) * rowsCount - subDomain.gutter;\n\n return (\n verticalPadding(domain.padding) +\n subDomainHeight +\n (verticalOrientation ? domain.gutter : 0) +\n x.domainVerticalLabelHeight\n );\n }\n}\n","import DomainCoordinates from './DomainCoordinates';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport type { ScrollDirection } from '../constant';\nimport type { Dimensions, Timestamp } from '../index';\n\nconst DEFAULT_SELECTOR = '.ch-domain';\n\nexport default class DomainPainter {\n calendar: CalHeatmap;\n\n coordinates: DomainCoordinates;\n\n root: any;\n\n dimensions: Dimensions;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n this.coordinates = new DomainCoordinates(calendar, this);\n this.root = null;\n\n // Dimensions of the internal area containing all the domains\n // Excluding all surrounding margins\n this.dimensions = {\n width: 0,\n height: 0,\n };\n }\n\n paint(scrollDirection: ScrollDirection, rootNode: any): Promise[] {\n const { animationDuration } = this.calendar.options.options;\n const t = rootNode.transition().duration(animationDuration);\n const coor = this.coordinates;\n\n this.dimensions = coor.update(\n this.calendar.domainCollection,\n scrollDirection,\n );\n\n const promises: Promise[] = [];\n\n this.root = rootNode\n .selectAll(DEFAULT_SELECTOR)\n .data(this.calendar.domainCollection.keys, (d: Timestamp) => d)\n .join(\n (enter: any) => enter\n .append('svg')\n .attr('x', (d: Timestamp) => coor.get(d)!.pre_x)\n .attr('y', (d: Timestamp) => coor.get(d)!.pre_y)\n .attr('width', (d: Timestamp) => coor.get(d)!.inner_width)\n .attr('height', (d: Timestamp) => coor.get(d)!.inner_height)\n .attr('class', (d: Timestamp) => this.#getClassName(d))\n .call((enterSelection: any) => enterSelection\n .append('rect')\n .attr('width', (d: Timestamp) => coor.get(d)!.inner_width)\n .attr('height', (d: Timestamp) => coor.get(d)!.inner_height)\n .attr('class', `${DEFAULT_SELECTOR.slice(1)}-bg`))\n .call((enterSelection: any) => promises.push(\n enterSelection\n .transition(t)\n .attr('x', (d: Timestamp) => coor.get(d)!.x)\n .attr('y', (d: Timestamp) => coor.get(d)!.y)\n .end(),\n )),\n (update: any) => update\n .call((updateSelection: any) => promises.push(\n updateSelection\n .transition(t)\n .attr('x', (d: Timestamp) => coor.get(d)!.x)\n .attr('y', (d: Timestamp) => coor.get(d)!.y)\n .attr('width', (d: Timestamp) => coor.get(d)!.inner_width)\n .attr('height', (d: Timestamp) => coor.get(d)!.inner_height)\n .end(),\n ))\n .call((updateSelection: any) => promises.push(\n updateSelection\n .selectAll(`${DEFAULT_SELECTOR}-bg`)\n .transition(t)\n .attr('width', (d: Timestamp) => coor.get(d)!.inner_width)\n .attr('height', (d: Timestamp) => coor.get(d)!.inner_height)\n .end(),\n )),\n (exit: any) => exit.call((exitSelection: any) => promises.push(\n exitSelection\n .transition(t)\n .attr('x', (d: Timestamp) => coor.get(d)!.x)\n .attr('y', (d: Timestamp) => coor.get(d)!.y)\n .remove()\n .end(),\n )),\n );\n\n return promises;\n }\n\n #getClassName(d: Timestamp): string {\n let classname = DEFAULT_SELECTOR.slice(1);\n const helper = this.calendar.dateHelper.date(d);\n\n switch (this.calendar.options.options.domain.type) {\n case 'hour':\n classname += ` h_${helper.hour()}`;\n break;\n case 'day':\n classname += ` d_${helper.date()} dy_${helper.format('d') + 1}`;\n break;\n case 'week':\n classname += ` w_${helper.week()}`;\n break;\n case 'month':\n classname += ` m_${helper.month() + 1}`;\n break;\n case 'year':\n classname += ` y_${helper.year()}`;\n break;\n default:\n }\n return classname;\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar fails = require('../internals/fails');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// FF99+ bug\nvar BROKEN_ON_SPARSE = fails(function () {\n // eslint-disable-next-line es/no-array-prototype-includes -- detection\n return !Array(1).includes();\n});\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isConstructor = require('../internals/is-constructor');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $Array = Array;\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var IS_CONSTRUCTOR = isConstructor(this);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n result = IS_CONSTRUCTOR ? new this() : [];\n for (;!(step = call(next, iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = lengthOfArrayLike(O);\n result = IS_CONSTRUCTOR ? new this(length) : $Array(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n // eslint-disable-next-line es/no-array-from -- required for testing\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.es/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","import castArray from 'lodash-es/castArray';\n\nimport type { SubDomain } from '../index';\nimport type {\n DataOptions,\n DataGroupType,\n DataRecord,\n} from '../options/Options';\nimport { DomainType, Timestamp } from '../index';\nimport type DateHelper from '../helpers/DateHelper';\n\nexport const DOMAIN_FORMAT: Record = {\n year: 'YYYY',\n month: 'MMMM',\n week: 'wo [week] YYYY',\n xDay: 'Do MMM',\n ghDay: 'Do MMM',\n day: 'Do MMM',\n hour: 'HH:00',\n minute: 'HH:mm',\n};\n\ntype GroupedRecords = Map;\ntype ValueType = string | number | null;\n\nexport default class DomainCollection {\n collection: Map;\n\n dateHelper: DateHelper;\n\n min: Timestamp;\n\n max: Timestamp;\n\n keys: Timestamp[];\n\n yankedDomains: Timestamp[];\n\n constructor(\n dateHelper: DateHelper,\n interval?: DomainType,\n start?: Date | Timestamp,\n range?: Date | Timestamp,\n excludeEnd: boolean = false,\n ) {\n this.collection = new Map();\n this.dateHelper = dateHelper;\n\n if (interval && start && range) {\n const ts = this.dateHelper\n .intervals(interval, start, range, excludeEnd)\n .map((d: Timestamp) => castArray(d));\n\n // @ts-ignore\n this.collection = new Map(ts);\n }\n\n this.min = 0;\n this.max = 0;\n this.keys = [];\n this.yankedDomains = [];\n\n if (this.collection.size > 0) {\n this.#refreshKeys();\n }\n }\n\n has(key: Timestamp): boolean {\n return this.collection.has(key);\n }\n\n get(key: Timestamp) {\n return this.collection.get(key);\n }\n\n forEach(callback: any) {\n return this.collection.forEach(callback);\n }\n\n at(index: number): Timestamp {\n return this.keys[index];\n }\n\n clamp(minDate?: Timestamp, maxDate?: Timestamp): DomainCollection {\n if (minDate && this.min! < minDate) {\n this.keys\n .filter((key) => key < minDate)\n .forEach((d) => this.collection.delete(d));\n }\n\n if (maxDate && this.max! > maxDate) {\n this.keys\n .filter((key) => key > maxDate)\n .forEach((d) => this.collection.delete(d));\n }\n\n this.#refreshKeys();\n\n return this;\n }\n\n merge(\n newCollection: DomainCollection,\n limit: number,\n createValueCallback: Function,\n ): void {\n this.yankedDomains = [];\n\n newCollection.keys.forEach((domainKey, index) => {\n if (this.has(domainKey)) {\n return;\n }\n\n if (this.collection.size >= limit) {\n let keyToRemove = this.max;\n\n if (domainKey > this.max!) {\n keyToRemove = this.min;\n }\n\n if (keyToRemove && this.collection.delete(keyToRemove)) {\n this.yankedDomains.push(keyToRemove);\n }\n }\n this.collection.set(domainKey, createValueCallback(domainKey, index));\n this.#refreshKeys();\n });\n this.yankedDomains = this.yankedDomains.sort((a, b) => a - b);\n }\n\n slice(limit: number = 0, fromBeginning: boolean = true): DomainCollection {\n if (this.keys.length > limit) {\n const keysToDelete = fromBeginning ?\n this.keys.slice(0, -limit) :\n this.keys.slice(limit);\n\n keysToDelete.forEach((key) => {\n this.collection.delete(key);\n });\n\n this.#refreshKeys();\n }\n\n return this;\n }\n\n fill(\n data: DataRecord[],\n {\n x,\n y,\n groupY,\n defaultValue,\n }: {\n x: DataOptions['x'];\n y: DataOptions['y'];\n groupY: DataOptions['groupY'];\n defaultValue: DataOptions['defaultValue'];\n },\n subDomainKeyExtractor: Function,\n ): void {\n const groupedRecords: GroupedRecords = this.groupRecords(\n data,\n x,\n subDomainKeyExtractor,\n );\n\n this.keys.forEach((domainKey) => {\n const records = groupedRecords.get(domainKey) || {};\n this.#setSubDomainValues(domainKey, records, y, groupY, defaultValue);\n });\n }\n\n #setSubDomainValues(\n domainKey: Timestamp,\n records: { [key: string]: DataRecord[] },\n y: DataOptions['y'],\n groupY: DataOptions['groupY'],\n defaultValue: DataOptions['defaultValue'],\n ): void {\n this.get(domainKey)!.forEach((subDomain: SubDomain, index: number) => {\n let value: ValueType = defaultValue;\n if (records.hasOwnProperty(subDomain.t)) {\n value = this.groupValues(\n this.#extractValues(records[subDomain.t], y),\n groupY,\n );\n }\n\n this.get(domainKey)![index].v = value;\n });\n }\n\n groupRecords(\n data: DataRecord[],\n x: DataOptions['x'],\n subDomainKeyExtractor: Function,\n ): GroupedRecords {\n const results: GroupedRecords = new Map();\n const validSubDomainTimestamp: Map = new Map();\n this.keys.forEach((domainKey) => {\n this.get(domainKey)!.forEach((subDomain: SubDomain) => {\n validSubDomainTimestamp.set(subDomain.t, domainKey);\n });\n });\n\n data.forEach((d) => {\n const timestamp = this.extractTimestamp(d, x, subDomainKeyExtractor);\n\n if (validSubDomainTimestamp.has(timestamp)) {\n const domainKey = validSubDomainTimestamp.get(timestamp)!;\n const records = results.get(domainKey) || {};\n records[timestamp] ||= [];\n records[timestamp].push(d);\n\n results.set(domainKey, records);\n }\n });\n\n return results;\n }\n\n // eslint-disable-next-line class-methods-use-this\n #extractValues(data: DataRecord[], y: string | Function): ValueType[] {\n return data.map((d): ValueType => (typeof y === 'function' ? y(d) : d[y]));\n }\n\n // eslint-disable-next-line class-methods-use-this\n groupValues(\n values: ValueType[],\n groupFn: DataGroupType | ((values: ValueType[]) => ValueType),\n ): ValueType {\n const cleanedValues = values.filter((n) => n !== null);\n\n if (typeof groupFn === 'string') {\n if (cleanedValues.every((n) => typeof n === 'number')) {\n switch (groupFn) {\n case 'sum':\n return (cleanedValues as number[]).reduce((a, b) => a + b, 0);\n case 'count':\n return cleanedValues.length;\n case 'min':\n return Math.min(...(cleanedValues as number[])) || null;\n case 'max':\n return Math.max(...(cleanedValues as number[])) || null;\n case 'average':\n return cleanedValues.length > 0 ?\n (cleanedValues as number[]).reduce((a, b) => a + b, 0) /\n cleanedValues.length :\n null;\n default:\n return null;\n }\n }\n\n switch (groupFn) {\n case 'count':\n return cleanedValues.length;\n default:\n return null;\n }\n } else if (typeof groupFn === 'function') {\n return groupFn(cleanedValues);\n }\n\n return null;\n }\n\n // eslint-disable-next-line class-methods-use-this\n extractTimestamp(\n datum: DataRecord,\n x: string | Function,\n extractorFn: Function,\n ): Timestamp {\n let timestamp: string | Timestamp =\n typeof x === 'function' ? x(datum) : datum[x];\n\n if (typeof timestamp === 'string') {\n timestamp = +new Date(timestamp);\n }\n\n return extractorFn(timestamp);\n }\n\n #refreshKeys(): Timestamp[] {\n this.keys = Array.from(this.collection.keys())\n .map((d: any) => parseInt(d, 10))\n .sort((a, b) => a - b);\n\n const { keys } = this;\n // eslint-disable-next-line prefer-destructuring\n this.min = keys[0];\n this.max = keys[keys.length - 1];\n\n return this.keys;\n }\n}\n","import { Position } from '../constant';\nimport {\n isVertical,\n verticalPadding,\n horizontalPadding,\n} from '../helpers/PositionHelper';\nimport { DOMAIN_FORMAT } from '../calendar/DomainCollection';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport type { Timestamp } from '../index';\n\nconst DEFAULT_SELECTOR = '.ch-domain-text';\n\nexport default class DomainLabelPainter {\n calendar: CalHeatmap;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n }\n\n paint(root: any): void {\n const { label, type } = this.calendar.options.options.domain;\n const { dateHelper } = this.calendar;\n let format = label.text;\n if (format === null || format === '') {\n return;\n }\n\n if (typeof format === 'undefined') {\n format = DOMAIN_FORMAT[type];\n }\n\n root\n .selectAll(DEFAULT_SELECTOR)\n .data(\n (d: Timestamp) => [d],\n (d: Timestamp) => d,\n )\n .join(\n (enter: any) => enter\n .append('text')\n .attr('class', DEFAULT_SELECTOR.slice(1))\n .attr('x', (d: Timestamp) => this.#getX(d))\n .attr('y', (d: Timestamp) => this.#getY(d))\n .attr('text-anchor', label.textAlign)\n .attr('dominant-baseline', () => this.#textVerticalAlign())\n .text((d: Timestamp, i: number, nodes: any[]) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n dateHelper.format(d, format!, nodes[i]))\n .call((selection: any) => this.#domainRotate(selection)),\n (update: any) => {\n update\n .attr('x', (d: Timestamp) => this.#getX(d))\n .attr('y', (d: Timestamp) => this.#getY(d))\n .attr('text-anchor', label.textAlign)\n .attr('dominant-baseline', () => this.#textVerticalAlign())\n .text((d: Timestamp, i: number, nodes: any[]) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n dateHelper.format(d, format!, nodes[i]))\n .call((selection: any) => this.#domainRotate(selection));\n },\n );\n }\n\n #textVerticalAlign(): string {\n const { position, rotate } = this.calendar.options.options.domain.label;\n\n if (isVertical(position)) {\n return 'middle';\n }\n\n if (\n (rotate === 'left' && position === 'left') ||\n (rotate === 'right' && position === 'right')\n ) {\n return 'bottom';\n }\n\n return 'hanging';\n }\n\n #getX(d: Timestamp): number {\n const {\n padding,\n label: { position, textAlign, offset },\n } = this.calendar.options.options.domain;\n const { domainHorizontalLabelWidth } = this.calendar.options.options.x;\n\n let x = padding[Position.LEFT];\n\n if (position === 'right') {\n x += this.#getDomainInsideWidth(d);\n }\n\n if (textAlign === 'middle') {\n if (['top', 'bottom'].includes(position)) {\n x += this.#getDomainInsideWidth(d) / 2;\n } else {\n x += domainHorizontalLabelWidth / 2;\n }\n }\n\n if (textAlign === 'end') {\n if (isVertical(position)) {\n x += this.#getDomainInsideWidth(d);\n } else {\n x += domainHorizontalLabelWidth;\n }\n }\n\n return x + offset.x;\n }\n\n #getY(d: Timestamp): number {\n const {\n domain: {\n label: { position, offset },\n padding,\n },\n x,\n } = this.calendar.options.options;\n\n let y = padding[Position.TOP] + x.domainVerticalLabelHeight / 2;\n\n if (position === 'bottom') {\n y += this.#getDomainInsideHeight(d);\n }\n\n return y + offset.y;\n }\n\n #getDomainInsideWidth(d: Timestamp): number {\n const {\n domain: { padding },\n x: { domainHorizontalLabelWidth },\n } = this.calendar.options.options;\n const { coordinates } =\n this.calendar.calendarPainter.domainsContainerPainter.domainPainter;\n\n return (\n coordinates.get(d)!.inner_width -\n domainHorizontalLabelWidth -\n horizontalPadding(padding)\n );\n }\n\n #getDomainInsideHeight(d: Timestamp): number {\n const {\n x: { domainVerticalLabelHeight },\n domain: { padding },\n } = this.calendar.options.options;\n const { coordinates } =\n this.calendar.calendarPainter.domainsContainerPainter.domainPainter;\n\n return (\n coordinates.get(d)!.inner_height -\n domainVerticalLabelHeight -\n verticalPadding(padding)\n );\n }\n\n #domainRotate(selection: any) {\n const {\n domain: {\n label: { rotate, textAlign, position },\n },\n x,\n } = this.calendar.options.options;\n const labelWidth = x.domainHorizontalLabelWidth;\n\n switch (rotate) {\n // Rotating the text clockwise\n case 'right':\n selection.attr('transform', (d: Timestamp) => {\n const domainWidth = this.#getDomainInsideWidth(d);\n const domainHeight = this.#getDomainInsideHeight(d);\n const s = [\n `rotate(90, ${position === 'right' ? domainWidth : labelWidth}, 0)`,\n ];\n\n switch (position) {\n case 'right':\n if (textAlign === 'middle') {\n s.push(`translate(${domainHeight / 2 - labelWidth / 2})`);\n } else if (textAlign === 'end') {\n s.push(`translate(${domainHeight - labelWidth})`);\n }\n break;\n case 'left':\n if (textAlign === 'start') {\n s.push(`translate(${labelWidth})`);\n } else if (textAlign === 'middle') {\n s.push(`translate(${labelWidth / 2 + domainHeight / 2})`);\n } else if (textAlign === 'end') {\n s.push(`translate(${domainHeight})`);\n }\n break;\n default:\n }\n\n return s.join(',');\n });\n break;\n // Rotating the text anticlockwise\n case 'left':\n selection.attr('transform', (d: Timestamp) => {\n const domainWidth = this.#getDomainInsideWidth(d);\n const domainHeight = this.#getDomainInsideHeight(d);\n const s = [\n `rotate(270, ${\n position === 'right' ? domainWidth : labelWidth\n }, 0)`,\n ];\n\n switch (position) {\n case 'right':\n if (textAlign === 'start') {\n s.push(`translate(-${domainHeight})`);\n } else if (textAlign === 'middle') {\n s.push(`translate(-${domainHeight / 2 + labelWidth / 2})`);\n } else if (textAlign === 'end') {\n s.push(`translate(-${labelWidth})`);\n }\n break;\n case 'left':\n if (textAlign === 'start') {\n s.push(`translate(${labelWidth - domainHeight})`);\n } else if (textAlign === 'middle') {\n s.push(`translate(${labelWidth / 2 - domainHeight / 2})`);\n }\n break;\n default:\n }\n\n return s.join(',');\n });\n break;\n default:\n }\n }\n}\n","'use strict';\n// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar replace = uncurryThis(''.replace);\nvar ltrim = RegExp('^[' + whitespaces + ']+');\nvar rtrim = RegExp('(^|[^' + whitespaces + '])[' + whitespaces + ']+$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = replace(string, ltrim, '');\n if (TYPE & 2) string = replace(string, rtrim, '$1');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","'use strict';\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]()\n || non[METHOD_NAME]() !== non\n || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME);\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","import { Position } from '../constant';\nimport type CalHeatmap from '../CalHeatmap';\nimport type { Timestamp, SubDomain } from '../index';\n\nexport const DEFAULT_SELECTOR = '.ch-subdomain';\nconst HIGHLIGHT_CLASSNAME = 'highlight';\n\nexport default class SubDomainPainter {\n calendar: CalHeatmap;\n\n root: any;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n this.root = null;\n }\n\n paint(root: any): void {\n this.root = root || this.root;\n const containerClassname = `${DEFAULT_SELECTOR}-container`;\n\n const subDomainSvgGroup = this.root\n .selectAll(containerClassname)\n .data(\n (d: Timestamp) => [d],\n (d: Timestamp) => d,\n )\n .join(\n (enter: any) => enter\n .append('svg')\n .call((selection: any) => this.#setPositions(selection))\n .attr('class', containerClassname.slice(1)),\n\n (update: any) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n update.call((selection: any) => this.#setPositions(selection)),\n );\n\n const {\n subDomain: {\n radius, width, height, sort,\n },\n } = this.calendar.options.options;\n const evt = this.calendar.eventEmitter;\n\n subDomainSvgGroup\n .selectAll('g')\n .data((d: Timestamp) => {\n const subDomainsCollection: SubDomain[] =\n this.calendar.domainCollection.get(d)!;\n if (sort === 'desc') {\n const max = Math.max(\n ...subDomainsCollection.map((s: SubDomain) => s.x),\n );\n subDomainsCollection.forEach((s: SubDomain, i: number) => {\n subDomainsCollection[i].x = Math.abs(s.x - max);\n });\n }\n\n return subDomainsCollection;\n })\n .join(\n (enter: any) => enter\n .append('g')\n .call((selection: any) => selection\n .insert('rect')\n .attr('class', (d: SubDomain) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n this.#classname(d.t, `${DEFAULT_SELECTOR.slice(1)}-bg`))\n .attr('width', width)\n .attr('height', height)\n .attr('x', (d: SubDomain) => this.#getX(d))\n .attr('y', (d: SubDomain) => this.#getY(d))\n .on('click', (ev: PointerEvent, d: SubDomain) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n evt.emit('click', ev, d.t, d.v))\n .on('mouseover', (ev: PointerEvent, d: SubDomain) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n evt.emit('mouseover', ev, d.t, d.v))\n .on('mouseout', (ev: PointerEvent, d: SubDomain) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n evt.emit('mouseout', ev, d.t, d.v))\n .attr('rx', radius > 0 ? radius : null)\n .attr('ry', radius > 0 ? radius : null))\n .call((selection: any) => this.#appendText(selection)),\n (update: any) => update\n .selectAll('rect')\n .attr('class', (d: SubDomain) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n this.#classname(d.t, `${DEFAULT_SELECTOR.slice(1)}-bg`))\n .attr('width', width)\n .attr('height', height)\n .attr('x', (d: SubDomain) => this.#getX(d))\n .attr('y', (d: SubDomain) => this.#getY(d))\n .attr('rx', radius)\n .attr('ry', radius),\n );\n }\n\n /**\n * Set the subDomain group X and Y position\n * @param {d3-selection} selection A d3-selection object\n */\n #setPositions(selection: any): void {\n const { options } = this.calendar.options;\n const {\n padding,\n label: { position },\n } = options.domain;\n\n selection\n .attr('x', () => {\n let pos = padding[Position.LEFT];\n if (position === 'left') {\n pos += options.x.domainHorizontalLabelWidth;\n }\n return pos;\n })\n .attr('y', () => {\n let pos = padding[Position.TOP];\n if (position === 'top') {\n pos += options.x.domainVerticalLabelHeight;\n }\n return pos;\n });\n }\n\n /**\n * Return a classname if the specified date should be highlighted\n *\n * @param {number} timestamp Unix timestamp of the current subDomain\n * @return {String} the highlight class\n */\n #classname(timestamp: Timestamp, ...otherClasses: string[]): string {\n const {\n date: { highlight },\n subDomain: { type },\n } = this.calendar.options.options;\n let classname = '';\n\n if (highlight.length > 0) {\n highlight.forEach((d) => {\n const unitFn = this.calendar.templateCollection.get(type).extractUnit;\n\n if (unitFn(+d) === unitFn(timestamp)) {\n classname = HIGHLIGHT_CLASSNAME;\n }\n });\n }\n\n return [classname, ...otherClasses].join(' ').trim();\n }\n\n #appendText(elem: any) {\n const { width, height, label } = this.calendar.options.options.subDomain;\n\n if (!label) {\n return null;\n }\n\n return elem\n .append('text')\n .attr('class', (d: SubDomain) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n this.#classname(d.t, `${DEFAULT_SELECTOR.slice(1)}-text`))\n .attr('x', (d: SubDomain) => this.#getX(d) + width / 2)\n .attr('y', (d: SubDomain) => this.#getY(d) + height / 2)\n .attr('text-anchor', 'middle')\n .attr('dominant-baseline', 'central')\n .text((d: SubDomain, i: number, nodes: any[]) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n this.calendar.dateHelper.format(d.t, label, d.v, nodes[i]));\n }\n\n #getCoordinates(axis: 'x' | 'y', d: SubDomain): number {\n const { subDomain } = this.calendar.options.options;\n return (\n d[axis] *\n (subDomain[axis === 'x' ? 'width' : 'height'] + subDomain.gutter)\n );\n }\n\n #getX(d: SubDomain): number {\n return this.#getCoordinates('x', d);\n }\n\n #getY(d: SubDomain): number {\n return this.#getCoordinates('y', d);\n }\n}\n","import { select } from 'd3-selection';\nimport DomainPainter from './DomainPainter';\nimport DomainLabelPainter from './DomainLabelPainter';\nimport SubDomainPainter from '../subDomain/SubDomainPainter';\nimport { ScrollDirection } from '../constant';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport type { Dimensions } from '../index';\n\nconst BASE_SELECTOR = '.ch-domain-container';\nconst TRANSITION_CLASSNAME = 'in-transition';\n\nclass DomainsContainerPainter {\n calendar: CalHeatmap;\n\n domainPainter: DomainPainter;\n\n domainLabelPainter: DomainLabelPainter;\n\n subDomainPainter: SubDomainPainter;\n\n dimensions: Dimensions;\n\n root: any;\n\n transitionsQueueCount: number;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n\n this.domainPainter = new DomainPainter(calendar);\n this.subDomainPainter = new SubDomainPainter(calendar);\n this.domainLabelPainter = new DomainLabelPainter(calendar);\n this.dimensions = {\n width: 0,\n height: 0,\n };\n this.transitionsQueueCount = 0;\n }\n\n setup() {\n this.root = this.calendar.calendarPainter.root\n .attr('x', 0)\n .attr('y', 0)\n .append('svg')\n .attr('class', BASE_SELECTOR.slice(1))\n .append('svg')\n .attr('class', `${BASE_SELECTOR.slice(1)}-animation-wrapper`);\n }\n\n paint(scrollDirection: ScrollDirection): Promise[] {\n this.#startAnimation();\n\n const result = this.domainPainter.paint(scrollDirection, this.root);\n this.subDomainPainter.paint(this.domainPainter.root);\n this.domainLabelPainter.paint(this.domainPainter.root);\n\n this.#recomputeDimensions();\n\n Promise.allSettled(result).then(() => {\n this.#endAnimation();\n });\n\n return result;\n }\n\n updatePosition() {\n if (!this.root?.node()) {\n return Promise.resolve();\n }\n\n const { animationDuration } = this.calendar.options.options;\n const topHeight = this.calendar.pluginManager.getHeightFromPosition('top');\n const leftWidth = this.calendar.pluginManager.getWidthFromPosition('left');\n\n return [\n select(this.root.node().parentNode)\n .transition()\n .duration(animationDuration)\n .call((selection: any) => {\n selection.attr('x', leftWidth).attr('y', topHeight);\n })\n .end(),\n ];\n }\n\n width(): Dimensions['width'] {\n return this.dimensions.width;\n }\n\n height(): Dimensions['height'] {\n return this.dimensions.height;\n }\n\n destroy(): Promise {\n this.#startAnimation();\n\n return Promise.resolve();\n }\n\n #startAnimation() {\n if (this.root?.node()) {\n this.transitionsQueueCount += 1;\n select(this.root.node().parentNode).classed(TRANSITION_CLASSNAME, true);\n }\n }\n\n #endAnimation() {\n if (this.root?.node()) {\n this.transitionsQueueCount -= 1;\n\n if (this.transitionsQueueCount === 0) {\n select(this.root.node().parentNode).classed(\n TRANSITION_CLASSNAME,\n false,\n );\n }\n }\n }\n\n #recomputeDimensions(): void {\n const {\n animationDuration,\n verticalOrientation,\n domain: { gutter },\n } = this.calendar.options.options;\n const { dimensions: domainsDimensions } = this.domainPainter;\n\n this.dimensions = {\n width: domainsDimensions.width - (verticalOrientation ? 0 : gutter),\n height: domainsDimensions.height - (!verticalOrientation ? 0 : gutter),\n };\n\n this.root\n .transition()\n .duration(animationDuration)\n .attr('width', this.dimensions.width)\n .attr('height', this.dimensions.height);\n }\n}\n\nexport default DomainsContainerPainter;\n","import type CalHeatmap from '../CalHeatmap';\n\nclass PluginPainter {\n calendar: CalHeatmap;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n }\n\n paint(): Promise[] {\n let promises: Promise[] = [];\n\n promises = promises.concat(this.calendar.pluginManager.paintAll());\n promises = promises.concat(this.setPluginsPosition());\n\n return promises;\n }\n\n setPluginsPosition(): Promise[] {\n const { pluginManager } = this.calendar;\n const { animationDuration } = this.calendar.options.options;\n const { domainsContainerPainter } = this.calendar.calendarPainter;\n\n const top = pluginManager.getFromPosition('top');\n const right = pluginManager.getFromPosition('right');\n const bottom = pluginManager.getFromPosition('bottom');\n const left = pluginManager.getFromPosition('left');\n\n const topHeight = pluginManager.getHeightFromPosition('top');\n const leftWidth = pluginManager.getWidthFromPosition('left');\n\n const promises: Promise[] = [];\n\n let topOffset = 0;\n top.forEach((plugin) => {\n promises.push(\n plugin.root\n .transition()\n .duration(animationDuration)\n .attr('y', topOffset)\n .attr('x', leftWidth)\n .end(),\n );\n topOffset += plugin.options.dimensions!.height;\n });\n\n let leftOffset = 0;\n left.forEach((plugin) => {\n promises.push(\n plugin.root\n .transition()\n .duration(animationDuration)\n .attr('x', leftOffset)\n .attr('y', topHeight)\n .end(),\n );\n leftOffset += plugin.options.dimensions!.width;\n });\n\n bottom.forEach((plugin) => {\n promises.push(\n plugin.root\n .transition()\n .duration(animationDuration)\n .attr('x', leftWidth)\n .attr('y', topHeight + domainsContainerPainter.height())\n .end(),\n );\n });\n\n leftOffset += domainsContainerPainter.width();\n\n right.forEach((plugin) => {\n promises.push(\n plugin.root\n .transition()\n .duration(animationDuration)\n .attr('x', leftOffset)\n .attr('y', topHeight)\n .end(),\n );\n leftOffset += plugin.options.dimensions!.width;\n });\n\n return promises;\n }\n\n insideWidth() {\n return (\n this.calendar.pluginManager.getWidthFromPosition('left') +\n this.calendar.pluginManager.getWidthFromPosition('right')\n );\n }\n\n insideHeight() {\n return (\n this.calendar.pluginManager.getHeightFromPosition('top') +\n this.calendar.pluginManager.getHeightFromPosition('bottom')\n );\n }\n}\n\nexport default PluginPainter;\n","import { select } from 'd3-selection';\n\nimport DomainsContainerPainter from '../domain/DomainsContainerPainter';\nimport PluginPainter from '../plugins/PluginPainter';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport { ScrollDirection } from '../constant';\nimport type { Dimensions } from '../index';\n\nexport const DEFAULT_SELECTOR = '.ch-container';\n\nexport default class CalendarPainter {\n calendar: CalHeatmap;\n\n dimensions: Dimensions;\n\n root: any;\n\n domainsContainerPainter: DomainsContainerPainter;\n\n pluginPainter: PluginPainter;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n this.dimensions = {\n width: 0,\n height: 0,\n };\n this.root = null;\n this.domainsContainerPainter = new DomainsContainerPainter(calendar);\n this.pluginPainter = new PluginPainter(calendar);\n }\n\n setup(): boolean {\n const { itemSelector, theme } = this.calendar.options.options;\n\n if (!this.root) {\n this.root = select(itemSelector)\n .append('svg')\n .attr('data-theme', theme)\n .attr('class', DEFAULT_SELECTOR.slice(1));\n this.domainsContainerPainter.setup();\n }\n\n this.calendar.pluginManager.setupAll();\n\n return true;\n }\n\n paint(navigationDir: ScrollDirection = ScrollDirection.SCROLL_NONE) {\n const transitions = this.domainsContainerPainter\n .paint(navigationDir)\n .concat(this.pluginPainter.paint())\n .concat(this.domainsContainerPainter.updatePosition());\n\n this.#resize();\n\n return Promise.allSettled(transitions);\n }\n\n #getHeight(): Dimensions['height'] {\n return (\n this.domainsContainerPainter.height() + this.pluginPainter.insideHeight()\n );\n }\n\n #getWidth(): Dimensions['width'] {\n return (\n this.domainsContainerPainter.width() + this.pluginPainter.insideWidth()\n );\n }\n\n #resize(): void {\n const { options } = this.calendar.options;\n\n const newWidth = this.#getWidth();\n const newHeight = this.#getHeight();\n\n this.root\n .transition()\n .duration(options.animationDuration)\n .attr('width', newWidth)\n .attr('height', newHeight);\n\n if (\n newWidth !== this.dimensions.width ||\n newHeight !== this.dimensions.height\n ) {\n this.calendar.eventEmitter.emit(\n 'resize',\n newWidth,\n newHeight,\n this.dimensions.width,\n this.dimensions.height,\n );\n }\n\n this.dimensions = {\n width: newWidth,\n height: newHeight,\n };\n }\n\n destroy(): Promise {\n const result: Promise[] = this.calendar.pluginManager\n .destroyAll()\n .concat(this.domainsContainerPainter.destroy());\n\n if (!this.root) {\n return Promise.allSettled(result);\n }\n\n result.push(\n this.root\n .transition()\n .duration(this.calendar.options.options.animationDuration)\n .attr('width', 0)\n .attr('height', 0)\n .remove()\n .end(),\n );\n\n return Promise.allSettled(result);\n }\n}\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","import baseGetTag from './_baseGetTag.js';\nimport isObject from './isObject.js';\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nexport default isFunction;\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) === 'RegExp');\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es/no-string-prototype-startswith -- safe\nvar nativeStartsWith = uncurryThis(''.startsWith);\nvar stringSlice = uncurryThis(''.slice);\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = toString(searchString);\n return nativeStartsWith\n ? nativeStartsWith(that, search, index)\n : stringSlice(that, index, index + search.length) === search;\n }\n});\n","'use strict';\nvar isRegExp = require('../internals/is-regexp');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw new $TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (error1) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (error2) { /* empty */ }\n } return false;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar objectGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\nvar propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\nvar push = uncurryThis([].push);\n\n// in some IE versions, `propertyIsEnumerable` returns incorrect result on integer keys\n// of `null` prototype objects\nvar IE_BUG = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-create -- safe\n var O = Object.create(null);\n O[2] = 2;\n return !propertyIsEnumerable(O, 2);\n});\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var IE_WORKAROUND = IE_BUG && objectGetPrototypeOf(O) === null;\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || (IE_WORKAROUND ? key in O : propertyIsEnumerable(O, key))) {\n push(result, TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","import {ascending, descending} from \"d3\";\n\nexport function defined(x) {\n return x != null && !Number.isNaN(x);\n}\n\nexport function ascendingDefined(a, b) {\n return +defined(b) - +defined(a) || ascending(a, b);\n}\n\nexport function descendingDefined(a, b) {\n return +defined(b) - +defined(a) || descending(a, b);\n}\n\nexport function nonempty(x) {\n return x != null && `${x}` !== \"\";\n}\n\nexport function finite(x) {\n return isFinite(x) ? x : NaN;\n}\n\nexport function positive(x) {\n return x > 0 && isFinite(x) ? x : NaN;\n}\n\nexport function negative(x) {\n return x < 0 && isFinite(x) ? x : NaN;\n}\n","const re = /^(?:[-+]\\d{2})?\\d{4}(?:-\\d{2}(?:-\\d{2})?)?(?:T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{3})?)?(?:Z|[-+]\\d{2}:?\\d{2})?)?$/;\n\nexport default function parse(string, fallback) {\n if (!re.test(string += \"\")) return typeof fallback === \"function\" ? fallback(string) : fallback;\n return new Date(string);\n}\n","import {utcSecond, utcMinute, utcHour, utcDay, utcWeek, utcMonth, utcYear} from \"d3\";\nimport {utcMonday, utcTuesday, utcWednesday, utcThursday, utcFriday, utcSaturday, utcSunday} from \"d3\";\nimport {timeSecond, timeMinute, timeHour, timeDay, timeWeek, timeMonth, timeYear} from \"d3\";\nimport {timeMonday, timeTuesday, timeWednesday, timeThursday, timeFriday, timeSaturday, timeSunday} from \"d3\";\n\nconst timeIntervals = new Map([\n [\"second\", timeSecond],\n [\"minute\", timeMinute],\n [\"hour\", timeHour],\n [\"day\", timeDay],\n [\"week\", timeWeek],\n [\"month\", timeMonth],\n [\"quarter\", timeMonth.every(3)],\n [\"half\", timeMonth.every(6)],\n [\"year\", timeYear],\n [\"monday\", timeMonday],\n [\"tuesday\", timeTuesday],\n [\"wednesday\", timeWednesday],\n [\"thursday\", timeThursday],\n [\"friday\", timeFriday],\n [\"saturday\", timeSaturday],\n [\"sunday\", timeSunday]\n]);\n\nconst utcIntervals = new Map([\n [\"second\", utcSecond],\n [\"minute\", utcMinute],\n [\"hour\", utcHour],\n [\"day\", utcDay],\n [\"week\", utcWeek],\n [\"month\", utcMonth],\n [\"quarter\", utcMonth.every(3)],\n [\"half\", utcMonth.every(6)],\n [\"year\", utcYear],\n [\"monday\", utcMonday],\n [\"tuesday\", utcTuesday],\n [\"wednesday\", utcWednesday],\n [\"thursday\", utcThursday],\n [\"friday\", utcFriday],\n [\"saturday\", utcSaturday],\n [\"sunday\", utcSunday]\n]);\n\nexport function maybeTimeInterval(interval) {\n const i = timeIntervals.get(`${interval}`.toLowerCase());\n if (!i) throw new Error(`unknown interval: ${interval}`);\n return i;\n}\n\nexport function maybeUtcInterval(interval) {\n const i = utcIntervals.get(`${interval}`.toLowerCase());\n if (!i) throw new Error(`unknown interval: ${interval}`);\n return i;\n}\n","import {parse as isoParse} from \"isoformat\";\nimport {color, descending, range as rangei, quantile} from \"d3\";\nimport {maybeTimeInterval, maybeUtcInterval} from \"./time.js\";\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray\nexport const TypedArray = Object.getPrototypeOf(Uint8Array);\nconst objectToString = Object.prototype.toString;\n\nexport function valueof(data, value, type) {\n const valueType = typeof value;\n return valueType === \"string\"\n ? maybeTypedMap(data, field(value), type)\n : valueType === \"function\"\n ? maybeTypedMap(data, value, type)\n : valueType === \"number\" || value instanceof Date || valueType === \"boolean\"\n ? map(data, constant(value), type)\n : typeof value?.transform === \"function\"\n ? maybeTypedArrayify(value.transform(data), type)\n : maybeTypedArrayify(value, type);\n}\n\nfunction maybeTypedMap(data, f, type) {\n return map(data, type?.prototype instanceof TypedArray ? floater(f) : f, type);\n}\n\nfunction maybeTypedArrayify(data, type) {\n return type === undefined\n ? arrayify(data) // preserve undefined type\n : data instanceof type\n ? data\n : type.prototype instanceof TypedArray && !(data instanceof TypedArray)\n ? type.from(data, coerceNumber)\n : type.from(data);\n}\n\nfunction floater(f) {\n return (d, i) => coerceNumber(f(d, i));\n}\n\nexport const field = (name) => (d) => d[name];\nexport const indexOf = {transform: range};\nexport const identity = {transform: (d) => d};\nexport const zero = () => 0;\nexport const one = () => 1;\nexport const yes = () => true;\nexport const string = (x) => (x == null ? x : `${x}`);\nexport const number = (x) => (x == null ? x : +x);\nexport const boolean = (x) => (x == null ? x : !!x);\nexport const first = (x) => (x ? x[0] : undefined);\nexport const second = (x) => (x ? x[1] : undefined);\nexport const third = (x) => (x ? x[2] : undefined);\nexport const constant = (x) => () => x;\n\n// Converts a string like “p25” into a function that takes an index I and an\n// accessor function f, returning the corresponding percentile value.\nexport function percentile(reduce) {\n const p = +`${reduce}`.slice(1) / 100;\n return (I, f) => quantile(I, p, f);\n}\n\n// If the values are specified as a typed array, no coercion is required.\nexport function coerceNumbers(values) {\n return values instanceof TypedArray ? values : map(values, coerceNumber, Float64Array);\n}\n\n// Unlike Mark’s number, here we want to convert null and undefined to NaN since\n// the result will be stored in a Float64Array and we don’t want null to be\n// coerced to zero. We use Number instead of unary + to allow BigInt coercion.\nfunction coerceNumber(x) {\n return x == null ? NaN : Number(x);\n}\n\nexport function coerceDates(values) {\n return map(values, coerceDate);\n}\n\n// When coercing strings to dates, we only want to allow the ISO 8601 format\n// since the built-in string parsing of the Date constructor varies across\n// browsers. (In the future, this could be made more liberal if desired, though\n// it is still generally preferable to do date parsing yourself explicitly,\n// rather than rely on Plot.) Any non-string values are coerced to number first\n// and treated as milliseconds since UNIX epoch.\nexport function coerceDate(x) {\n return x instanceof Date && !isNaN(x)\n ? x\n : typeof x === \"string\"\n ? isoParse(x)\n : x == null || isNaN((x = +x))\n ? undefined\n : new Date(x);\n}\n\n// Some channels may allow a string constant to be specified; to differentiate\n// string constants (e.g., \"red\") from named fields (e.g., \"date\"), this\n// function tests whether the given value is a CSS color string and returns a\n// tuple [channel, constant] where one of the two is undefined, and the other is\n// the given value. If you wish to reference a named field that is also a valid\n// CSS color, use an accessor (d => d.red) instead.\nexport function maybeColorChannel(value, defaultValue) {\n if (value === undefined) value = defaultValue;\n return value === null ? [undefined, \"none\"] : isColor(value) ? [undefined, value] : [value, undefined];\n}\n\n// Similar to maybeColorChannel, this tests whether the given value is a number\n// indicating a constant, and otherwise assumes that it’s a channel value.\nexport function maybeNumberChannel(value, defaultValue) {\n if (value === undefined) value = defaultValue;\n return value === null || typeof value === \"number\" ? [undefined, value] : [value, undefined];\n}\n\n// Validates the specified optional string against the allowed list of keywords.\nexport function maybeKeyword(input, name, allowed) {\n if (input != null) return keyword(input, name, allowed);\n}\n\n// Validates the specified required string against the allowed list of keywords.\nexport function keyword(input, name, allowed) {\n const i = `${input}`.toLowerCase();\n if (!allowed.includes(i)) throw new Error(`invalid ${name}: ${input}`);\n return i;\n}\n\n// Promotes the specified data to an array as needed.\nexport function arrayify(data) {\n return data == null || data instanceof Array || data instanceof TypedArray ? data : Array.from(data);\n}\n\n// An optimization of type.from(values, f): if the given values are already an\n// instanceof the desired array type, the faster values.map method is used.\nexport function map(values, f, type = Array) {\n return values == null ? values : values instanceof type ? values.map(f) : type.from(values, f);\n}\n\n// An optimization of type.from(values): if the given values are already an\n// instanceof the desired array type, the faster values.slice method is used.\nexport function slice(values, type = Array) {\n return values instanceof type ? values.slice() : type.from(values);\n}\n\n// Disambiguates an options object (e.g., {y: \"x2\"}) from a primitive value.\nexport function isObject(option) {\n return option?.toString === objectToString;\n}\n\n// Disambiguates a scale options object (e.g., {color: {type: \"linear\"}}) from\n// some other option (e.g., {color: \"red\"}). When creating standalone legends,\n// this is used to test whether a scale is defined; this should be consistent\n// with inferScaleType when there are no channels associated with the scale, and\n// if this returns true, then normalizeScale must return non-null.\nexport function isScaleOptions(option) {\n return isObject(option) && (option.type !== undefined || option.domain !== undefined);\n}\n\n// Disambiguates an options object (e.g., {y: \"x2\"}) from a channel value\n// definition expressed as a channel transform (e.g., {transform: …}).\nexport function isOptions(option) {\n return isObject(option) && typeof option.transform !== \"function\";\n}\n\n// Disambiguates a sort transform (e.g., {sort: \"date\"}) from a channel domain\n// sort definition (e.g., {sort: {y: \"x\"}}).\nexport function isDomainSort(sort) {\n return isOptions(sort) && sort.value === undefined && sort.channel === undefined;\n}\n\n// For marks specified either as [0, x] or [x1, x2], such as areas and bars.\nexport function maybeZero(x, x1, x2, x3 = identity) {\n if (x1 === undefined && x2 === undefined) {\n // {x} or {}\n (x1 = 0), (x2 = x === undefined ? x3 : x);\n } else if (x1 === undefined) {\n // {x, x2} or {x2}\n x1 = x === undefined ? 0 : x;\n } else if (x2 === undefined) {\n // {x, x1} or {x1}\n x2 = x === undefined ? 0 : x;\n }\n return [x1, x2];\n}\n\n// For marks that have x and y channels (e.g., cell, dot, line, text).\nexport function maybeTuple(x, y) {\n return x === undefined && y === undefined ? [first, second] : [x, y];\n}\n\n// A helper for extracting the z channel, if it is variable. Used by transforms\n// that require series, such as moving average and normalize.\nexport function maybeZ({z, fill, stroke} = {}) {\n if (z === undefined) [z] = maybeColorChannel(fill);\n if (z === undefined) [z] = maybeColorChannel(stroke);\n return z;\n}\n\n// Returns a Uint32Array with elements [0, 1, 2, … data.length - 1].\nexport function range(data) {\n const n = data.length;\n const r = new Uint32Array(n);\n for (let i = 0; i < n; ++i) r[i] = i;\n return r;\n}\n\n// Returns a filtered range of data given the test function.\nexport function where(data, test) {\n return range(data).filter((i) => test(data[i], i, data));\n}\n\n// Returns an array [values[index[0]], values[index[1]], …].\nexport function take(values, index) {\n return map(index, (i) => values[i]);\n}\n\n// Based on InternMap (d3.group).\nexport function keyof(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n}\n\nexport function maybeInput(key, options) {\n if (options[key] !== undefined) return options[key];\n switch (key) {\n case \"x1\":\n case \"x2\":\n key = \"x\";\n break;\n case \"y1\":\n case \"y2\":\n key = \"y\";\n break;\n }\n return options[key];\n}\n\nexport function column(source) {\n // Defines a column whose values are lazily populated by calling the returned\n // setter. If the given source is labeled, the label is propagated to the\n // returned column definition.\n let value;\n return [\n {\n transform: () => value,\n label: labelof(source)\n },\n (v) => (value = v)\n ];\n}\n\n// Like column, but allows the source to be null.\nexport function maybeColumn(source) {\n return source == null ? [source] : column(source);\n}\n\nexport function labelof(value, defaultValue) {\n return typeof value === \"string\" ? value : value && value.label !== undefined ? value.label : defaultValue;\n}\n\n// Assuming that both x1 and x2 and lazy columns (per above), this derives a new\n// a column that’s the average of the two, and which inherits the column label\n// (if any). Both input columns are assumed to be quantitative. If either column\n// is temporal, the returned column is also temporal.\nexport function mid(x1, x2) {\n return {\n transform(data) {\n const X1 = x1.transform(data);\n const X2 = x2.transform(data);\n return isTemporal(X1) || isTemporal(X2)\n ? map(X1, (_, i) => new Date((+X1[i] + +X2[i]) / 2))\n : map(X1, (_, i) => (+X1[i] + +X2[i]) / 2, Float64Array);\n },\n label: x1.label\n };\n}\n\n// If interval is not nullish, converts interval shorthand such as a number (for\n// multiples) or a time interval name (such as “day”) to a {floor, offset,\n// range} object similar to a D3 time interval.\nexport function maybeInterval(interval, type) {\n if (interval == null) return;\n if (typeof interval === \"number\") {\n if (0 < interval && interval < 1 && Number.isInteger(1 / interval)) interval = -1 / interval;\n const n = Math.abs(interval);\n return interval < 0\n ? {\n floor: (d) => Math.floor(d * n) / n,\n offset: (d) => (d * n + 1) / n, // note: no optional step for simplicity\n range: (lo, hi) => rangei(Math.ceil(lo * n), hi * n).map((x) => x / n)\n }\n : {\n floor: (d) => Math.floor(d / n) * n,\n offset: (d) => d + n, // note: no optional step for simplicity\n range: (lo, hi) => rangei(Math.ceil(lo / n), hi / n).map((x) => x * n)\n };\n }\n if (typeof interval === \"string\") return (type === \"time\" ? maybeTimeInterval : maybeUtcInterval)(interval);\n if (typeof interval.floor !== \"function\") throw new Error(\"invalid interval; missing floor method\");\n if (typeof interval.offset !== \"function\") throw new Error(\"invalid interval; missing offset method\");\n return interval;\n}\n\n// Like maybeInterval, but requires a range method too.\nexport function maybeRangeInterval(interval, type) {\n interval = maybeInterval(interval, type);\n if (interval && typeof interval.range !== \"function\") throw new Error(\"invalid interval: missing range method\");\n return interval;\n}\n\n// Like maybeRangeInterval, but requires a ceil method too.\nexport function maybeNiceInterval(interval, type) {\n interval = maybeRangeInterval(interval, type);\n if (interval && typeof interval.ceil !== \"function\") throw new Error(\"invalid interval: missing ceil method\");\n return interval;\n}\n\n// This distinguishes between per-dimension options and a standalone value.\nexport function maybeValue(value) {\n return value === undefined || isOptions(value) ? value : {value};\n}\n\n// Coerces the given channel values (if any) to numbers. This is useful when\n// values will be interpolated into other code, such as an SVG transform, and\n// where we don’t wish to allow unexpected behavior for weird input.\nexport function numberChannel(source) {\n return source == null\n ? null\n : {\n transform: (data) => valueof(data, source, Float64Array),\n label: labelof(source)\n };\n}\n\nexport function isTuples(data) {\n if (!isIterable(data)) return false;\n for (const d of data) {\n if (d == null) continue;\n return typeof d === \"object\" && \"0\" in d && \"1\" in d;\n }\n}\n\nexport function isIterable(value) {\n return value && typeof value[Symbol.iterator] === \"function\";\n}\n\nexport function isTextual(values) {\n for (const value of values) {\n if (value == null) continue;\n return typeof value !== \"object\" || value instanceof Date;\n }\n}\n\nexport function isOrdinal(values) {\n for (const value of values) {\n if (value == null) continue;\n const type = typeof value;\n return type === \"string\" || type === \"boolean\";\n }\n}\n\nexport function isTemporal(values) {\n for (const value of values) {\n if (value == null) continue;\n return value instanceof Date;\n }\n}\n\n// Are these strings that might represent dates? This is stricter than ISO 8601\n// because we want to ignore false positives on numbers; for example, the string\n// \"1192\" is more likely to represent a number than a date even though it is\n// valid ISO 8601 representing 1192-01-01.\nexport function isTemporalString(values) {\n for (const value of values) {\n if (value == null) continue;\n return typeof value === \"string\" && isNaN(value) && isoParse(value);\n }\n}\n\n// Are these strings that might represent numbers? This is stricter than\n// coercion because we want to ignore false positives on e.g. empty strings.\nexport function isNumericString(values) {\n for (const value of values) {\n if (value == null) continue;\n if (typeof value !== \"string\") return false;\n if (!value.trim()) continue;\n return !isNaN(value);\n }\n}\n\nexport function isNumeric(values) {\n for (const value of values) {\n if (value == null) continue;\n return typeof value === \"number\";\n }\n}\n\n// Returns true if every non-null value in the specified iterable of values\n// passes the specified predicate, and there is at least one non-null value;\n// returns false if at least one non-null value does not pass the specified\n// predicate; otherwise returns undefined (as if all values are null).\nexport function isEvery(values, is) {\n let every;\n for (const value of values) {\n if (value == null) continue;\n if (!is(value)) return false;\n every = true;\n }\n return every;\n}\n\n// Mostly relies on d3-color, with a few extra color keywords. Currently this\n// strictly requires that the value be a string; we might want to apply string\n// coercion here, though note that d3-color instances would need to support\n// valueOf to work correctly with InternMap.\n// https://www.w3.org/TR/SVG11/painting.html#SpecifyingPaint\nexport function isColor(value) {\n if (typeof value !== \"string\") return false;\n value = value.toLowerCase().trim();\n return (\n value === \"none\" ||\n value === \"currentcolor\" ||\n (value.startsWith(\"url(\") && value.endsWith(\")\")) || // , e.g. pattern or gradient\n (value.startsWith(\"var(\") && value.endsWith(\")\")) || // CSS variable\n color(value) !== null\n );\n}\n\nexport function isOpacity(value) {\n return typeof value === \"number\" && ((0 <= value && value <= 1) || isNaN(value));\n}\n\nexport function isNoneish(value) {\n return value == null || isNone(value);\n}\n\nexport function isNone(value) {\n return /^\\s*none\\s*$/i.test(value);\n}\n\nexport function isRound(value) {\n return /^\\s*round\\s*$/i.test(value);\n}\n\nexport function maybeFrameAnchor(value = \"middle\") {\n return keyword(value, \"frameAnchor\", [\n \"middle\",\n \"top-left\",\n \"top\",\n \"top-right\",\n \"right\",\n \"bottom-right\",\n \"bottom\",\n \"bottom-left\",\n \"left\"\n ]);\n}\n\n// Like a sort comparator, returns a positive value if the given array of values\n// is in ascending order, a negative value if the values are in descending\n// order. Assumes monotonicity; only tests the first and last values.\nexport function orderof(values) {\n if (values == null) return;\n const first = values[0];\n const last = values[values.length - 1];\n return descending(first, last);\n}\n\n// Unlike {...defaults, ...options}, this ensures that any undefined (but\n// present) properties in options inherit the given default value.\nexport function inherit(options = {}, ...rest) {\n let o = options;\n for (const defaults of rest) {\n for (const key in defaults) {\n if (o[key] === undefined) {\n const value = defaults[key];\n if (o === options) o = {...o, [key]: value};\n else o[key] = value;\n }\n }\n }\n return o;\n}\n\n// Given an iterable of named things (objects with a name property), returns a\n// corresponding object with properties associated with the given name.\nexport function named(things) {\n console.warn(\"named iterables are deprecated; please use an object instead\");\n const names = new Set();\n return Object.fromEntries(\n Array.from(things, (thing) => {\n const {name} = thing;\n if (name == null) throw new Error(\"missing name\");\n const key = `${name}`;\n if (key === \"__proto__\") throw new Error(`illegal name: ${key}`);\n if (names.has(key)) throw new Error(`duplicate name: ${key}`);\n names.add(key);\n return [name, thing];\n })\n );\n}\n\nexport function maybeNamed(things) {\n return isIterable(things) ? named(things) : things;\n}\n","// Positional scales have associated axes, and for ordinal data, a point or band\n// scale is used instead of an ordinal scale.\nexport const position = Symbol(\"position\");\n\n// Color scales default to the turbo interpolator for quantitative data, and to\n// the Tableau10 scheme for ordinal data. Color scales may also have an\n// associated legend.\nexport const color = Symbol(\"color\");\n\n// Radius scales default to the sqrt type, have a default range of [0, 3], and a\n// default domain from 0 to the median first quartile of associated channels.\nexport const radius = Symbol(\"radius\");\n\n// Length scales default to the linear type, have a default range of [0, 12],\n// and a default domain from 0 to the median median of associated channels.\nexport const length = Symbol(\"length\");\n\n// Opacity scales have a default range of [0, 1], and a default domain from 0 to\n// the maximum value of associated channels.\nexport const opacity = Symbol(\"opacity\");\n\n// Symbol scales have a default range of categorical symbols.\nexport const symbol = Symbol(\"symbol\");\n\n// TODO Rather than hard-coding the list of known scale names, collect the names\n// and categories for each plot specification, so that custom marks can register\n// custom scales.\nexport const registry = new Map([\n [\"x\", position],\n [\"y\", position],\n [\"fx\", position],\n [\"fy\", position],\n [\"r\", radius],\n [\"color\", color],\n [\"opacity\", opacity],\n [\"symbol\", symbol],\n [\"length\", length]\n]);\n","import {symbolAsterisk, symbolDiamond2, symbolPlus, symbolSquare2, symbolTriangle2, symbolTimes} from \"d3\";\nimport {symbolCircle, symbolCross, symbolDiamond, symbolSquare, symbolStar, symbolTriangle, symbolWye} from \"d3\";\n\nexport const sqrt3 = Math.sqrt(3);\nexport const sqrt4_3 = 2 / sqrt3;\n\nconst symbolHexagon = {\n draw(context, size) {\n const rx = Math.sqrt(size / Math.PI),\n ry = rx * sqrt4_3,\n hy = ry / 2;\n context.moveTo(0, ry);\n context.lineTo(rx, hy);\n context.lineTo(rx, -hy);\n context.lineTo(0, -ry);\n context.lineTo(-rx, -hy);\n context.lineTo(-rx, hy);\n context.closePath();\n }\n};\n\nconst symbols = new Map([\n [\"asterisk\", symbolAsterisk],\n [\"circle\", symbolCircle],\n [\"cross\", symbolCross],\n [\"diamond\", symbolDiamond],\n [\"diamond2\", symbolDiamond2],\n [\"hexagon\", symbolHexagon],\n [\"plus\", symbolPlus],\n [\"square\", symbolSquare],\n [\"square2\", symbolSquare2],\n [\"star\", symbolStar],\n [\"times\", symbolTimes],\n [\"triangle\", symbolTriangle],\n [\"triangle2\", symbolTriangle2],\n [\"wye\", symbolWye]\n]);\n\nfunction isSymbolObject(value) {\n return value && typeof value.draw === \"function\";\n}\n\nexport function isSymbol(value) {\n if (isSymbolObject(value)) return true;\n if (typeof value !== \"string\") return false;\n return symbols.has(value.toLowerCase());\n}\n\nexport function maybeSymbol(symbol) {\n if (symbol == null || isSymbolObject(symbol)) return symbol;\n const value = symbols.get(`${symbol}`.toLowerCase());\n if (value) return value;\n throw new Error(`invalid symbol: ${symbol}`);\n}\n\nexport function maybeSymbolChannel(symbol) {\n if (symbol == null || isSymbolObject(symbol)) return [undefined, symbol];\n if (typeof symbol === \"string\") {\n const value = symbols.get(`${symbol}`.toLowerCase());\n if (value) return [undefined, value];\n }\n return [symbol, undefined];\n}\n","let warnings = 0;\n\nexport function consumeWarnings() {\n const w = warnings;\n warnings = 0;\n return w;\n}\n\nexport function warn(message) {\n console.warn(message);\n ++warnings;\n}\n","import {\n interpolateBlues,\n interpolateBrBG,\n interpolateBuGn,\n interpolateBuPu,\n interpolateGnBu,\n interpolateGreens,\n interpolateGreys,\n interpolateOranges,\n interpolateOrRd,\n interpolatePiYG,\n interpolatePRGn,\n interpolatePuBu,\n interpolatePuBuGn,\n interpolatePuOr,\n interpolatePuRd,\n interpolatePurples,\n interpolateRdBu,\n interpolateRdGy,\n interpolateRdPu,\n interpolateRdYlBu,\n interpolateRdYlGn,\n interpolateReds,\n interpolateSpectral,\n interpolateYlGn,\n interpolateYlGnBu,\n interpolateYlOrBr,\n interpolateYlOrRd,\n interpolateTurbo,\n interpolateViridis,\n interpolateMagma,\n interpolateInferno,\n interpolatePlasma,\n interpolateCividis,\n interpolateCubehelixDefault,\n interpolateWarm,\n interpolateCool,\n interpolateRainbow,\n interpolateSinebow,\n quantize,\n schemeAccent,\n schemeBlues,\n schemeBrBG,\n schemeBuGn,\n schemeBuPu,\n schemeCategory10,\n schemeDark2,\n schemeGnBu,\n schemeGreens,\n schemeGreys,\n schemeOranges,\n schemeOrRd,\n schemePaired,\n schemePastel1,\n schemePastel2,\n schemePiYG,\n schemePRGn,\n schemePuBu,\n schemePuBuGn,\n schemePuOr,\n schemePuRd,\n schemePurples,\n schemeRdBu,\n schemeRdGy,\n schemeRdPu,\n schemeRdYlBu,\n schemeRdYlGn,\n schemeReds,\n schemeSet1,\n schemeSet2,\n schemeSet3,\n schemeSpectral,\n schemeTableau10,\n schemeYlGn,\n schemeYlGnBu,\n schemeYlOrBr,\n schemeYlOrRd\n} from \"d3\";\n\nconst ordinalSchemes = new Map([\n // categorical\n [\"accent\", schemeAccent],\n [\"category10\", schemeCategory10],\n [\"dark2\", schemeDark2],\n [\"paired\", schemePaired],\n [\"pastel1\", schemePastel1],\n [\"pastel2\", schemePastel2],\n [\"set1\", schemeSet1],\n [\"set2\", schemeSet2],\n [\"set3\", schemeSet3],\n [\"tableau10\", schemeTableau10],\n\n // diverging\n [\"brbg\", scheme11(schemeBrBG, interpolateBrBG)],\n [\"prgn\", scheme11(schemePRGn, interpolatePRGn)],\n [\"piyg\", scheme11(schemePiYG, interpolatePiYG)],\n [\"puor\", scheme11(schemePuOr, interpolatePuOr)],\n [\"rdbu\", scheme11(schemeRdBu, interpolateRdBu)],\n [\"rdgy\", scheme11(schemeRdGy, interpolateRdGy)],\n [\"rdylbu\", scheme11(schemeRdYlBu, interpolateRdYlBu)],\n [\"rdylgn\", scheme11(schemeRdYlGn, interpolateRdYlGn)],\n [\"spectral\", scheme11(schemeSpectral, interpolateSpectral)],\n\n // reversed diverging (for temperature data)\n [\"burd\", scheme11r(schemeRdBu, interpolateRdBu)],\n [\"buylrd\", scheme11r(schemeRdYlBu, interpolateRdYlBu)],\n\n // sequential (single-hue)\n [\"blues\", scheme9(schemeBlues, interpolateBlues)],\n [\"greens\", scheme9(schemeGreens, interpolateGreens)],\n [\"greys\", scheme9(schemeGreys, interpolateGreys)],\n [\"oranges\", scheme9(schemeOranges, interpolateOranges)],\n [\"purples\", scheme9(schemePurples, interpolatePurples)],\n [\"reds\", scheme9(schemeReds, interpolateReds)],\n\n // sequential (multi-hue)\n [\"turbo\", schemei(interpolateTurbo)],\n [\"viridis\", schemei(interpolateViridis)],\n [\"magma\", schemei(interpolateMagma)],\n [\"inferno\", schemei(interpolateInferno)],\n [\"plasma\", schemei(interpolatePlasma)],\n [\"cividis\", schemei(interpolateCividis)],\n [\"cubehelix\", schemei(interpolateCubehelixDefault)],\n [\"warm\", schemei(interpolateWarm)],\n [\"cool\", schemei(interpolateCool)],\n [\"bugn\", scheme9(schemeBuGn, interpolateBuGn)],\n [\"bupu\", scheme9(schemeBuPu, interpolateBuPu)],\n [\"gnbu\", scheme9(schemeGnBu, interpolateGnBu)],\n [\"orrd\", scheme9(schemeOrRd, interpolateOrRd)],\n [\"pubu\", scheme9(schemePuBu, interpolatePuBu)],\n [\"pubugn\", scheme9(schemePuBuGn, interpolatePuBuGn)],\n [\"purd\", scheme9(schemePuRd, interpolatePuRd)],\n [\"rdpu\", scheme9(schemeRdPu, interpolateRdPu)],\n [\"ylgn\", scheme9(schemeYlGn, interpolateYlGn)],\n [\"ylgnbu\", scheme9(schemeYlGnBu, interpolateYlGnBu)],\n [\"ylorbr\", scheme9(schemeYlOrBr, interpolateYlOrBr)],\n [\"ylorrd\", scheme9(schemeYlOrRd, interpolateYlOrRd)],\n\n // cyclical\n [\"rainbow\", schemeicyclical(interpolateRainbow)],\n [\"sinebow\", schemeicyclical(interpolateSinebow)]\n]);\n\nfunction scheme9(scheme, interpolate) {\n return ({length: n}) => {\n if (n === 1) return [scheme[3][1]]; // favor midpoint\n if (n === 2) return [scheme[3][1], scheme[3][2]]; // favor darker\n n = Math.max(3, Math.floor(n));\n return n > 9 ? quantize(interpolate, n) : scheme[n];\n };\n}\n\nfunction scheme11(scheme, interpolate) {\n return ({length: n}) => {\n if (n === 2) return [scheme[3][0], scheme[3][2]]; // favor diverging extrema\n n = Math.max(3, Math.floor(n));\n return n > 11 ? quantize(interpolate, n) : scheme[n];\n };\n}\n\nfunction scheme11r(scheme, interpolate) {\n return ({length: n}) => {\n if (n === 2) return [scheme[3][2], scheme[3][0]]; // favor diverging extrema\n n = Math.max(3, Math.floor(n));\n return n > 11 ? quantize((t) => interpolate(1 - t), n) : scheme[n].slice().reverse();\n };\n}\n\nfunction schemei(interpolate) {\n return ({length: n}) => quantize(interpolate, Math.max(2, Math.floor(n)));\n}\n\nfunction schemeicyclical(interpolate) {\n return ({length: n}) => quantize(interpolate, Math.floor(n) + 1).slice(0, -1);\n}\n\nexport function ordinalScheme(scheme) {\n const s = `${scheme}`.toLowerCase();\n if (!ordinalSchemes.has(s)) throw new Error(`unknown ordinal scheme: ${s}`);\n return ordinalSchemes.get(s);\n}\n\nexport function ordinalRange(scheme, length) {\n const s = ordinalScheme(scheme);\n const r = typeof s === \"function\" ? s({length}) : s;\n return r.length !== length ? r.slice(0, length) : r;\n}\n\n// If the specified domain contains only booleans (ignoring null and undefined),\n// returns a corresponding range where false is mapped to the low color and true\n// is mapped to the high color of the specified scheme.\nexport function maybeBooleanRange(domain, scheme = \"greys\") {\n const range = new Set();\n const [f, t] = ordinalRange(scheme, 2);\n for (const value of domain) {\n if (value == null) continue;\n if (value === true) range.add(t);\n else if (value === false) range.add(f);\n else return;\n }\n return [...range];\n}\n\nconst quantitativeSchemes = new Map([\n // diverging\n [\"brbg\", interpolateBrBG],\n [\"prgn\", interpolatePRGn],\n [\"piyg\", interpolatePiYG],\n [\"puor\", interpolatePuOr],\n [\"rdbu\", interpolateRdBu],\n [\"rdgy\", interpolateRdGy],\n [\"rdylbu\", interpolateRdYlBu],\n [\"rdylgn\", interpolateRdYlGn],\n [\"spectral\", interpolateSpectral],\n\n // reversed diverging (for temperature data)\n [\"burd\", (t) => interpolateRdBu(1 - t)],\n [\"buylrd\", (t) => interpolateRdYlBu(1 - t)],\n\n // sequential (single-hue)\n [\"blues\", interpolateBlues],\n [\"greens\", interpolateGreens],\n [\"greys\", interpolateGreys],\n [\"purples\", interpolatePurples],\n [\"reds\", interpolateReds],\n [\"oranges\", interpolateOranges],\n\n // sequential (multi-hue)\n [\"turbo\", interpolateTurbo],\n [\"viridis\", interpolateViridis],\n [\"magma\", interpolateMagma],\n [\"inferno\", interpolateInferno],\n [\"plasma\", interpolatePlasma],\n [\"cividis\", interpolateCividis],\n [\"cubehelix\", interpolateCubehelixDefault],\n [\"warm\", interpolateWarm],\n [\"cool\", interpolateCool],\n [\"bugn\", interpolateBuGn],\n [\"bupu\", interpolateBuPu],\n [\"gnbu\", interpolateGnBu],\n [\"orrd\", interpolateOrRd],\n [\"pubugn\", interpolatePuBuGn],\n [\"pubu\", interpolatePuBu],\n [\"purd\", interpolatePuRd],\n [\"rdpu\", interpolateRdPu],\n [\"ylgnbu\", interpolateYlGnBu],\n [\"ylgn\", interpolateYlGn],\n [\"ylorbr\", interpolateYlOrBr],\n [\"ylorrd\", interpolateYlOrRd],\n\n // cyclical\n [\"rainbow\", interpolateRainbow],\n [\"sinebow\", interpolateSinebow]\n]);\n\nexport function quantitativeScheme(scheme) {\n const s = `${scheme}`.toLowerCase();\n if (!quantitativeSchemes.has(s)) throw new Error(`unknown quantitative scheme: ${s}`);\n return quantitativeSchemes.get(s);\n}\n\nconst divergingSchemes = new Set([\n \"brbg\",\n \"prgn\",\n \"piyg\",\n \"puor\",\n \"rdbu\",\n \"rdgy\",\n \"rdylbu\",\n \"rdylgn\",\n \"spectral\",\n \"burd\",\n \"buylrd\"\n]);\n\nexport function isDivergingScheme(scheme) {\n return scheme != null && divergingSchemes.has(`${scheme}`.toLowerCase());\n}\n","import {\n descending,\n extent,\n interpolateHcl,\n interpolateHsl,\n interpolateLab,\n interpolateNumber,\n interpolateRgb,\n interpolateRound,\n min,\n max,\n median,\n quantile,\n quantize,\n reverse as reverseof,\n scaleLinear,\n scaleLog,\n scalePow,\n scaleQuantile,\n scaleSymlog,\n scaleThreshold,\n scaleIdentity,\n ticks\n} from \"d3\";\nimport {positive, negative, finite} from \"../defined.js\";\nimport {arrayify, constant, orderof, slice, maybeNiceInterval, maybeRangeInterval} from \"../options.js\";\nimport {ordinalRange, quantitativeScheme} from \"./schemes.js\";\nimport {registry, radius, opacity, color, length} from \"./index.js\";\n\nexport const flip = (i) => (t) => i(1 - t);\nconst unit = [0, 1];\n\nconst interpolators = new Map([\n // numbers\n [\"number\", interpolateNumber],\n\n // color spaces\n [\"rgb\", interpolateRgb],\n [\"hsl\", interpolateHsl],\n [\"hcl\", interpolateHcl],\n [\"lab\", interpolateLab]\n]);\n\nexport function maybeInterpolator(interpolate) {\n const i = `${interpolate}`.toLowerCase();\n if (!interpolators.has(i)) throw new Error(`unknown interpolator: ${i}`);\n return interpolators.get(i);\n}\n\nexport function createScaleQ(\n key,\n scale,\n channels,\n {\n type,\n nice,\n clamp,\n zero,\n domain = inferAutoDomain(key, channels),\n unknown,\n round,\n scheme,\n interval,\n range = registry.get(key) === radius\n ? inferRadialRange(channels, domain)\n : registry.get(key) === length\n ? inferLengthRange(channels, domain)\n : registry.get(key) === opacity\n ? unit\n : undefined,\n interpolate = registry.get(key) === color\n ? scheme == null && range !== undefined\n ? interpolateRgb\n : quantitativeScheme(scheme !== undefined ? scheme : type === \"cyclical\" ? \"rainbow\" : \"turbo\")\n : round\n ? interpolateRound\n : interpolateNumber,\n reverse\n }\n) {\n interval = maybeRangeInterval(interval, type);\n if (type === \"cyclical\" || type === \"sequential\") type = \"linear\"; // shorthand for color schemes\n reverse = !!reverse;\n\n // Sometimes interpolate is a named interpolator, such as \"lab\" for Lab color\n // space. Other times interpolate is a function that takes two arguments and\n // is used in conjunction with the range. And other times the interpolate\n // function is a “fixed” interpolator on the [0, 1] interval, as when a\n // color scheme such as interpolateRdBu is used.\n if (typeof interpolate !== \"function\") {\n interpolate = maybeInterpolator(interpolate);\n }\n if (interpolate.length === 1) {\n if (reverse) {\n interpolate = flip(interpolate);\n reverse = false;\n }\n if (range === undefined) {\n range = Float64Array.from(domain, (_, i) => i / (domain.length - 1));\n if (range.length === 2) range = unit; // optimize common case of [0, 1]\n }\n scale.interpolate((range === unit ? constant : interpolatePiecewise)(interpolate));\n } else {\n scale.interpolate(interpolate);\n }\n\n // If a zero option is specified, we assume that the domain is numeric, and we\n // want to ensure that the domain crosses zero. However, note that the domain\n // may be reversed (descending) so we shouldn’t assume that the first value is\n // smaller than the last; and also it’s possible that the domain has more than\n // two values for a “poly” scale. And lastly be careful not to mutate input!\n if (zero) {\n const [min, max] = extent(domain);\n if (min > 0 || max < 0) {\n domain = slice(domain);\n if (orderof(domain) !== Math.sign(min)) domain[domain.length - 1] = 0;\n // [2, 1] or [-2, -1]\n else domain[0] = 0; // [1, 2] or [-1, -2]\n }\n }\n\n if (reverse) domain = reverseof(domain);\n scale.domain(domain).unknown(unknown);\n if (nice) scale.nice(maybeNice(nice, type)), (domain = scale.domain());\n if (range !== undefined) scale.range(range);\n if (clamp) scale.clamp(clamp);\n return {type, domain, range, scale, interpolate, interval};\n}\n\nfunction maybeNice(nice, type) {\n return nice === true ? undefined : typeof nice === \"number\" ? nice : maybeNiceInterval(nice, type);\n}\n\nexport function createScaleLinear(key, channels, options) {\n return createScaleQ(key, scaleLinear(), channels, options);\n}\n\nexport function createScaleSqrt(key, channels, options) {\n return createScalePow(key, channels, {...options, exponent: 0.5});\n}\n\nexport function createScalePow(key, channels, {exponent = 1, ...options}) {\n return createScaleQ(key, scalePow().exponent(exponent), channels, {...options, type: \"pow\"});\n}\n\nexport function createScaleLog(key, channels, {base = 10, domain = inferLogDomain(channels), ...options}) {\n return createScaleQ(key, scaleLog().base(base), channels, {...options, domain});\n}\n\nexport function createScaleSymlog(key, channels, {constant = 1, ...options}) {\n return createScaleQ(key, scaleSymlog().constant(constant), channels, options);\n}\n\nexport function createScaleQuantile(\n key,\n channels,\n {\n range,\n quantiles = range === undefined ? 5 : (range = [...range]).length, // deprecated; use n instead\n n = quantiles,\n scheme = \"rdylbu\",\n domain = inferQuantileDomain(channels),\n unknown,\n interpolate,\n reverse\n }\n) {\n if (range === undefined) {\n range =\n interpolate !== undefined\n ? quantize(interpolate, n)\n : registry.get(key) === color\n ? ordinalRange(scheme, n)\n : undefined;\n }\n if (domain.length > 0) {\n domain = scaleQuantile(domain, range === undefined ? {length: n} : range).quantiles();\n }\n return createScaleThreshold(key, channels, {domain, range, reverse, unknown});\n}\n\nexport function createScaleQuantize(\n key,\n channels,\n {\n range,\n n = range === undefined ? 5 : (range = [...range]).length,\n scheme = \"rdylbu\",\n domain = inferAutoDomain(key, channels),\n unknown,\n interpolate,\n reverse\n }\n) {\n const [min, max] = extent(domain);\n let thresholds;\n if (range === undefined) {\n thresholds = ticks(min, max, n); // approximate number of nice, round thresholds\n if (thresholds[0] <= min) thresholds.splice(0, 1); // drop exact lower bound\n if (thresholds[thresholds.length - 1] >= max) thresholds.pop(); // drop exact upper bound\n n = thresholds.length + 1;\n range =\n interpolate !== undefined\n ? quantize(interpolate, n)\n : registry.get(key) === color\n ? ordinalRange(scheme, n)\n : undefined;\n } else {\n thresholds = quantize(interpolateNumber(min, max), n + 1).slice(1, -1); // exactly n - 1 thresholds to match range\n if (min instanceof Date) thresholds = thresholds.map((x) => new Date(x)); // preserve date types\n }\n if (orderof(arrayify(domain)) < 0) thresholds.reverse(); // preserve descending domain\n return createScaleThreshold(key, channels, {domain: thresholds, range, reverse, unknown});\n}\n\nexport function createScaleThreshold(\n key,\n channels,\n {\n domain = [0], // explicit thresholds in ascending order\n unknown,\n scheme = \"rdylbu\",\n interpolate,\n range = interpolate !== undefined\n ? quantize(interpolate, domain.length + 1)\n : registry.get(key) === color\n ? ordinalRange(scheme, domain.length + 1)\n : undefined,\n reverse\n }\n) {\n domain = arrayify(domain);\n const sign = orderof(domain); // preserve descending domain\n if (!isNaN(sign) && !isOrdered(domain, sign)) throw new Error(`the ${key} scale has a non-monotonic domain`);\n if (reverse) range = reverseof(range); // domain ascending, so reverse range\n return {\n type: \"threshold\",\n scale: scaleThreshold(sign < 0 ? reverseof(domain) : domain, range === undefined ? [] : range).unknown(unknown),\n domain,\n range\n };\n}\n\nfunction isOrdered(domain, sign) {\n for (let i = 1, n = domain.length, d = domain[0]; i < n; ++i) {\n const s = descending(d, (d = domain[i]));\n if (s !== 0 && s !== sign) return false;\n }\n return true;\n}\n\nexport function createScaleIdentity() {\n return {type: \"identity\", scale: scaleIdentity()};\n}\n\nexport function inferDomain(channels, f = finite) {\n return channels.length\n ? [\n min(channels, ({value}) => (value === undefined ? value : min(value, f))),\n max(channels, ({value}) => (value === undefined ? value : max(value, f)))\n ]\n : [0, 1];\n}\n\nfunction inferAutoDomain(key, channels) {\n const type = registry.get(key);\n return (type === radius || type === opacity || type === length ? inferZeroDomain : inferDomain)(channels);\n}\n\nfunction inferZeroDomain(channels) {\n return [0, channels.length ? max(channels, ({value}) => (value === undefined ? value : max(value, finite))) : 1];\n}\n\n// We don’t want the upper bound of the radial domain to be zero, as this would\n// be degenerate, so we ignore nonpositive values. We also don’t want the\n// maximum default radius to exceed 30px.\nfunction inferRadialRange(channels, domain) {\n const hint = channels.find(({radius}) => radius !== undefined);\n if (hint !== undefined) return [0, hint.radius]; // a natural maximum radius, e.g. hexbins\n const h25 = quantile(channels, 0.5, ({value}) => (value === undefined ? NaN : quantile(value, 0.25, positive)));\n const range = domain.map((d) => 3 * Math.sqrt(d / h25));\n const k = 30 / max(range);\n return k < 1 ? range.map((r) => r * k) : range;\n}\n\n// We want a length scale’s domain to go from zero to a positive value, and to\n// treat negative lengths if any as inverted vectors of equivalent magnitude. We\n// also don’t want the maximum default length to exceed 60px.\nfunction inferLengthRange(channels, domain) {\n const h50 = median(channels, ({value}) => (value === undefined ? NaN : median(value, Math.abs)));\n const range = domain.map((d) => (12 * d) / h50);\n const k = 60 / max(range);\n return k < 1 ? range.map((r) => r * k) : range;\n}\n\nfunction inferLogDomain(channels) {\n for (const {value} of channels) {\n if (value !== undefined) {\n for (let v of value) {\n if (v > 0) return inferDomain(channels, positive);\n if (v < 0) return inferDomain(channels, negative);\n }\n }\n }\n return [1, 10];\n}\n\nfunction inferQuantileDomain(channels) {\n const domain = [];\n for (const {value} of channels) {\n if (value === undefined) continue;\n for (const v of value) domain.push(v);\n }\n return domain;\n}\n\nexport function interpolatePiecewise(interpolate) {\n return (i, j) => (t) => interpolate(i + t * (j - i));\n}\n","import {\n descending,\n interpolateNumber,\n interpolateRgb,\n piecewise,\n scaleDiverging,\n scaleDivergingLog,\n scaleDivergingPow,\n scaleDivergingSymlog\n} from \"d3\";\nimport {positive, negative} from \"../defined.js\";\nimport {quantitativeScheme} from \"./schemes.js\";\nimport {registry, color} from \"./index.js\";\nimport {inferDomain, maybeInterpolator, flip, interpolatePiecewise} from \"./quantitative.js\";\n\nfunction createScaleD(\n key,\n scale,\n transform,\n channels,\n {\n type,\n nice,\n clamp,\n domain = inferDomain(channels),\n unknown,\n pivot = 0,\n scheme,\n range,\n symmetric = true,\n interpolate = registry.get(key) === color\n ? scheme == null && range !== undefined\n ? interpolateRgb\n : quantitativeScheme(scheme !== undefined ? scheme : \"rdbu\")\n : interpolateNumber,\n reverse\n }\n) {\n pivot = +pivot;\n let [min, max] = domain;\n if (descending(min, max) < 0) ([min, max] = [max, min]), (reverse = !reverse);\n min = Math.min(min, pivot);\n max = Math.max(max, pivot);\n\n // Sometimes interpolate is a named interpolator, such as \"lab\" for Lab color\n // space. Other times interpolate is a function that takes two arguments and\n // is used in conjunction with the range. And other times the interpolate\n // function is a “fixed” interpolator on the [0, 1] interval, as when a\n // color scheme such as interpolateRdBu is used.\n if (typeof interpolate !== \"function\") {\n interpolate = maybeInterpolator(interpolate);\n }\n\n // If an explicit range is specified, promote it to a piecewise interpolator.\n if (range !== undefined) {\n interpolate =\n interpolate.length === 1 ? interpolatePiecewise(interpolate)(...range) : piecewise(interpolate, range);\n }\n\n // Reverse before normalization.\n if (reverse) interpolate = flip(interpolate);\n\n // Normalize the interpolator for symmetric difference around the pivot.\n if (symmetric) {\n const mid = transform.apply(pivot);\n const mindelta = mid - transform.apply(min);\n const maxdelta = transform.apply(max) - mid;\n if (mindelta < maxdelta) min = transform.invert(mid - maxdelta);\n else if (mindelta > maxdelta) max = transform.invert(mid + mindelta);\n }\n\n scale.domain([min, pivot, max]).unknown(unknown).interpolator(interpolate);\n if (clamp) scale.clamp(clamp);\n if (nice) scale.nice(nice);\n return {type, domain: [min, max], pivot, interpolate, scale};\n}\n\nexport function createScaleDiverging(key, channels, options) {\n return createScaleD(key, scaleDiverging(), transformIdentity, channels, options);\n}\n\nexport function createScaleDivergingSqrt(key, channels, options) {\n return createScaleDivergingPow(key, channels, {...options, exponent: 0.5});\n}\n\nexport function createScaleDivergingPow(key, channels, {exponent = 1, ...options}) {\n return createScaleD(key, scaleDivergingPow().exponent((exponent = +exponent)), transformPow(exponent), channels, {\n ...options,\n type: \"diverging-pow\"\n });\n}\n\nexport function createScaleDivergingLog(\n key,\n channels,\n {base = 10, pivot = 1, domain = inferDomain(channels, pivot < 0 ? negative : positive), ...options}\n) {\n return createScaleD(key, scaleDivergingLog().base((base = +base)), transformLog, channels, {\n domain,\n pivot,\n ...options\n });\n}\n\nexport function createScaleDivergingSymlog(key, channels, {constant = 1, ...options}) {\n return createScaleD(\n key,\n scaleDivergingSymlog().constant((constant = +constant)),\n transformSymlog(constant),\n channels,\n options\n );\n}\n\nconst transformIdentity = {\n apply(x) {\n return x;\n },\n invert(x) {\n return x;\n }\n};\n\nconst transformLog = {\n apply: Math.log,\n invert: Math.exp\n};\n\nconst transformSqrt = {\n apply(x) {\n return Math.sign(x) * Math.sqrt(Math.abs(x));\n },\n invert(x) {\n return Math.sign(x) * (x * x);\n }\n};\n\nfunction transformPow(exponent) {\n return exponent === 0.5\n ? transformSqrt\n : {\n apply(x) {\n return Math.sign(x) * Math.pow(Math.abs(x), exponent);\n },\n invert(x) {\n return Math.sign(x) * Math.pow(Math.abs(x), 1 / exponent);\n }\n };\n}\n\nfunction transformSymlog(constant) {\n return {\n apply(x) {\n return Math.sign(x) * Math.log1p(Math.abs(x / constant));\n },\n invert(x) {\n return Math.sign(x) * Math.expm1(Math.abs(x)) * constant;\n }\n };\n}\n","import {scaleTime, scaleUtc} from \"d3\";\nimport {createScaleQ} from \"./quantitative.js\";\n\nfunction createScaleT(key, scale, channels, options) {\n return createScaleQ(key, scale, channels, options);\n}\n\nexport function createScaleTime(key, channels, options) {\n return createScaleT(key, scaleTime(), channels, options);\n}\n\nexport function createScaleUtc(key, channels, options) {\n return createScaleT(key, scaleUtc(), channels, options);\n}\n","import {InternSet, extent, quantize, reverse as reverseof, sort, symbolsFill, symbolsStroke} from \"d3\";\nimport {scaleBand, scaleOrdinal, scalePoint, scaleImplicit} from \"d3\";\nimport {ascendingDefined} from \"../defined.js\";\nimport {isNoneish, map, maybeRangeInterval} from \"../options.js\";\nimport {maybeSymbol} from \"../symbol.js\";\nimport {registry, color, position, symbol} from \"./index.js\";\nimport {maybeBooleanRange, ordinalScheme, quantitativeScheme} from \"./schemes.js\";\n\n// This denotes an implicitly ordinal color scale: the scale type was not set,\n// but the associated values are strings or booleans. If the associated defined\n// values are entirely boolean, the range will default to greys. You can opt out\n// of this by setting the type explicitly.\nexport const ordinalImplicit = Symbol(\"ordinal\");\n\nfunction createScaleO(key, scale, channels, {type, interval, domain, range, reverse, hint}) {\n interval = maybeRangeInterval(interval, type);\n if (domain === undefined) domain = inferDomain(channels, interval, key);\n if (type === \"categorical\" || type === ordinalImplicit) type = \"ordinal\"; // shorthand for color schemes\n if (reverse) domain = reverseof(domain);\n scale.domain(domain);\n if (range !== undefined) {\n // If the range is specified as a function, pass it the domain.\n if (typeof range === \"function\") range = range(domain);\n scale.range(range);\n }\n return {type, domain, range, scale, hint, interval};\n}\n\nexport function createScaleOrdinal(key, channels, {type, interval, domain, range, scheme, unknown, ...options}) {\n interval = maybeRangeInterval(interval, type);\n if (domain === undefined) domain = inferDomain(channels, interval, key);\n let hint;\n if (registry.get(key) === symbol) {\n hint = inferSymbolHint(channels);\n range = range === undefined ? inferSymbolRange(hint) : map(range, maybeSymbol);\n } else if (registry.get(key) === color) {\n if (range === undefined && (type === \"ordinal\" || type === ordinalImplicit)) {\n range = maybeBooleanRange(domain, scheme);\n if (range !== undefined) scheme = undefined; // Don’t re-apply scheme.\n }\n if (scheme === undefined && range === undefined) {\n scheme = type === \"ordinal\" ? \"turbo\" : \"tableau10\";\n }\n if (scheme !== undefined) {\n if (range !== undefined) {\n const interpolate = quantitativeScheme(scheme);\n const t0 = range[0],\n d = range[1] - range[0];\n range = ({length: n}) => quantize((t) => interpolate(t0 + d * t), n);\n } else {\n range = ordinalScheme(scheme);\n }\n }\n }\n if (unknown === scaleImplicit) {\n throw new Error(`implicit unknown on ${key} scale is not supported`);\n }\n return createScaleO(key, scaleOrdinal().unknown(unknown), channels, {...options, type, domain, range, hint});\n}\n\nexport function createScalePoint(key, channels, {align = 0.5, padding = 0.5, ...options}) {\n return maybeRound(scalePoint().align(align).padding(padding), channels, options, key);\n}\n\nexport function createScaleBand(\n key,\n channels,\n {\n align = 0.5,\n padding = 0.1,\n paddingInner = padding,\n paddingOuter = key === \"fx\" || key === \"fy\" ? 0 : padding,\n ...options\n }\n) {\n return maybeRound(\n scaleBand().align(align).paddingInner(paddingInner).paddingOuter(paddingOuter),\n channels,\n options,\n key\n );\n}\n\nfunction maybeRound(scale, channels, options, key) {\n let {round} = options;\n if (round !== undefined) scale.round((round = !!round));\n scale = createScaleO(key, scale, channels, options);\n scale.round = round; // preserve for autoScaleRound\n return scale;\n}\n\nfunction inferDomain(channels, interval, key) {\n const values = new InternSet();\n for (const {value, domain} of channels) {\n if (domain !== undefined) return domain(); // see channelDomain\n if (value === undefined) continue;\n for (const v of value) values.add(v);\n }\n if (interval !== undefined) {\n const [min, max] = extent(values).map(interval.floor, interval);\n return interval.range(min, interval.offset(max));\n }\n if (values.size > 10e3 && registry.get(key) === position) {\n throw new Error(`implicit ordinal domain of ${key} scale has more than 10,000 values`);\n }\n return sort(values, ascendingDefined);\n}\n\n// If all channels provide a consistent hint, propagate it to the scale.\nfunction inferHint(channels, key) {\n let value;\n for (const {hint} of channels) {\n const candidate = hint?.[key];\n if (candidate === undefined) continue; // no hint here\n if (value === undefined) value = candidate;\n // first hint\n else if (value !== candidate) return; // inconsistent hint\n }\n return value;\n}\n\nfunction inferSymbolHint(channels) {\n return {\n fill: inferHint(channels, \"fill\"),\n stroke: inferHint(channels, \"stroke\")\n };\n}\n\nfunction inferSymbolRange(hint) {\n return isNoneish(hint.fill) ? symbolsStroke : symbolsFill;\n}\n","import {\n isOrdinal,\n isTemporal,\n isTemporalString,\n isNumericString,\n isScaleOptions,\n map,\n slice,\n coerceNumbers,\n coerceDates\n} from \"./options.js\";\nimport {registry, color, position, radius, opacity, symbol, length} from \"./scales/index.js\";\nimport {\n createScaleLinear,\n createScaleSqrt,\n createScalePow,\n createScaleLog,\n createScaleSymlog,\n createScaleQuantile,\n createScaleQuantize,\n createScaleThreshold,\n createScaleIdentity\n} from \"./scales/quantitative.js\";\nimport {\n createScaleDiverging,\n createScaleDivergingSqrt,\n createScaleDivergingPow,\n createScaleDivergingLog,\n createScaleDivergingSymlog\n} from \"./scales/diverging.js\";\nimport {isDivergingScheme} from \"./scales/schemes.js\";\nimport {createScaleTime, createScaleUtc} from \"./scales/temporal.js\";\nimport {createScaleOrdinal, createScalePoint, createScaleBand, ordinalImplicit} from \"./scales/ordinal.js\";\nimport {maybeSymbol} from \"./symbol.js\";\nimport {warn} from \"./warnings.js\";\n\nexport function createScales(\n channelsByScale,\n {\n label: globalLabel,\n inset: globalInset = 0,\n insetTop: globalInsetTop = globalInset,\n insetRight: globalInsetRight = globalInset,\n insetBottom: globalInsetBottom = globalInset,\n insetLeft: globalInsetLeft = globalInset,\n round,\n nice,\n clamp,\n zero,\n align,\n padding,\n projection,\n facet: {label: facetLabel = globalLabel} = {},\n ...options\n } = {}\n) {\n const scales = {};\n for (const [key, channels] of channelsByScale) {\n const scaleOptions = options[key];\n const scale = createScale(key, channels, {\n round: registry.get(key) === position ? round : undefined, // only for position\n nice,\n clamp,\n zero,\n align,\n padding,\n projection,\n ...scaleOptions\n });\n if (scale) {\n // populate generic scale options (percent, transform, insets)\n let {\n label = key === \"fx\" || key === \"fy\" ? facetLabel : globalLabel,\n percent,\n transform,\n inset,\n insetTop = inset !== undefined ? inset : key === \"y\" ? globalInsetTop : 0, // not fy\n insetRight = inset !== undefined ? inset : key === \"x\" ? globalInsetRight : 0, // not fx\n insetBottom = inset !== undefined ? inset : key === \"y\" ? globalInsetBottom : 0, // not fy\n insetLeft = inset !== undefined ? inset : key === \"x\" ? globalInsetLeft : 0 // not fx\n } = scaleOptions || {};\n if (transform == null) transform = undefined;\n else if (typeof transform !== \"function\") throw new Error(\"invalid scale transform; not a function\");\n scale.percent = !!percent;\n scale.label = label === undefined ? inferScaleLabel(channels, scale) : label;\n scale.transform = transform;\n if (key === \"x\" || key === \"fx\") {\n scale.insetLeft = +insetLeft;\n scale.insetRight = +insetRight;\n } else if (key === \"y\" || key === \"fy\") {\n scale.insetTop = +insetTop;\n scale.insetBottom = +insetBottom;\n }\n scales[key] = scale;\n }\n }\n return scales;\n}\n\nexport function createScaleFunctions(scales) {\n return Object.fromEntries(\n Object.entries(scales)\n .filter(([, {scale}]) => scale) // drop identity scales\n .map(([name, {scale, type, interval, label}]) => {\n scale.type = type; // for axis\n if (interval != null) scale.interval = interval; // for axis\n if (label != null) scale.label = label; // for axis\n return [name, scale];\n })\n );\n}\n\n// Mutates scale.range!\nexport function autoScaleRange(scales, dimensions) {\n const {x, y, fx, fy} = scales;\n const superdimensions = fx || fy ? outerDimensions(dimensions) : dimensions;\n if (fx) autoScaleRangeX(fx, superdimensions);\n if (fy) autoScaleRangeY(fy, superdimensions);\n const subdimensions = fx || fy ? innerDimensions(scales, dimensions) : dimensions;\n if (x) autoScaleRangeX(x, subdimensions);\n if (y) autoScaleRangeY(y, subdimensions);\n}\n\n// Channels can have labels; if all the channels for a given scale are\n// consistently labeled (i.e., have the same value if not undefined), and the\n// corresponding scale doesn’t already have an explicit label, then the\n// channels’ label is promoted to the scale. This inferred label should have an\n// orientation-appropriate arrow added when used as an axis, but we don’t want\n// to add the arrow when the label is set explicitly as an option; so, the\n// inferred label is distinguished as an object with an “inferred” property.\nfunction inferScaleLabel(channels = [], scale) {\n let label;\n for (const {label: l} of channels) {\n if (l === undefined) continue;\n if (label === undefined) label = l;\n else if (label !== l) return;\n }\n if (label === undefined) return;\n // Ignore the implicit label for temporal scales if it’s simply “date”.\n if (isTemporalScale(scale) && /^(date|time|year)$/i.test(label)) return;\n if (!isOrdinalScale(scale) && scale.percent) label = `${label} (%)`;\n return {inferred: true, toString: () => label};\n}\n\n// Returns the dimensions of the outer frame; this is subdivided into facets\n// with the margins of each facet collapsing into the outer margins.\nexport function outerDimensions(dimensions) {\n const {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n width,\n height,\n facet: {\n marginTop: facetMarginTop,\n marginRight: facetMarginRight,\n marginBottom: facetMarginBottom,\n marginLeft: facetMarginLeft\n }\n } = dimensions;\n return {\n marginTop: Math.max(marginTop, facetMarginTop),\n marginRight: Math.max(marginRight, facetMarginRight),\n marginBottom: Math.max(marginBottom, facetMarginBottom),\n marginLeft: Math.max(marginLeft, facetMarginLeft),\n width,\n height\n };\n}\n\n// Returns the dimensions of each facet.\nexport function innerDimensions({fx, fy}, dimensions) {\n const {marginTop, marginRight, marginBottom, marginLeft, width, height} = outerDimensions(dimensions);\n return {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n width: fx ? fx.scale.bandwidth() + marginLeft + marginRight : width,\n height: fy ? fy.scale.bandwidth() + marginTop + marginBottom : height\n };\n}\n\nfunction autoScaleRangeX(scale, dimensions) {\n if (scale.range === undefined) {\n const {insetLeft, insetRight} = scale;\n const {width, marginLeft = 0, marginRight = 0} = dimensions;\n const left = marginLeft + insetLeft;\n const right = width - marginRight - insetRight;\n scale.range = [left, Math.max(left, right)];\n if (!isOrdinalScale(scale)) scale.range = piecewiseRange(scale);\n scale.scale.range(scale.range);\n }\n autoScaleRound(scale);\n}\n\nfunction autoScaleRangeY(scale, dimensions) {\n if (scale.range === undefined) {\n const {insetTop, insetBottom} = scale;\n const {height, marginTop = 0, marginBottom = 0} = dimensions;\n const top = marginTop + insetTop;\n const bottom = height - marginBottom - insetBottom;\n scale.range = [Math.max(top, bottom), top];\n if (!isOrdinalScale(scale)) scale.range = piecewiseRange(scale);\n else scale.range.reverse();\n scale.scale.range(scale.range);\n }\n autoScaleRound(scale);\n}\n\nfunction autoScaleRound(scale) {\n if (scale.round === undefined && isBandScale(scale) && roundError(scale) <= 30) {\n scale.scale.round(true);\n }\n}\n\n// If we were to turn on rounding for this band or point scale, how much wasted\n// space would it introduce (on both ends of the range)? This must match\n// d3.scaleBand’s rounding behavior:\n// https://github.com/d3/d3-scale/blob/83555bd759c7314420bd4240642beda5e258db9e/src/band.js#L20-L32\nfunction roundError({scale}) {\n const n = scale.domain().length;\n const [start, stop] = scale.range();\n const paddingInner = scale.paddingInner ? scale.paddingInner() : 1;\n const paddingOuter = scale.paddingOuter ? scale.paddingOuter() : scale.padding();\n const m = n - paddingInner;\n const step = Math.abs(stop - start) / Math.max(1, m + paddingOuter * 2);\n return (step - Math.floor(step)) * m;\n}\n\nfunction piecewiseRange(scale) {\n const length = scale.scale.domain().length + isThresholdScale(scale);\n if (!(length > 2)) return scale.range;\n const [start, end] = scale.range;\n return Array.from({length}, (_, i) => start + (i / (length - 1)) * (end - start));\n}\n\nexport function normalizeScale(key, scale, hint) {\n return createScale(key, hint === undefined ? undefined : [{hint}], {...scale});\n}\n\nfunction createScale(key, channels = [], options = {}) {\n const type = inferScaleType(key, channels, options);\n\n // Warn for common misuses of implicit ordinal scales. We disable this test if\n // you specify a scale interval or if you set the domain or range explicitly,\n // since setting the domain or range (typically with a cardinality of more than\n // two) is another indication that you intended for the scale to be ordinal; we\n // also disable it for facet scales since these are always band scales.\n if (\n options.type === undefined &&\n options.domain === undefined &&\n options.range === undefined &&\n options.interval == null &&\n key !== \"fx\" &&\n key !== \"fy\" &&\n isOrdinalScale({type})\n ) {\n const values = channels.map(({value}) => value).filter((value) => value !== undefined);\n if (values.some(isTemporal))\n warn(\n `Warning: some data associated with the ${key} scale are dates. Dates are typically associated with a \"utc\" or \"time\" scale rather than a \"${formatScaleType(\n type\n )}\" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can specify the interval of the ${key} scale (e.g., d3.utcDay), or you can suppress this warning by setting the type of the ${key} scale to \"${formatScaleType(\n type\n )}\".`\n );\n else if (values.some(isTemporalString))\n warn(\n `Warning: some data associated with the ${key} scale are strings that appear to be dates (e.g., YYYY-MM-DD). If these strings represent dates, you should parse them to Date objects. Dates are typically associated with a \"utc\" or \"time\" scale rather than a \"${formatScaleType(\n type\n )}\" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can suppress this warning by setting the type of the ${key} scale to \"${formatScaleType(\n type\n )}\".`\n );\n else if (values.some(isNumericString))\n warn(\n `Warning: some data associated with the ${key} scale are strings that appear to be numbers. If these strings represent numbers, you should parse or coerce them to numbers. Numbers are typically associated with a \"linear\" scale rather than a \"${formatScaleType(\n type\n )}\" scale. If you want to treat this data as ordinal, you can specify the interval of the ${key} scale (e.g., 1 for integers), or you can suppress this warning by setting the type of the ${key} scale to \"${formatScaleType(\n type\n )}\".`\n );\n }\n\n options.type = type; // Mutates input!\n\n // Once the scale type is known, coerce the associated channel values and any\n // explicitly-specified domain to the expected type.\n switch (type) {\n case \"diverging\":\n case \"diverging-sqrt\":\n case \"diverging-pow\":\n case \"diverging-log\":\n case \"diverging-symlog\":\n case \"cyclical\":\n case \"sequential\":\n case \"linear\":\n case \"sqrt\":\n case \"threshold\":\n case \"quantile\":\n case \"pow\":\n case \"log\":\n case \"symlog\":\n options = coerceType(channels, options, coerceNumbers);\n break;\n case \"identity\":\n switch (registry.get(key)) {\n case position:\n options = coerceType(channels, options, coerceNumbers);\n break;\n case symbol:\n options = coerceType(channels, options, coerceSymbols);\n break;\n }\n break;\n case \"utc\":\n case \"time\":\n options = coerceType(channels, options, coerceDates);\n break;\n }\n\n switch (type) {\n case \"diverging\":\n return createScaleDiverging(key, channels, options);\n case \"diverging-sqrt\":\n return createScaleDivergingSqrt(key, channels, options);\n case \"diverging-pow\":\n return createScaleDivergingPow(key, channels, options);\n case \"diverging-log\":\n return createScaleDivergingLog(key, channels, options);\n case \"diverging-symlog\":\n return createScaleDivergingSymlog(key, channels, options);\n case \"categorical\":\n case \"ordinal\":\n case ordinalImplicit:\n return createScaleOrdinal(key, channels, options);\n case \"cyclical\":\n case \"sequential\":\n case \"linear\":\n return createScaleLinear(key, channels, options);\n case \"sqrt\":\n return createScaleSqrt(key, channels, options);\n case \"threshold\":\n return createScaleThreshold(key, channels, options);\n case \"quantile\":\n return createScaleQuantile(key, channels, options);\n case \"quantize\":\n return createScaleQuantize(key, channels, options);\n case \"pow\":\n return createScalePow(key, channels, options);\n case \"log\":\n return createScaleLog(key, channels, options);\n case \"symlog\":\n return createScaleSymlog(key, channels, options);\n case \"utc\":\n return createScaleUtc(key, channels, options);\n case \"time\":\n return createScaleTime(key, channels, options);\n case \"point\":\n return createScalePoint(key, channels, options);\n case \"band\":\n return createScaleBand(key, channels, options);\n case \"identity\":\n return registry.get(key) === position ? createScaleIdentity() : {type: \"identity\"};\n case undefined:\n return;\n default:\n throw new Error(`unknown scale type: ${type}`);\n }\n}\n\nfunction formatScaleType(type) {\n return typeof type === \"symbol\" ? type.description : type;\n}\n\n// A special type symbol when the x and y scales are replaced with a projection.\nconst typeProjection = {toString: () => \"projection\"};\n\nfunction inferScaleType(key, channels, {type, domain, range, scheme, pivot, projection}) {\n // The facet scales are always band scales; this cannot be changed.\n if (key === \"fx\" || key === \"fy\") return \"band\";\n\n // If a projection is specified, the x- and y-scales are disabled; these\n // channels will be projected rather than scaled. (But still check that none\n // of the associated channels are incompatible with a projection.)\n if ((key === \"x\" || key === \"y\") && projection != null) type = typeProjection;\n\n // If a channel dictates a scale type, make sure that it is consistent with\n // the user-specified scale type (if any) and all other channels. For example,\n // barY requires x to be a band scale and disallows any other scale type.\n for (const {type: t} of channels) {\n if (t === undefined) continue;\n else if (type === undefined) type = t;\n else if (type !== t) throw new Error(`scale incompatible with channel: ${type} !== ${t}`);\n }\n\n // If the scale, a channel, or user specified a (consistent) type, return it.\n if (type === typeProjection) return;\n if (type !== undefined) return type;\n\n // If there’s no data (and no type) associated with this scale, don’t create a scale.\n if (domain === undefined && !channels.some(({value}) => value !== undefined)) return;\n\n // Some scales have default types.\n const kind = registry.get(key);\n if (kind === radius) return \"sqrt\";\n if (kind === opacity || kind === length) return \"linear\";\n if (kind === symbol) return \"ordinal\";\n\n // If the domain or range has more than two values, assume it’s ordinal. You\n // can still use a “piecewise” (or “polylinear”) scale, but you must set the\n // type explicitly.\n if ((domain || range || []).length > 2) return asOrdinalType(kind);\n\n // Otherwise, infer the scale type from the data! Prefer the domain, if\n // present, over channels. (The domain and channels should be consistently\n // typed, and the domain is more explicit and typically much smaller.) We only\n // check the first defined value for expedience and simplicity; we expect\n // that the types are consistent.\n if (domain !== undefined) {\n if (isOrdinal(domain)) return asOrdinalType(kind);\n if (isTemporal(domain)) return \"utc\";\n if (kind === color && (pivot != null || isDivergingScheme(scheme))) return \"diverging\";\n return \"linear\";\n }\n\n // If any channel is ordinal or temporal, it takes priority.\n const values = channels.map(({value}) => value).filter((value) => value !== undefined);\n if (values.some(isOrdinal)) return asOrdinalType(kind);\n if (values.some(isTemporal)) return \"utc\";\n if (kind === color && (pivot != null || isDivergingScheme(scheme))) return \"diverging\";\n return \"linear\";\n}\n\n// Positional scales default to a point scale instead of an ordinal scale.\nfunction asOrdinalType(kind) {\n switch (kind) {\n case position:\n return \"point\";\n case color:\n return ordinalImplicit;\n default:\n return \"ordinal\";\n }\n}\n\nexport function isTemporalScale({type}) {\n return type === \"time\" || type === \"utc\";\n}\n\nexport function isOrdinalScale({type}) {\n return type === \"ordinal\" || type === \"point\" || type === \"band\" || type === ordinalImplicit;\n}\n\nexport function isThresholdScale({type}) {\n return type === \"threshold\";\n}\n\nfunction isBandScale({type}) {\n return type === \"point\" || type === \"band\";\n}\n\nexport function isDivergingScale({type}) {\n return /^diverging($|-)/.test(type);\n}\n\n// Certain marks have special behavior if a scale is collapsed, i.e. if the\n// domain is degenerate and represents only a single value such as [3, 3]; for\n// example, a rect will span the full extent of the chart along a collapsed\n// dimension (whereas a dot will simply be drawn in the center).\nexport function isCollapsed(scale) {\n if (scale === undefined) return true; // treat missing scale as collapsed\n const domain = scale.domain();\n const value = scale(domain[0]);\n for (let i = 1, n = domain.length; i < n; ++i) {\n if (scale(domain[i]) - value) {\n return false;\n }\n }\n return true;\n}\n\n// Mutates channel.value!\nfunction coerceType(channels, {domain, ...options}, coerceValues) {\n for (const c of channels) {\n if (c.value !== undefined) {\n c.value = coerceValues(c.value);\n }\n }\n return {\n domain: domain === undefined ? domain : coerceValues(domain),\n ...options\n };\n}\n\nfunction coerceSymbols(values) {\n return map(values, maybeSymbol);\n}\n\nexport function scale(options = {}) {\n let scale;\n for (const key in options) {\n if (!registry.has(key)) continue; // ignore unknown properties\n if (!isScaleOptions(options[key])) continue; // e.g., ignore {color: \"red\"}\n if (scale !== undefined) throw new Error(\"ambiguous scale definition; multiple scales found\");\n scale = exposeScale(normalizeScale(key, options[key]));\n }\n if (scale === undefined) throw new Error(\"invalid scale definition; no scale found\");\n return scale;\n}\n\nexport function exposeScales(scaleDescriptors) {\n return (key) => {\n if (!registry.has((key = `${key}`))) throw new Error(`unknown scale: ${key}`);\n return key in scaleDescriptors ? exposeScale(scaleDescriptors[key]) : undefined;\n };\n}\n\n// Note: axis- and legend-related properties (such as label, ticks and\n// tickFormat) are not included here as they do not affect the scale’s behavior.\nfunction exposeScale({scale, type, domain, range, interpolate, interval, transform, percent, pivot}) {\n if (type === \"identity\") return {type: \"identity\", apply: (d) => d, invert: (d) => d};\n const unknown = scale.unknown ? scale.unknown() : undefined;\n return {\n type,\n domain: slice(domain), // defensive copy\n ...(range !== undefined && {range: slice(range)}), // defensive copy\n ...(transform !== undefined && {transform}),\n ...(percent && {percent}), // only exposed if truthy\n ...(unknown !== undefined && {unknown}),\n ...(interval !== undefined && {interval}),\n\n // quantitative\n ...(interpolate !== undefined && {interpolate}),\n ...(scale.clamp && {clamp: scale.clamp()}),\n\n // diverging (always asymmetric; we never want to apply the symmetric transform twice)\n ...(pivot !== undefined && {pivot, symmetric: false}),\n\n // log, diverging-log\n ...(scale.base && {base: scale.base()}),\n\n // pow, diverging-pow\n ...(scale.exponent && {exponent: scale.exponent()}),\n\n // symlog, diverging-symlog\n ...(scale.constant && {constant: scale.constant()}),\n\n // band, point\n ...(scale.align && {align: scale.align(), round: scale.round()}),\n ...(scale.padding &&\n (scale.paddingInner\n ? {paddingInner: scale.paddingInner(), paddingOuter: scale.paddingOuter()}\n : {padding: scale.padding()})),\n ...(scale.bandwidth && {bandwidth: scale.bandwidth(), step: scale.step()}),\n\n // utilities\n apply: (t) => scale(t),\n ...(scale.invert && {invert: (t) => scale.invert(t)})\n };\n}\n","// @ts-ignore\nimport { scale } from '@observablehq/plot';\nimport { OptionsType } from './options/Options';\nimport { SCALE_BASE_OPACITY_COLOR } from './constant';\n\nimport type { SubDomain } from './index';\n\ntype ValueType = string | number | undefined;\n\nexport function normalizedScale(scaleOptions: OptionsType['scale']): any {\n try {\n const scaleType = Object.keys(scaleOptions!)[0];\n\n return scale({\n [scaleType]: {\n ...scaleOptions![scaleType as 'color' | 'opacity'],\n clamp: true,\n },\n });\n } catch (error) {\n return null;\n }\n}\n\nfunction scaleStyle(_scale: any, scaleOptions: OptionsType['scale']) {\n const styles: { fill?: Function; 'fill-opacity'?: Function } = {};\n\n if (scaleOptions!.hasOwnProperty('opacity')) {\n styles.fill = () =>\n // eslint-disable-next-line implicit-arrow-linebreak\n scaleOptions!.opacity!.baseColor || SCALE_BASE_OPACITY_COLOR;\n styles['fill-opacity'] = (d: ValueType) => _scale?.apply(d);\n } else {\n styles.fill = (d: ValueType) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n (typeof d === 'string' && d?.startsWith('#') ? d : _scale?.apply(d));\n }\n\n return styles;\n}\n\nexport function applyScaleStyle(\n elem: any,\n _scale: any,\n scaleOptions: OptionsType['scale'],\n keyname?: string,\n) {\n Object.entries(scaleStyle(_scale, scaleOptions)).forEach(([prop, val]) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n elem.style(prop, (d: SubDomain | string) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n val(keyname ? (d as SubDomain)[keyname as keyof SubDomain] : d)));\n}\n","import isFunction from 'lodash-es/isFunction';\nimport { hcl } from 'd3-color';\nimport { normalizedScale, applyScaleStyle } from '../scale';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport type { SubDomain, Timestamp } from '../index';\n\nexport default class Populator {\n calendar: CalHeatmap;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n }\n\n populate(): void {\n const { calendar } = this;\n const { scale, subDomain } = calendar.options.options;\n const colorScale = normalizedScale(scale);\n\n calendar.calendarPainter\n .root!.selectAll('.ch-domain')\n .selectAll('svg')\n .selectAll('g')\n .data((d: Timestamp) => calendar.domainCollection.get(d) || [])\n .call((element: any) => {\n applyScaleStyle(element.select('rect'), colorScale, scale!, 'v');\n })\n .call((element: any) => {\n element\n .select('text')\n .attr('style', (d: SubDomain) => {\n const defaultColor =\n hcl(colorScale?.apply(d.v)).l > 60 ? '#000' : '#fff';\n let color = subDomain.color || (d.v ? defaultColor : null);\n\n if (isFunction(color)) {\n color = color(d.t, d.v, colorScale?.apply(d.v));\n }\n\n if (!color) {\n return null;\n }\n\n return `fill: ${color};`;\n })\n .text((d: SubDomain, i: number, nodes: any[]) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n calendar.dateHelper.format(d.t, subDomain.label, d.v, nodes[i]));\n })\n .call(() => {\n calendar.eventEmitter.emit('fill');\n });\n }\n}\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nexport default eq;\n","import eq from './eq.js';\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nexport default assocIndexOf;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nexport default listCacheDelete;\n","import listCacheClear from './_listCacheClear.js';\nimport listCacheDelete from './_listCacheDelete.js';\nimport listCacheGet from './_listCacheGet.js';\nimport listCacheHas from './_listCacheHas.js';\nimport listCacheSet from './_listCacheSet.js';\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nexport default ListCache;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nexport default listCacheClear;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nexport default listCacheGet;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nexport default listCacheHas;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nexport default listCacheSet;\n","import root from './_root.js';\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nexport default coreJsData;\n","import coreJsData from './_coreJsData.js';\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nexport default isMasked;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nexport default toSource;\n","import isFunction from './isFunction.js';\nimport isMasked from './_isMasked.js';\nimport isObject from './isObject.js';\nimport toSource from './_toSource.js';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nexport default baseIsNative;\n","import baseIsNative from './_baseIsNative.js';\nimport getValue from './_getValue.js';\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nexport default getNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nexport default getValue;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nexport default Map;\n","import getNative from './_getNative.js';\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nexport default nativeCreate;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nexport default hashGet;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nexport default hashHas;\n","import hashClear from './_hashClear.js';\nimport hashDelete from './_hashDelete.js';\nimport hashGet from './_hashGet.js';\nimport hashHas from './_hashHas.js';\nimport hashSet from './_hashSet.js';\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nexport default Hash;\n","import isKeyable from './_isKeyable.js';\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nexport default getMapData;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nexport default isKeyable;\n","import mapCacheClear from './_mapCacheClear.js';\nimport mapCacheDelete from './_mapCacheDelete.js';\nimport mapCacheGet from './_mapCacheGet.js';\nimport mapCacheHas from './_mapCacheHas.js';\nimport mapCacheSet from './_mapCacheSet.js';\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nexport default MapCache;\n","import nativeCreate from './_nativeCreate.js';\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nexport default hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default hashDelete;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nexport default hashSet;\n","import Hash from './_Hash.js';\nimport ListCache from './_ListCache.js';\nimport Map from './_Map.js';\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nexport default mapCacheClear;\n","import getMapData from './_getMapData.js';\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default mapCacheDelete;\n","import getMapData from './_getMapData.js';\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nexport default mapCacheGet;\n","import getMapData from './_getMapData.js';\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nexport default mapCacheHas;\n","import getMapData from './_getMapData.js';\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nexport default mapCacheSet;\n","import ListCache from './_ListCache.js';\nimport stackClear from './_stackClear.js';\nimport stackDelete from './_stackDelete.js';\nimport stackGet from './_stackGet.js';\nimport stackHas from './_stackHas.js';\nimport stackSet from './_stackSet.js';\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nexport default Stack;\n","import ListCache from './_ListCache.js';\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nexport default stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nexport default stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nexport default stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nexport default stackHas;\n","import ListCache from './_ListCache.js';\nimport Map from './_Map.js';\nimport MapCache from './_MapCache.js';\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nexport default stackSet;\n","import getNative from './_getNative.js';\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nexport default defineProperty;\n","import defineProperty from './_defineProperty.js';\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nexport default baseAssignValue;\n","import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nexport default assignMergeValue;\n","import createBaseFor from './_createBaseFor.js';\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nexport default baseFor;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nexport default createBaseFor;\n","import root from './_root.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nexport default cloneBuffer;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nexport default Uint8Array;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nexport default cloneTypedArray;\n","import Uint8Array from './_Uint8Array.js';\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nexport default cloneArrayBuffer;\n","import isObject from './isObject.js';\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nexport default baseCreate;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nexport default overArg;\n","import overArg from './_overArg.js';\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nexport default getPrototype;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nexport default isPrototype;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nexport default baseIsArguments;\n","import baseIsArguments from './_baseIsArguments.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nexport default isArguments;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nexport default isLength;\n","import isFunction from './isFunction.js';\nimport isLength from './isLength.js';\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nexport default isArrayLike;\n","import root from './_root.js';\nimport stubFalse from './stubFalse.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nexport default isBuffer;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nexport default stubFalse;\n","import baseGetTag from './_baseGetTag.js';\nimport getPrototype from './_getPrototype.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nexport default isPlainObject;\n","import baseGetTag from './_baseGetTag.js';\nimport isLength from './isLength.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nexport default baseIsTypedArray;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nexport default nodeUtil;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nexport default baseUnary;\n","import baseIsTypedArray from './_baseIsTypedArray.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nexport default isTypedArray;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nexport default safeGet;\n","import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nexport default assignValue;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nexport default isIndex;\n","import baseTimes from './_baseTimes.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isIndex from './_isIndex.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default arrayLikeKeys;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nexport default baseTimes;\n","import isObject from './isObject.js';\nimport isPrototype from './_isPrototype.js';\nimport nativeKeysIn from './_nativeKeysIn.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeysIn;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default nativeKeysIn;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeysIn from './_baseKeysIn.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nexport default keysIn;\n","import copyObject from './_copyObject.js';\nimport keysIn from './keysIn.js';\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nexport default toPlainObject;\n","import assignValue from './_assignValue.js';\nimport baseAssignValue from './_baseAssignValue.js';\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nexport default copyObject;\n","import assignMergeValue from './_assignMergeValue.js';\nimport cloneBuffer from './_cloneBuffer.js';\nimport cloneTypedArray from './_cloneTypedArray.js';\nimport copyArray from './_copyArray.js';\nimport initCloneObject from './_initCloneObject.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isArrayLikeObject from './isArrayLikeObject.js';\nimport isBuffer from './isBuffer.js';\nimport isFunction from './isFunction.js';\nimport isObject from './isObject.js';\nimport isPlainObject from './isPlainObject.js';\nimport isTypedArray from './isTypedArray.js';\nimport safeGet from './_safeGet.js';\nimport toPlainObject from './toPlainObject.js';\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nexport default baseMergeDeep;\n","import isArrayLike from './isArrayLike.js';\nimport isObjectLike from './isObjectLike.js';\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nexport default isArrayLikeObject;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nexport default copyArray;\n","import baseCreate from './_baseCreate.js';\nimport getPrototype from './_getPrototype.js';\nimport isPrototype from './_isPrototype.js';\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nexport default initCloneObject;\n","import Stack from './_Stack.js';\nimport assignMergeValue from './_assignMergeValue.js';\nimport baseFor from './_baseFor.js';\nimport baseMergeDeep from './_baseMergeDeep.js';\nimport isObject from './isObject.js';\nimport keysIn from './keysIn.js';\nimport safeGet from './_safeGet.js';\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nexport default baseMerge;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nexport default identity;\n","import apply from './_apply.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nexport default overRest;\n","import constant from './constant.js';\nimport defineProperty from './_defineProperty.js';\nimport identity from './identity.js';\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nexport default baseSetToString;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nexport default constant;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nexport default shortOut;\n","import baseSetToString from './_baseSetToString.js';\nimport shortOut from './_shortOut.js';\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nexport default setToString;\n","import identity from './identity.js';\nimport overRest from './_overRest.js';\nimport setToString from './_setToString.js';\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nexport default baseRest;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nexport default apply;\n","import baseMerge from './_baseMerge.js';\nimport createAssigner from './_createAssigner.js';\n\n/**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * if (_.isArray(objValue)) {\n * return objValue.concat(srcValue);\n * }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\nvar mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n baseMerge(object, source, srcIndex, customizer);\n});\n\nexport default mergeWith;\n","import baseRest from './_baseRest.js';\nimport isIterateeCall from './_isIterateeCall.js';\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nexport default createAssigner;\n","import eq from './eq.js';\nimport isArrayLike from './isArrayLike.js';\nimport isIndex from './_isIndex.js';\nimport isObject from './isObject.js';\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nexport default isIterateeCall;\n","import MapCache from './_MapCache.js';\nimport setCacheAdd from './_setCacheAdd.js';\nimport setCacheHas from './_setCacheHas.js';\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nexport default SetCache;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nexport default arraySome;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nexport default setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nexport default setCacheHas;\n","import SetCache from './_SetCache.js';\nimport arraySome from './_arraySome.js';\nimport cacheHas from './_cacheHas.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nexport default equalArrays;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nexport default cacheHas;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nexport default mapToArray;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nexport default setToArray;\n","import Symbol from './_Symbol.js';\nimport Uint8Array from './_Uint8Array.js';\nimport eq from './eq.js';\nimport equalArrays from './_equalArrays.js';\nimport mapToArray from './_mapToArray.js';\nimport setToArray from './_setToArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nexport default equalByTag;\n","import arrayFilter from './_arrayFilter.js';\nimport stubArray from './stubArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nexport default getSymbols;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nexport default arrayFilter;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nexport default stubArray;\n","import overArg from './_overArg.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nexport default nativeKeys;\n","import isPrototype from './_isPrototype.js';\nimport nativeKeys from './_nativeKeys.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeys;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeys from './_baseKeys.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nexport default keys;\n","import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbols from './_getSymbols.js';\nimport keys from './keys.js';\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nexport default getAllKeys;\n","import arrayPush from './_arrayPush.js';\nimport isArray from './isArray.js';\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nexport default baseGetAllKeys;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nexport default arrayPush;\n","import getAllKeys from './_getAllKeys.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nexport default equalObjects;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nexport default DataView;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nexport default Promise;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nexport default Set;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nexport default WeakMap;\n","import DataView from './_DataView.js';\nimport Map from './_Map.js';\nimport Promise from './_Promise.js';\nimport Set from './_Set.js';\nimport WeakMap from './_WeakMap.js';\nimport baseGetTag from './_baseGetTag.js';\nimport toSource from './_toSource.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nexport default getTag;\n","import Stack from './_Stack.js';\nimport equalArrays from './_equalArrays.js';\nimport equalByTag from './_equalByTag.js';\nimport equalObjects from './_equalObjects.js';\nimport getTag from './_getTag.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nexport default baseIsEqualDeep;\n","import baseIsEqualDeep from './_baseIsEqualDeep.js';\nimport isObjectLike from './isObjectLike.js';\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nexport default baseIsEqual;\n","import baseIsEqual from './_baseIsEqual.js';\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nexport default isEqual;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n}\n\nexport default baseHas;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","import isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nexport default isKey;\n","import MapCache from './_MapCache.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nexport default memoize;\n","import memoizeCapped from './_memoizeCapped.js';\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nexport default stringToPath;\n","import memoize from './memoize.js';\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nexport default memoizeCapped;\n","import Symbol from './_Symbol.js';\nimport arrayMap from './_arrayMap.js';\nimport isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default baseToString;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nexport default arrayMap;\n","import isArray from './isArray.js';\nimport isKey from './_isKey.js';\nimport stringToPath from './_stringToPath.js';\nimport toString from './toString.js';\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nexport default castPath;\n","import baseToString from './_baseToString.js';\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nexport default toString;\n","import isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default toKey;\n","import baseHas from './_baseHas.js';\nimport hasPath from './_hasPath.js';\n\n/**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\nfunction has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n}\n\nexport default has;\n","import castPath from './_castPath.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isIndex from './_isIndex.js';\nimport isLength from './isLength.js';\nimport toKey from './_toKey.js';\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nexport default hasPath;\n","import baseGet from './_baseGet.js';\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nexport default get;\n","import castPath from './_castPath.js';\nimport toKey from './_toKey.js';\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nexport default baseGet;\n","import baseSet from './_baseSet.js';\n\n/**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\nfunction set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n}\n\nexport default set;\n","import assignValue from './_assignValue.js';\nimport castPath from './_castPath.js';\nimport isIndex from './_isIndex.js';\nimport isObject from './isObject.js';\nimport toKey from './_toKey.js';\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n}\n\nexport default baseSet;\n","import castArray from 'lodash-es/castArray';\nimport isFunction from 'lodash-es/isFunction';\nimport isString from 'lodash-es/isString';\nimport type { SubDomainOptions } from './Options';\n\nexport default {\n range: (value: number): number => Math.max(+value, 1),\n 'date.highlight': (args: Date[] | Date): Date[] => castArray(args),\n 'subDomain.label': (\n value: SubDomainOptions['label'],\n ): string | Function | null =>\n // eslint-disable-next-line\n ((isString(value) && value !== '') || isFunction(value) ? value : null),\n};\n","'use strict';\n/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */\n/* eslint-disable regexp/no-useless-quantifier -- testing */\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar regexpFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar shared = require('../internals/shared');\nvar create = require('../internals/object-create');\nvar getInternalState = require('../internals/internal-state').get;\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\nvar nativeExec = RegExp.prototype.exec;\nvar patchedExec = nativeExec;\nvar charAt = uncurryThis(''.charAt);\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n call(nativeExec, re1, 'a');\n call(nativeExec, re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;\n\nif (PATCH) {\n patchedExec = function exec(string) {\n var re = this;\n var state = getInternalState(re);\n var str = toString(string);\n var raw = state.raw;\n var result, reCopy, lastIndex, match, i, object, group;\n\n if (raw) {\n raw.lastIndex = re.lastIndex;\n result = call(patchedExec, raw, str);\n re.lastIndex = raw.lastIndex;\n return result;\n }\n\n var groups = state.groups;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = call(regexpFlags, re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = replace(flags, 'y', '');\n if (indexOf(flags, 'g') === -1) {\n flags += 'g';\n }\n\n strCopy = stringSlice(str, re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = call(nativeExec, sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = stringSlice(match.input, charsAdded);\n match[0] = stringSlice(match[0], charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn't work for /(.?)?/\n call(nativeReplace, match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n if (match && groups) {\n match.groups = object = create(null);\n for (i = 0; i < groups.length; i++) {\n group = groups[i];\n object[group[0]] = match[group[1]];\n }\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","import baseGetTag from './_baseGetTag.js';\nimport isArray from './isArray.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nexport default isString;\n","import mergeWith from 'lodash-es/mergeWith';\nimport isEqual from 'lodash-es/isEqual';\nimport has from 'lodash-es/has';\nimport get from 'lodash-es/get';\nimport set from 'lodash-es/set';\nimport type { Ls } from 'dayjs';\nimport type { DomainType, Timestamp } from '../index';\nimport {\n OPTIONS_DEFAULT_DOMAIN_TYPE,\n OPTIONS_DEFAULT_SUBDOMAIN_TYPE,\n OPTIONS_DEFAULT_SUBDOMAIN_WIDTH,\n OPTIONS_DEFAULT_SUBDOMAIN_HEIGHT,\n OPTIONS_DEFAULT_SUBDOMAIN_GUTTER,\n OPTIONS_DEFAULT_SUBDOMAIN_RADIUS,\n OPTIONS_DEFAULT_THEME,\n OPTIONS_DEFAULT_ANIMATION_DURATION,\n OPTIONS_DEFAULT_ITEM_SELECTOR,\n OPTIONS_DEFAULT_RANGE,\n SCALE_BASE_COLOR_SCHEME,\n SCALE_BASE_COLOR_TYPE,\n SCALE_BASE_COLOR_DOMAIN,\n OPTIONS_DEFAULT_LOCALE,\n} from '../constant';\n\nimport OptionsPreProcessors from './OptionsPreProcessors';\n\ntype SortOrder = 'asc' | 'desc';\nexport type TextAlign = 'start' | 'middle' | 'end';\nexport type Padding = [number, number, number, number];\n\nexport type DomainOptions = {\n type: DomainType;\n gutter: number;\n padding: Padding;\n dynamicDimension: boolean;\n label: LabelOptions;\n sort: SortOrder;\n};\n\ntype LabelOptions = {\n text?:\n | string\n | null\n | ((timestamp: Timestamp, element: SVGElement) => string);\n position: 'top' | 'right' | 'bottom' | 'left';\n textAlign: TextAlign;\n offset: {\n x: number;\n y: number;\n };\n rotate: null | 'left' | 'right';\n width: number;\n height: number;\n};\n\nexport type SubDomainOptions = {\n type: string;\n width: number;\n height: number;\n gutter: number;\n radius: number;\n label:\n | string\n | null\n | ((timestamp: Timestamp, value: number, element: SVGElement) => string);\n color?:\n | string\n | ((\n timestamp: Timestamp,\n value: number | string | null | undefined,\n backgroundColor: string,\n ) => string);\n sort: SortOrder;\n};\n\nexport type DataGroupType = 'sum' | 'count' | 'min' | 'max' | 'average';\n\ntype DateOptions = {\n start: Date;\n min?: Date;\n max?: Date;\n highlight: Date[];\n locale: string | Partial<(typeof Ls)[0]>;\n timezone?: string;\n};\n\nexport type DataRecord = Record;\nexport type DataOptions = {\n source: string | DataRecord[];\n type: 'json' | 'csv' | 'tsv' | 'txt';\n requestInit: object;\n x: string | ((datum: DataRecord) => number);\n y: string | ((datum: DataRecord) => number);\n groupY:\n | DataGroupType\n | ((values: (string | number | null)[]) => string | number | null);\n defaultValue: null | number | string;\n};\n\ntype ScaleOptions = {\n opacity?: {\n domain: number[];\n type?: string;\n baseColor: string;\n };\n color?: {\n domain: number[];\n scheme?: string;\n range?: string[];\n interpolate?: any;\n type?: string;\n };\n};\n\nexport type OptionsType = {\n itemSelector: string;\n range: number;\n domain: DomainOptions;\n subDomain: SubDomainOptions;\n date: DateOptions;\n data: DataOptions;\n scale?: ScaleOptions;\n animationDuration: number;\n verticalOrientation: boolean;\n theme: 'light' | 'dark';\n};\n\ntype InternalOptionsType = {\n x: {\n domainHorizontalLabelWidth: number;\n domainVerticalLabelHeight: number;\n };\n};\n\nexport default class Options {\n options: OptionsType & InternalOptionsType;\n\n preProcessors: {\n [key: string]: (value: any) => any;\n };\n\n constructor(processors = OptionsPreProcessors) {\n this.preProcessors = processors;\n\n this.options = {\n // selector string of the container to append the graph to\n // Accept any string value accepted by document.querySelector or CSS3\n // or an Element object\n itemSelector: OPTIONS_DEFAULT_ITEM_SELECTOR,\n\n // Number of domain to display on the graph\n range: OPTIONS_DEFAULT_RANGE,\n\n domain: {\n type: OPTIONS_DEFAULT_DOMAIN_TYPE,\n\n // Space between each domain, in pixel\n gutter: 4,\n\n padding: [0, 0, 0, 0],\n\n // Whether to enable dynamic domain size\n // The width/height on a domain depends on the number of\n // subDomains items count\n dynamicDimension: true,\n\n // Whether to show most recent date first\n sort: 'asc',\n\n label: {\n // Formatting of the domain label\n // @default: undefined, will use the formatting\n // according to domain type\n // Accept any string accepted by dayjs.format()\n // or a function\n //\n // Refer to https://day.js.org/docs/en/display/format\n // for list of accepted string tokens used by dayjs.format()\n text: undefined,\n\n // valid: top, right, bottom, left\n position: 'bottom',\n\n // Valid are the direct svg values: start, middle, end\n textAlign: 'middle',\n\n // By default, there is no margin/padding around the label\n offset: {\n x: 0,\n y: 0,\n },\n\n rotate: null,\n\n // Used only on vertical orientation\n width: 100,\n\n // Used only on horizontal orientation\n height: 25,\n },\n },\n\n subDomain: {\n type: OPTIONS_DEFAULT_SUBDOMAIN_TYPE,\n\n // Width of each subDomain cell, in pixel\n width: OPTIONS_DEFAULT_SUBDOMAIN_WIDTH,\n\n // Height of each subDomain cell, in pixel\n height: OPTIONS_DEFAULT_SUBDOMAIN_HEIGHT,\n\n // Space between each subDomain cell, in pixel\n gutter: OPTIONS_DEFAULT_SUBDOMAIN_GUTTER,\n\n // Radius of each subDomain cell, in pixel\n radius: OPTIONS_DEFAULT_SUBDOMAIN_RADIUS,\n\n // Formatting of the text inside each subDomain cell\n // @default: null, no text\n // Accept any string accepted by dayjs.format()\n // or a function\n //\n // Refer to https://day.js.org/docs/en/display/format\n // for list of accepted string tokens used by dayjs.format()\n label: null,\n\n color: undefined,\n\n sort: 'asc',\n },\n\n date: {\n // Start date of the graph\n // @default now\n start: new Date(),\n\n min: undefined,\n\n max: undefined,\n\n // List of dates to highlight\n // Valid values:\n // - []: don't highlight anything\n // - an array of Date objects: highlight the specified dates\n highlight: [],\n\n locale: OPTIONS_DEFAULT_LOCALE,\n\n timezone: undefined,\n },\n\n // Calendar orientation\n // false: display domains side by side\n // true : display domains one under the other\n verticalOrientation: false,\n\n data: {\n // Data source\n // URL, where to fetch the original datas\n source: '',\n\n // Data type\n // Default: json\n type: 'json',\n\n requestInit: {},\n\n // keyname of the time property\n x: '',\n\n // keyname of the value property\n y: '',\n\n // Grouping function of the values\n groupY: 'sum',\n\n defaultValue: null,\n },\n\n scale: undefined,\n\n // Animation duration, in ms\n animationDuration: OPTIONS_DEFAULT_ANIMATION_DURATION,\n\n // Theme mode: dark/light\n theme: OPTIONS_DEFAULT_THEME,\n\n // Internally used options, do not edit not set\n x: {\n domainHorizontalLabelWidth: 0,\n domainVerticalLabelHeight: 0,\n },\n };\n }\n\n /**\n * Set a new value for an option, only if unchanged\n * @param {string} key Name of the option\n * @param {any} value Value of the option\n * @return {boolean} Whether the option have been changed\n */\n set(key: string, value: any): boolean {\n if (!has(this.options, key) || isEqual(get(this.options, key), value)) {\n return false;\n }\n\n set(\n this.options,\n key,\n has(this.preProcessors, key) ?\n get(this.preProcessors, key)(value) :\n value,\n );\n\n return true;\n }\n\n init(opts?: CalHeatmap.DeepPartial): void {\n this.options = {\n // eslint-disable-next-line arrow-body-style\n ...mergeWith(this.options, opts, (_, srcValue) => {\n return Array.isArray(srcValue) ? srcValue : undefined;\n }),\n };\n\n const { options } = this;\n\n Object.keys(this.preProcessors).forEach((key) => {\n set(options, key, get(this.preProcessors, key)(get(options, key)));\n });\n\n if (typeof options.scale === 'undefined') {\n this.initScale();\n }\n\n options.x.domainVerticalLabelHeight = options.domain.label.height;\n\n // When the label is affecting the height\n if (\n options.domain.label.position === 'top' ||\n options.domain.label.position === 'bottom'\n ) {\n options.x.domainHorizontalLabelWidth = 0;\n } else {\n options.x.domainVerticalLabelHeight = 0;\n options.x.domainHorizontalLabelWidth = options.domain.label.width;\n }\n\n if (\n options.domain.label.text === null ||\n options.domain.label.text === ''\n ) {\n options.x.domainVerticalLabelHeight = 0;\n options.x.domainHorizontalLabelWidth = 0;\n }\n }\n\n initScale() {\n this.options.scale = {\n color: {\n scheme: SCALE_BASE_COLOR_SCHEME,\n type: SCALE_BASE_COLOR_TYPE,\n domain: SCALE_BASE_COLOR_DOMAIN,\n },\n };\n }\n}\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.hasIndices) result += 'd';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.unicodeSets) result += 'v';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nvar UNSUPPORTED_Y = fails(function () {\n var re = $RegExp('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') !== null;\n});\n\n// UC Browser bug\n// https://github.com/zloirock/core-js/issues/1008\nvar MISSED_STICKY = UNSUPPORTED_Y || fails(function () {\n return !$RegExp('a', 'y').sticky;\n});\n\nvar BROKEN_CARET = UNSUPPORTED_Y || fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = $RegExp('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') !== null;\n});\n\nmodule.exports = {\n BROKEN_CARET: BROKEN_CARET,\n MISSED_STICKY: MISSED_STICKY,\n UNSUPPORTED_Y: UNSUPPORTED_Y\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('.', 's');\n return !(re.dotAll && re.test('\\n') && re.flags === 's');\n});\n","'use strict';\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?b)', 'g') -> /(?b)/g and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('(?b)', 'g');\n return re.exec('b').groups.a !== 'b' ||\n 'b'.replace(re, '$c') !== 'bc';\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (KEY, exec, FORCED, SHAM) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) !== 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () {\n execCalled = true;\n return null;\n };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n FORCED\n ) {\n var uncurriedNativeRegExpMethod = uncurryThis(/./[SYMBOL]);\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n var uncurriedNativeMethod = uncurryThis(nativeMethod);\n var $exec = regexp.exec;\n if ($exec === regexpExec || $exec === RegExpPrototype.exec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: uncurriedNativeRegExpMethod(regexp, str, arg2) };\n }\n return { done: true, value: uncurriedNativeMethod(str, regexp, arg2) };\n }\n return { done: false };\n });\n\n defineBuiltIn(String.prototype, KEY, methods[0]);\n defineBuiltIn(RegExpPrototype, SYMBOL, methods[1]);\n }\n\n if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n// eslint-disable-next-line redos/no-vulnerable -- safe\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace(replacement, symbols, function (match, ch) {\n var capture;\n switch (charAt(ch, 0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return stringSlice(str, 0, position);\n case \"'\": return stringSlice(str, tailPos);\n case '<':\n capture = namedCaptures[stringSlice(ch, 1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar regexpExec = require('../internals/regexp-exec');\n\nvar $TypeError = TypeError;\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (isCallable(exec)) {\n var result = call(exec, R, S);\n if (result !== null) anObject(result);\n return result;\n }\n if (classof(R) === 'RegExp') return call(regexpExec, R, S);\n throw new $TypeError('RegExp#exec called on incompatible receiver');\n};\n","'use strict';\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getMethod = require('../internals/get-method');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar max = Math.max;\nvar min = Math.min;\nvar concat = uncurryThis([].concat);\nvar push = uncurryThis([].push);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive\n return ''.replace(re, '$') !== '7';\n});\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = isNullOrUndefined(searchValue) ? undefined : getMethod(searchValue, REPLACE);\n return replacer\n ? call(replacer, searchValue, O, replaceValue)\n : call(nativeReplace, toString(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (string, replaceValue) {\n var rx = anObject(this);\n var S = toString(string);\n\n if (\n typeof replaceValue == 'string' &&\n stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 &&\n stringIndexOf(replaceValue, '$<') === -1\n ) {\n var res = maybeCallNative(nativeReplace, rx, S, replaceValue);\n if (res.done) return res.value;\n }\n\n var functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n\n var global = rx.global;\n var fullUnicode;\n if (global) {\n fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n\n var results = [];\n var result;\n while (true) {\n result = regExpExec(rx, S);\n if (result === null) break;\n\n push(results, result);\n if (!global) break;\n\n var matchStr = toString(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = toString(result[0]);\n var position = max(min(toIntegerOrInfinity(result.index), S.length), 0);\n var captures = [];\n var replacement;\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) push(captures, maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = concat([matched], captures, position, S);\n if (namedCaptures !== undefined) push(replacerArgs, namedCaptures);\n replacement = toString(apply(replaceValue, undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n\n return accumulatedResult + stringSlice(S, nextSourcePosition);\n }\n ];\n}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);\n","import {\n json, csv, dsv, text,\n} from 'd3-fetch';\n\nimport type { DataOptions, DataRecord } from './options/Options';\nimport type { Timestamp } from './index';\nimport type CalHeatmap from './CalHeatmap';\n\nexport default class DataFetcher {\n calendar: CalHeatmap;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n }\n\n /**\n * Fetch and interpret data from the datasource\n *\n * @param {string|object} source\n * @param {number} startTimestamp\n * @param {number} endTimestamp\n *\n * @return {Promize} A promise, that will return the final data when resolved\n */\n async getDatas(\n source: DataOptions['source'],\n startTimestamp: Timestamp,\n endTimestamp: Timestamp,\n ): Promise {\n if (typeof source === 'string' && source.length > 0) {\n return this.#fetch(source, startTimestamp, endTimestamp);\n }\n\n let d: DataRecord[] = [];\n if (Array.isArray(source)) {\n d = source;\n }\n\n return new Promise((resolve) => {\n resolve(d);\n });\n }\n\n parseURI(\n str: string,\n startTimestamp: Timestamp,\n endTimestamp: Timestamp,\n ): string {\n let newUri = str.replace(/\\{\\{start=(.*?)\\}\\}/g, (_, format) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n this.calendar.dateHelper.date(startTimestamp).format(format));\n newUri = newUri.replace(/\\{\\{end=(.*?)\\}\\}/g, (_, format) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n this.calendar.dateHelper.date(endTimestamp).format(format));\n\n return newUri;\n }\n\n #fetch(\n source: DataOptions['source'],\n startTimestamp: Timestamp,\n endTimestamp: Timestamp,\n ): Promise {\n const { type, requestInit } = this.calendar.options.options.data;\n\n const url = this.parseURI(source as string, startTimestamp, endTimestamp);\n\n switch (type) {\n case 'json':\n return json(url, requestInit);\n case 'csv':\n return csv(url, requestInit);\n case 'tsv':\n return dsv('\\t', url, requestInit);\n case 'txt':\n return text(url, requestInit);\n default:\n return new Promise((resolve) => {\n resolve([]);\n });\n }\n }\n}\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FUNCTION_NAME_EXISTS = require('../internals/function-name').EXISTS;\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\n\nvar FunctionPrototype = Function.prototype;\nvar functionToString = uncurryThis(FunctionPrototype.toString);\nvar nameRE = /function\\b(?:\\s|\\/\\*[\\S\\s]*?\\*\\/|\\/\\/[^\\n\\r]*[\\n\\r]+)*([^\\s(/]*)/;\nvar regExpExec = uncurryThis(nameRE.exec);\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !FUNCTION_NAME_EXISTS) {\n defineBuiltInAccessor(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return regExpExec(nameRE, functionToString(this))[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)25){var f=r(this).startOf(t).add(1,t).date(n),s=r(this).endOf(e);if(f.isBefore(s))return 1}var a=r(this).startOf(t).date(n).startOf(e).subtract(1,\"millisecond\"),o=this.diff(a,e,!0);return o<0?r(this).startOf(\"week\").week():Math.ceil(o)},f.weeks=function(e){return void 0===e&&(e=null),this.week(e)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_dayOfYear=t()}(this,(function(){\"use strict\";return function(e,t,n){t.prototype.dayOfYear=function(e){var t=Math.round((n(this).startOf(\"day\")-n(this).startOf(\"year\"))/864e5)+1;return null==e?t:this.add(e-t,\"day\")}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekday=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.weekday=function(e){var t=this.$locale().weekStart||0,i=this.$W,n=(i0&&(n=n[0]);t=(n=n.filter((function(e){return e})))[0];for(var i=1;i4&&(o+=7),n.add(o,e));return r.diff(u,\"week\")+1},d.isoWeekday=function(e){return this.$utils().u(e)?this.day()||7:this.day(this.day()%7?e:e-7)};var n=d.startOf;d.startOf=function(e,t){var i=this.$utils(),s=!!i.u(t)||t;return\"isoweek\"===i.p(e)?s?this.date(this.date()-(this.isoWeekday()-1)).startOf(\"day\"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf(\"day\"):n.bind(this)(e,t)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isLeapYear=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.isLeapYear=function(){return this.$y%4==0&&this.$y%100!=0||this.$y%400==0}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_advancedFormat=t()}(this,(function(){\"use strict\";return function(e,t){var r=t.prototype,n=r.format;r.format=function(e){var t=this,r=this.$locale();if(!this.isValid())return n.bind(this)(e);var s=this.$utils(),a=(e||\"YYYY-MM-DDTHH:mm:ssZ\").replace(/\\[([^\\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(e){switch(e){case\"Q\":return Math.ceil((t.$M+1)/3);case\"Do\":return r.ordinal(t.$D);case\"gggg\":return t.weekYear();case\"GGGG\":return t.isoWeekYear();case\"wo\":return r.ordinal(t.week(),\"W\");case\"w\":case\"ww\":return s.s(t.week(),\"w\"===e?1:2,\"0\");case\"W\":case\"WW\":return s.s(t.isoWeek(),\"W\"===e?1:2,\"0\");case\"k\":case\"kk\":return s.s(String(0===t.$H?24:t.$H),\"k\"===e?1:2,\"0\");case\"X\":return Math.floor(t.$d.getTime()/1e3);case\"x\":return t.$d.getTime();case\"z\":return\"[\"+t.offsetName()+\"]\";case\"zzz\":return\"[\"+t.offsetName(\"long\")+\"]\";default:return e}}));return n.bind(this)(a)}}}));","!function(t,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_utc=i()}(this,(function(){\"use strict\";var t=\"minute\",i=/[+-]\\d\\d(?::?\\d\\d)?/g,e=/([+-]|\\d\\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t)};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else r.call(this)};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if(\"string\"==typeof s&&(s=function(t){void 0===t&&(t=\"\");var s=t.match(i);if(!s)return null;var f=(\"\"+s[0]).match(e)||[\"-\",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:\"+\"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?\"YYYY-MM-DDTHH:mm:ss[Z]\":\"\");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return\"s\"===t&&this.$offset?n(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)}}}));","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_timezone=e()}(this,(function(){\"use strict\";var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(n,i,o){var r,a=function(t,n,i){void 0===i&&(i={});var o=new Date(t),r=function(t,n){void 0===n&&(n={});var i=n.timeZoneName||\"short\",o=t+\"|\"+i,r=e[o];return r||(r=new Intl.DateTimeFormat(\"en-US\",{hour12:!1,timeZone:t,year:\"numeric\",month:\"2-digit\",day:\"2-digit\",hour:\"2-digit\",minute:\"2-digit\",second:\"2-digit\",timeZoneName:i}),e[o]=r),r}(n,i);return r.formatToParts(o)},u=function(e,n){for(var i=a(e,n),r=[],u=0;u=0&&(r[c]=parseInt(m,10))}var d=r[3],l=24===d?0:d,h=r[0]+\"-\"+r[1]+\"-\"+r[2]+\" \"+l+\":\"+r[4]+\":\"+r[5]+\":000\",v=+e;return(o.utc(h).valueOf()-(v-=v%1e3))/6e4},f=i.prototype;f.tz=function(t,e){void 0===t&&(t=r);var n=this.utcOffset(),i=this.toDate(),a=i.toLocaleString(\"en-US\",{timeZone:t}),u=Math.round((i-new Date(a))/1e3/60),f=o(a,{locale:this.$L}).$set(\"millisecond\",this.$ms).utcOffset(15*-Math.round(i.getTimezoneOffset()/15)-u,!0);if(e){var s=f.utcOffset();f=f.add(n-s,\"minute\")}return f.$x.$timezone=t,f},f.offsetName=function(t){var e=this.$x.$timezone||o.tz.guess(),n=a(this.valueOf(),e,{timeZoneName:t}).find((function(t){return\"timezonename\"===t.type.toLowerCase()}));return n&&n.value};var s=f.startOf;f.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return s.call(this,t,e);var n=o(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\"),{locale:this.$L});return s.call(n,t,e).tz(this.$x.$timezone,!0)},o.tz=function(t,e,n){var i=n&&e,a=n||e||r,f=u(+o(),a);if(\"string\"!=typeof t)return o(t).tz(a);var s=function(t,e,n){var i=t-60*e*1e3,o=u(i,n);if(e===o)return[i,e];var r=u(i-=60*(o-e)*1e3,n);return o===r?[i,o]:[t-60*Math.min(o,r)*1e3,Math.max(o,r)]}(o.utc(t,i).valueOf(),f,a),m=s[0],c=s[1],d=o(m).utcOffset(c);return d.$x.$timezone=a,d},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(t){r=t}}}));","!function(n,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(n=\"undefined\"!=typeof globalThis?globalThis:n||self).dayjs_plugin_localeData=e()}(this,(function(){\"use strict\";return function(n,e,t){var r=e.prototype,o=function(n){return n&&(n.indexOf?n:n.s)},u=function(n,e,t,r,u){var i=n.name?n:n.$locale(),a=o(i[e]),s=o(i[t]),f=a||s.map((function(n){return n.slice(0,r)}));if(!u)return f;var d=i.weekStart;return f.map((function(n,e){return f[(e+(d||0))%7]}))},i=function(){return t.Ls[t.locale()]},a=function(n,e){return n.formats[e]||function(n){return n.replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(n,e,t){return e||t.slice(1)}))}(n.formats[e.toUpperCase()])},s=function(){var n=this;return{months:function(e){return e?e.format(\"MMMM\"):u(n,\"months\")},monthsShort:function(e){return e?e.format(\"MMM\"):u(n,\"monthsShort\",\"months\",3)},firstDayOfWeek:function(){return n.$locale().weekStart||0},weekdays:function(e){return e?e.format(\"dddd\"):u(n,\"weekdays\")},weekdaysMin:function(e){return e?e.format(\"dd\"):u(n,\"weekdaysMin\",\"weekdays\",2)},weekdaysShort:function(e){return e?e.format(\"ddd\"):u(n,\"weekdaysShort\",\"weekdays\",3)},longDateFormat:function(e){return a(n.$locale(),e)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};r.localeData=function(){return s.bind(this)()},t.localeData=function(){var n=i();return{firstDayOfWeek:function(){return n.weekStart||0},weekdays:function(){return t.weekdays()},weekdaysShort:function(){return t.weekdaysShort()},weekdaysMin:function(){return t.weekdaysMin()},months:function(){return t.months()},monthsShort:function(){return t.monthsShort()},longDateFormat:function(e){return a(n,e)},meridiem:n.meridiem,ordinal:n.ordinal}},t.months=function(){return u(i(),\"months\")},t.monthsShort=function(){return u(i(),\"monthsShort\",\"months\",3)},t.weekdays=function(n){return u(i(),\"weekdays\",null,null,n)},t.weekdaysShort=function(n){return u(i(),\"weekdaysShort\",\"weekdays\",3,n)},t.weekdaysMin=function(n){return u(i(),\"weekdaysMin\",\"weekdays\",2,n)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_localizedFormat=t()}(this,(function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"};return function(t,o,n){var r=o.prototype,i=r.format;n.en.formats=e,r.format=function(t){void 0===t&&(t=\"YYYY-MM-DDTHH:mm:ssZ\");var o=this.$locale().formats,n=function(t,o){return t.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var i=r&&r.toUpperCase();return n||o[r]||e[r]||o[i].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,o){return t||o.slice(1)}))}))}(t,void 0===o?{}:o);return i.call(this,n)}}}));","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_updateLocale=n()}(this,(function(){\"use strict\";return function(e,n,t){t.updateLocale=function(e,n){var o=t.Ls[e];if(o)return(n?Object.keys(n):[]).forEach((function(e){o[e]=n[e]})),o}}}));","import dayjs from 'dayjs';\nimport weekOfYear from 'dayjs/plugin/weekOfYear';\nimport dayOfYear from 'dayjs/plugin/dayOfYear';\nimport weekday from 'dayjs/plugin/weekday';\nimport minMax from 'dayjs/plugin/minMax';\nimport isoWeeksInYear from 'dayjs/plugin/isoWeeksInYear';\nimport isoWeek from 'dayjs/plugin/isoWeek';\nimport isLeapYear from 'dayjs/plugin/isLeapYear';\nimport advancedFormat from 'dayjs/plugin/advancedFormat';\nimport utc from 'dayjs/plugin/utc';\nimport timezone from 'dayjs/plugin/timezone';\nimport localeData from 'dayjs/plugin/localeData';\nimport localizedFormat from 'dayjs/plugin/localizedFormat';\nimport updateLocale from 'dayjs/plugin/updateLocale';\n\nimport type { ManipulateType, PluginFunc, Ls } from 'dayjs';\nimport type { OptionsType } from '../options/Options';\nimport type { Timestamp, DomainType } from '../index';\n\ndayjs.extend(weekOfYear);\ndayjs.extend(isoWeeksInYear);\ndayjs.extend(isoWeek);\ndayjs.extend(isLeapYear);\ndayjs.extend(dayOfYear);\ndayjs.extend(weekday);\ndayjs.extend(minMax);\ndayjs.extend(advancedFormat);\ndayjs.extend(utc);\ndayjs.extend(timezone);\ndayjs.extend(localeData);\ndayjs.extend(localizedFormat);\ndayjs.extend(updateLocale);\n\nconst DEFAULT_LOCALE = 'en';\n\nexport default class DateHelper {\n locale: OptionsType['date']['locale'];\n\n timezone: string;\n\n constructor() {\n this.locale = DEFAULT_LOCALE;\n this.timezone = dayjs.tz.guess();\n if (typeof window === 'object') {\n (window as any).dayjs ||= dayjs;\n }\n }\n\n async setup({ options }: { options: OptionsType }) {\n this.timezone = options.date.timezone || dayjs.tz.guess();\n const userLocale = options.date.locale;\n\n if (typeof userLocale === 'string' && userLocale !== DEFAULT_LOCALE) {\n let locale;\n if (typeof window === 'object') {\n locale =\n (window as any)[`dayjs_locale_${userLocale}`] ||\n (await this.loadBrowserLocale(userLocale));\n } else {\n locale = await this.loadNodeLocale(userLocale);\n }\n dayjs.locale(userLocale);\n this.locale = locale;\n }\n\n if (typeof userLocale === 'object') {\n if (userLocale.hasOwnProperty('name')) {\n dayjs.locale(userLocale.name, userLocale);\n this.locale = userLocale;\n } else {\n this.locale = dayjs.updateLocale(DEFAULT_LOCALE, userLocale);\n }\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n extend(dayjsPlugin: PluginFunc): dayjs.Dayjs {\n return dayjs.extend(dayjsPlugin);\n }\n\n /**\n * Return the week number, relative to its month\n *\n * @param {number|Date} d Date or timestamp in milliseconds\n * @returns {number} The week number, relative to the month [0-5]\n */\n getMonthWeekNumber(d: Timestamp | dayjs.Dayjs): number {\n const dayjsDate = this.date(d);\n const date = dayjsDate.startOf('day');\n const endOfWeek = dayjsDate.startOf('month').endOf('week');\n\n if (date <= endOfWeek) {\n return 1;\n }\n return Math.ceil(date.diff(endOfWeek, 'weeks', true)) + 1;\n }\n\n /**\n * Return the number of weeks in the given month\n *\n * As there is no fixed standard to specify which month a partial week should\n * belongs to, the ISO week date standard is used, where:\n * - the first week of the month should have at least 4 days\n *\n * @see https://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Timestamp | dayjs.Dayjs} d Datejs object or timestamp\n * @return {number} The number of weeks\n */\n getWeeksCountInMonth(d: Timestamp | dayjs.Dayjs): number {\n const pivotDate = this.date(d);\n\n return (\n this.getLastWeekOfMonth(pivotDate).diff(\n this.getFirstWeekOfMonth(pivotDate),\n 'week',\n ) + 1\n );\n }\n\n /**\n * Return the start of the first week of the month\n *\n * @see getWeeksCountInMonth() about standard warning\n * @return {dayjs.Dayjs} A dayjs object representing the start of the\n * first week\n */\n getFirstWeekOfMonth(d: Timestamp | dayjs.Dayjs): dayjs.Dayjs {\n const startOfMonth = this.date(d).startOf('month');\n let startOfFirstWeek = startOfMonth.startOf('week');\n if (startOfMonth.weekday() > 4) {\n startOfFirstWeek = startOfFirstWeek.add(1, 'week');\n }\n\n return startOfFirstWeek;\n }\n\n /**\n * Return the end of the last week of the month\n *\n * @see getWeeksCountInMonth() about standard warning\n * @return {dayjs.Dayjs} A dayjs object representing the end of the last week\n */\n getLastWeekOfMonth(d: Timestamp | dayjs.Dayjs): dayjs.Dayjs {\n const endOfMonth = this.date(d).endOf('month');\n let endOfLastWeek = endOfMonth.endOf('week');\n if (endOfMonth.weekday() < 4) {\n endOfLastWeek = endOfLastWeek.subtract(1, 'week');\n }\n\n return endOfLastWeek;\n }\n\n date(d: Timestamp | Date | dayjs.Dayjs | string = new Date()): dayjs.Dayjs {\n if (dayjs.isDayjs(d)) {\n return d;\n }\n\n return dayjs(d)\n .tz(this.timezone)\n .utcOffset(0)\n .locale(this.locale as (typeof Ls)[0] | string);\n }\n\n format(\n timestamp: Timestamp,\n formatter: null | string | Function,\n ...args: any\n ): string | null {\n if (typeof formatter === 'function') {\n return formatter(timestamp, ...args);\n }\n\n if (typeof formatter === 'string') {\n return this.date(timestamp).format(formatter);\n }\n\n return null;\n }\n\n /**\n * Return an array of time interval\n *\n * @param {number|Date} date A random date included in the wanted interval\n * @param {number|Date} range Length of the wanted interval, or a stop date.\n * @param {boolean} range Whether the end date should be excluded\n * from the result\n * @returns {Array} Array of unix timestamp, in milliseconds\n */\n intervals(\n interval: DomainType,\n date: Timestamp | Date | dayjs.Dayjs,\n range: number | Date | dayjs.Dayjs,\n excludeEnd: boolean = true,\n ): Timestamp[] {\n let start = this.date(date);\n let end: dayjs.Dayjs;\n if (typeof range === 'number') {\n end = start.add(range, interval as ManipulateType);\n } else if (dayjs.isDayjs(range)) {\n end = range;\n } else {\n end = this.date(range);\n }\n\n start = start.startOf(interval as ManipulateType);\n\n end = end.startOf(interval as ManipulateType);\n let pivot = dayjs.min(start, end)!;\n end = dayjs.max(start, end)!;\n const result: Timestamp[] = [];\n\n if (!excludeEnd) {\n end = end.add(1, 'second');\n }\n\n do {\n result.push(+pivot);\n pivot = pivot.add(1, interval as ManipulateType);\n } while (pivot < end);\n\n return result;\n }\n\n // this function will work cross-browser for loading scripts asynchronously\n // eslint-disable-next-line class-methods-use-this\n loadBrowserLocale(userLocale: string): Promise {\n return new Promise((resolve, reject) => {\n const s = document.createElement('script');\n s.type = 'text/javascript';\n s.async = true;\n s.src = `https://cdn.jsdelivr.net/npm/dayjs@1/locale/${userLocale}.js`;\n s.onerror = (err) => {\n reject(err);\n };\n s.onload = () => {\n resolve((window as any)[`dayjs_locale_${userLocale}`]);\n };\n document.head.appendChild(s);\n });\n }\n\n // eslint-disable-next-line class-methods-use-this\n loadNodeLocale(userLocale: string): Promise {\n return import(`dayjs/locale/${userLocale}.js`);\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\nvar stringIndexOf = uncurryThis(''.indexOf);\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~stringIndexOf(\n toString(requireObjectCoercible(this)),\n toString(notARegExp(searchString)),\n arguments.length > 1 ? arguments[1] : undefined\n );\n }\n});\n","import type TemplateCollection from '../TemplateCollection';\nimport type { DomainOptions, SubDomainOptions, DataOptions } from './Options';\nimport type { DomainType } from '../index';\n\nconst ALLOWED_DATA_TYPES = ['json', 'csv', 'tsv', 'txt'];\n\n/**\n * Ensure that critical options are valid\n *\n * @throw {Error} on critical invalid options\n * @return {boolean} Returns true when there is not critical errors\n */\nexport default function validate(\n templateCollection: TemplateCollection,\n {\n domain,\n subDomain,\n data,\n }: {\n domain: Partial;\n subDomain: Partial;\n data: Partial;\n },\n): boolean {\n const domainType = domain.type as DomainType;\n const subDomainType = subDomain.type as string;\n\n if (!templateCollection.has(domainType)) {\n throw new Error(`'${domainType}' is not a valid domain type'`);\n }\n\n if (!templateCollection.has(subDomainType)) {\n throw new Error(`'${subDomainType}' is not a valid subDomain type'`);\n }\n\n if (data.type && !ALLOWED_DATA_TYPES.includes(data.type)) {\n throw new Error(`The data type '${data.type}' is not valid data type`);\n }\n\n if (\n !(templateCollection.get(subDomainType).allowedDomainType || []).includes(\n domainType,\n )\n ) {\n throw new Error(\n `The subDomain.type '${subDomainType}' can not be used together ` +\n `with the domain type ${domainType}`,\n );\n }\n\n return true;\n}\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.es/ecma262/#sec-set-objects\ncollection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","import isEqual from 'lodash-es/isEqual';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport {\n PluginDefinition,\n PluginOptions,\n IPluginContructor,\n IPlugin,\n} from '../index';\n\ntype PluginSetting = {\n options?: PluginOptions;\n dirty: boolean;\n};\n\nfunction createPlugin(\n Creator: IPluginContructor,\n calendar: CalHeatmap,\n): IPlugin {\n return new Creator(calendar);\n}\n\nfunction extractPluginName(\n PluginClass: IPluginContructor,\n options?: PluginOptions,\n): string {\n return `${new PluginClass().name}${options?.key || ''}`;\n}\n\nexport default class PluginManager {\n calendar: CalHeatmap;\n\n settings: Map;\n\n plugins: Map;\n\n pendingPaint: Set;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n this.settings = new Map();\n this.plugins = new Map();\n this.pendingPaint = new Set();\n }\n\n add(plugins: PluginDefinition[]): void {\n plugins.forEach(([PluginClass, pluginOptions]) => {\n const name = extractPluginName(PluginClass, pluginOptions);\n\n const existingPlugin = this.plugins.get(name);\n\n if (\n existingPlugin &&\n this.settings.get(name) &&\n isEqual(this.settings.get(name)!.options, pluginOptions)\n ) {\n return;\n }\n\n this.settings.set(name, {\n options: pluginOptions,\n dirty: true,\n });\n\n if (!this.plugins.has(name)) {\n this.plugins.set(name, createPlugin(PluginClass, this.calendar));\n }\n\n this.pendingPaint.add(this.plugins.get(name)!);\n });\n }\n\n setupAll(): void {\n this.plugins.forEach((pluginInstance, name) => {\n const settings = this.settings.get(name);\n\n if (typeof settings !== 'undefined') {\n if (settings.dirty) {\n pluginInstance.setup(settings.options);\n settings.dirty = false;\n\n this.settings.set(name, settings);\n }\n }\n });\n }\n\n paintAll(): Promise[] {\n return Array.from(this.pendingPaint.values()).map((p) => p.paint());\n }\n\n destroyAll(): Promise[] {\n return this.allPlugins().map((p) => p.destroy());\n }\n\n getFromPosition(position: PluginOptions['position']): IPlugin[] {\n return this.allPlugins().filter(\n (plugin) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n plugin.options?.position === position,\n );\n }\n\n getHeightFromPosition(position: PluginOptions['position']): number {\n return this.getFromPosition(position)\n .map((d) => d.options.dimensions!.height)\n .reduce((a, b) => a + b, 0);\n }\n\n getWidthFromPosition(position: PluginOptions['position']): number {\n return this.getFromPosition(position)\n .map((d) => d.options.dimensions!.width)\n .reduce((a, b) => a + b, 0);\n }\n\n allPlugins(): IPlugin[] {\n return Array.from(this.plugins.values());\n }\n}\n","import minuteTemplate from './minute';\nimport hourTemplate from './hour';\nimport dayTemplate from './day';\nimport xDayTemplate from './xDay';\nimport ghDayTemplate from './ghDay';\nimport weekTemplate from './week';\nimport monthTemplate from './month';\nimport yearTemplate from './year';\n\nexport default [\n minuteTemplate,\n hourTemplate,\n dayTemplate,\n xDayTemplate,\n ghDayTemplate,\n weekTemplate,\n monthTemplate,\n yearTemplate,\n];\n","import type { Template, DomainType } from '../index';\n\nconst minuteTemplate: Template = (DateHelper) => {\n const COLUMNS_COUNT = 10;\n const ROWS_COUNT = 6;\n const ALLOWED_DOMAIN_TYPE: DomainType[] = ['day', 'hour'];\n\n return {\n name: 'minute',\n allowedDomainType: ALLOWED_DOMAIN_TYPE,\n rowsCount: () => COLUMNS_COUNT,\n columnsCount: () => ROWS_COUNT,\n mapping: (startTimestamp, endTimestamp) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n DateHelper.intervals(\n 'minute',\n startTimestamp,\n DateHelper.date(endTimestamp),\n ).map((ts, index: number) => ({\n t: ts,\n x: Math.floor(index / COLUMNS_COUNT),\n y: index % COLUMNS_COUNT,\n })),\n extractUnit: (ts) => DateHelper.date(ts).startOf('minute').valueOf(),\n };\n};\n\nexport default minuteTemplate;\n","import type { DomainOptions } from '../options/Options';\nimport type { Template, DomainType } from '../index';\n\nconst hourTemplate: Template = (\n DateHelper,\n { domain }: { domain: DomainOptions },\n) => {\n const TOTAL_ITEMS = 24;\n const ROWS_COUNT = 6;\n const ALLOWED_DOMAIN_TYPE: DomainType[] = ['month', 'week', 'day'];\n\n return {\n name: 'hour',\n allowedDomainType: ALLOWED_DOMAIN_TYPE,\n rowsCount: () => ROWS_COUNT,\n columnsCount: (ts) => {\n switch (domain.type) {\n case 'week':\n return (TOTAL_ITEMS / ROWS_COUNT) * 7;\n case 'month':\n return (\n (TOTAL_ITEMS / ROWS_COUNT) *\n (domain.dynamicDimension ? DateHelper.date(ts).daysInMonth() : 31)\n );\n case 'day':\n default:\n return TOTAL_ITEMS / ROWS_COUNT;\n }\n },\n mapping: (startTimestamp, endTimestamp) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n DateHelper.intervals(\n 'hour',\n startTimestamp,\n DateHelper.date(endTimestamp),\n ).map((ts) => {\n const date = DateHelper.date(ts);\n const hour = date.hour();\n const monthDate = date.date();\n let baseX = Math.floor(hour / ROWS_COUNT);\n const columnOffset = TOTAL_ITEMS / ROWS_COUNT;\n\n if (domain.type === 'month') {\n baseX += (monthDate - 1) * columnOffset;\n }\n if (domain.type === 'week') {\n baseX += +date.format('d') * columnOffset;\n }\n\n return {\n t: ts,\n x: baseX,\n y: Math.floor(hour % ROWS_COUNT),\n };\n }),\n extractUnit: (ts) => DateHelper.date(ts).startOf('hour').valueOf(),\n };\n};\n\nexport default hourTemplate;\n","import type { OptionsType, DomainOptions } from '../options/Options';\nimport type { Template, DomainType } from '../index';\n\nconst dayTemplate: Template = (\n DateHelper,\n {\n domain,\n verticalOrientation,\n }: {\n domain: DomainOptions;\n verticalOrientation: OptionsType['verticalOrientation'];\n },\n) => {\n const ROWS_COUNT = 7;\n const ALLOWED_DOMAIN_TYPE: DomainType[] = ['year', 'month', 'week'];\n\n return {\n name: 'day',\n allowedDomainType: ALLOWED_DOMAIN_TYPE,\n rowsCount: () => (domain.type === 'week' ? 1 : ROWS_COUNT),\n columnsCount: (ts) => {\n switch (domain.type) {\n case 'month':\n return Math.ceil(\n domain.dynamicDimension && !verticalOrientation ?\n DateHelper.getMonthWeekNumber(\n DateHelper.date(ts).endOf('month'),\n ) :\n 6, // In rare case, when the first week contains less than 3 days\n );\n case 'year':\n return Math.ceil(\n domain.dynamicDimension ?\n DateHelper.date(ts).endOf('year').dayOfYear() / ROWS_COUNT :\n 54,\n );\n case 'week':\n default:\n return ROWS_COUNT;\n }\n },\n mapping: (startTimestamp, endTimestamp) => {\n let weekNumber = 0;\n let x = -1;\n\n return DateHelper.intervals(\n 'day',\n startTimestamp,\n DateHelper.date(endTimestamp),\n ).map((ts) => {\n const date = DateHelper.date(ts);\n\n switch (domain.type) {\n case 'month':\n x = DateHelper.getMonthWeekNumber(ts) - 1;\n break;\n case 'year':\n if (weekNumber !== date.week()) {\n weekNumber = date.week();\n x += 1;\n }\n break;\n case 'week':\n x = date.weekday();\n break;\n default:\n }\n\n return {\n t: ts,\n x,\n y: domain.type === 'week' ? 0 : date.weekday(),\n };\n });\n },\n extractUnit: (ts) => DateHelper.date(ts).startOf('day').valueOf(),\n };\n};\n\nexport default dayTemplate;\n","import type { OptionsType, DomainOptions } from '../options/Options';\nimport type { Template, DomainType } from '../index';\n\nconst dayTemplate: Template = (\n DateHelper,\n {\n domain,\n verticalOrientation,\n }: {\n domain: DomainOptions;\n verticalOrientation: OptionsType['verticalOrientation'];\n },\n) => {\n const COLUMNS_COUNT = 7;\n const ALLOWED_DOMAIN_TYPE: DomainType[] = ['year', 'month', 'week'];\n\n return {\n name: 'xDay',\n allowedDomainType: ALLOWED_DOMAIN_TYPE,\n rowsCount: (ts) => {\n switch (domain.type) {\n case 'month':\n return Math.ceil(\n domain.dynamicDimension && !verticalOrientation ?\n DateHelper.getMonthWeekNumber(\n DateHelper.date(ts).endOf('month'),\n ) :\n 6, // In rare case, when the first week contains less than 3 days\n );\n case 'year':\n return Math.ceil(\n domain.dynamicDimension ?\n DateHelper.date(ts).endOf('year').dayOfYear() / COLUMNS_COUNT :\n 54,\n );\n case 'week':\n default:\n return COLUMNS_COUNT;\n }\n },\n columnsCount: () => {\n if (domain.type === 'week') {\n return 1;\n }\n return COLUMNS_COUNT;\n },\n mapping: (startTimestamp, endTimestamp) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n DateHelper.intervals(\n 'day',\n startTimestamp,\n DateHelper.date(endTimestamp),\n ).map((ts) => {\n const date = DateHelper.date(ts);\n const endWeekNumber = date.endOf('year').week();\n let x = 0;\n\n switch (domain.type) {\n case 'month':\n x = DateHelper.getMonthWeekNumber(ts) - 1;\n break;\n case 'year':\n if (endWeekNumber === 1 && date.week() === endWeekNumber) {\n x = date.subtract(1, 'week').week() + 1;\n }\n\n x = date.week() - 1;\n break;\n case 'week':\n x = date.weekday();\n break;\n default:\n }\n\n return {\n t: ts,\n y: x,\n x: domain.type === 'week' ? 0 : date.weekday(),\n };\n }),\n extractUnit: (ts) => DateHelper.date(ts).startOf('day').valueOf(),\n };\n};\n\nexport default dayTemplate;\n","import type { Template, DomainType } from '../index';\n\nconst dayTemplate: Template = (DateHelper) => {\n const ROWS_COUNT = 7;\n const ALLOWED_DOMAIN_TYPE: DomainType[] = ['month'];\n\n return {\n name: 'ghDay',\n allowedDomainType: ALLOWED_DOMAIN_TYPE,\n rowsCount: () => ROWS_COUNT,\n columnsCount: (ts) => DateHelper.getWeeksCountInMonth(ts),\n mapping: (startTimestamp, endTimestamp) => {\n const clampStart = DateHelper.getFirstWeekOfMonth(startTimestamp);\n const clampEnd = DateHelper.getFirstWeekOfMonth(endTimestamp);\n\n let x = -1;\n const pivotDay = clampStart.weekday();\n\n return DateHelper.intervals('day', clampStart, clampEnd).map((ts) => {\n const weekday = DateHelper.date(ts).weekday();\n if (weekday === pivotDay) {\n x += 1;\n }\n\n return {\n t: ts,\n x,\n y: weekday,\n };\n });\n },\n extractUnit: (ts) => DateHelper.date(ts).startOf('day').valueOf(),\n };\n};\n\nexport default dayTemplate;\n","import type { DomainOptions } from '../options/Options';\nimport type { Template, DomainType } from '../index';\n\nconst weekTemplate: Template = (\n DateHelper,\n { domain }: { domain: DomainOptions },\n) => {\n const ALLOWED_DOMAIN_TYPE: DomainType[] = ['year', 'month'];\n\n return {\n name: 'week',\n allowedDomainType: ALLOWED_DOMAIN_TYPE,\n rowsCount: () => 1,\n columnsCount: (ts) => {\n switch (domain.type) {\n case 'year':\n return domain.dynamicDimension ?\n DateHelper.date(ts).endOf('year').isoWeeksInYear() :\n 53;\n case 'month':\n return domain.dynamicDimension ?\n DateHelper.getWeeksCountInMonth(ts) :\n 5;\n default:\n return 1;\n }\n },\n mapping: (startTimestamp, endTimestamp) => {\n const clampStart = DateHelper.getFirstWeekOfMonth(startTimestamp);\n const clampEnd = DateHelper.getFirstWeekOfMonth(endTimestamp);\n\n return DateHelper.intervals('week', clampStart, clampEnd).map(\n (ts, i) => ({\n t: ts,\n x: i,\n y: 0,\n }),\n );\n },\n extractUnit: (ts) => DateHelper.date(ts).startOf('week').valueOf(),\n };\n};\n\nexport default weekTemplate;\n","import type { Template, DomainType } from '../index';\n\nconst monthTemplate: Template = (DateHelper) => {\n const ALLOWED_DOMAIN_TYPE: DomainType[] = ['year'];\n\n return {\n name: 'month',\n allowedDomainType: ALLOWED_DOMAIN_TYPE,\n rowsCount: () => 1,\n columnsCount: () => 12,\n mapping: (startTimestamp, endTimestamp) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n DateHelper.intervals(\n 'month',\n startTimestamp,\n DateHelper.date(endTimestamp),\n ).map((ts) => ({\n t: ts,\n x: DateHelper.date(ts).month(),\n y: 0,\n })),\n extractUnit: (ts) => DateHelper.date(ts).startOf('month').valueOf(),\n };\n};\n\nexport default monthTemplate;\n","import type { Template, DomainType } from '../index';\n\nconst yearTemplate: Template = (DateHelper) => {\n const ALLOWED_DOMAIN_TYPE: DomainType[] = [];\n\n return {\n name: 'year',\n allowedDomainType: ALLOWED_DOMAIN_TYPE,\n rowsCount: () => 1,\n columnsCount: () => 1,\n mapping: (startTimestamp, endTimestamp) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n DateHelper.intervals(\n 'year',\n startTimestamp,\n DateHelper.date(endTimestamp),\n ).map((ts, index) => ({\n t: ts,\n x: index,\n y: 0,\n })),\n extractUnit: (ts) => DateHelper.date(ts).startOf('year').valueOf(),\n };\n};\n\nexport default yearTemplate;\n","import castArray from 'lodash-es/castArray';\n\nimport DefaultTemplates from './templates/index';\nimport type Options from './options/Options';\nimport type { Template, TemplateResult } from './index';\nimport type DateHelper from './helpers/DateHelper';\n\nexport default class TemplateCollection {\n dateHelper: DateHelper;\n\n options: Options;\n\n settings: Map;\n\n // Whether the default templates has been initiated\n initiated: boolean;\n\n constructor(dateHelper: DateHelper, options: Options) {\n this.settings = new Map();\n this.dateHelper = dateHelper;\n this.options = options;\n this.initiated = false;\n }\n\n get(subDomainType: string): TemplateResult {\n return this.settings.get(subDomainType)!;\n }\n\n has(subDomainType: string): boolean {\n return this.settings.has(subDomainType);\n }\n\n init() {\n if (!this.initiated) {\n this.initiated = true;\n this.add(DefaultTemplates);\n }\n }\n\n add(templates: Template | Template[]) {\n this.init();\n\n const tplWithParent: string[] = [];\n castArray(templates).forEach((f) => {\n const template = f(this.dateHelper, this.options.options);\n this.settings.set(template.name, template);\n\n if (template.hasOwnProperty('parent')) {\n tplWithParent.push(template.name);\n }\n });\n\n tplWithParent.forEach((name) => {\n const parentTemplate = this.settings.get(\n this.settings.get(name)!.parent!,\n );\n\n if (!parentTemplate) {\n return;\n }\n\n this.settings.set(name, {\n ...parentTemplate,\n ...this.settings.get(name),\n });\n });\n }\n}\n","import EventEmmiter from 'eventemitter3';\nimport castArray from 'lodash-es/castArray';\nimport type { PluginFunc } from 'dayjs';\nimport type dayjs from 'dayjs';\n\nimport Navigator from './calendar/Navigator';\nimport CalendarPainter from './calendar/CalendarPainter';\nimport Populator from './calendar/Populator';\nimport Options from './options/Options';\nimport DataFetcher from './DataFetcher';\nimport DomainCollection from './calendar/DomainCollection';\nimport DateHelper from './helpers/DateHelper';\nimport validate from './options/OptionsValidator';\nimport PluginManager from './plugins/PluginManager';\nimport VERSION from './version';\n\nimport './cal-heatmap.scss';\n\nimport TemplateCollection from './TemplateCollection';\n\nimport type { OptionsType } from './options/Options';\nimport type {\n Template,\n Dimensions,\n PluginDefinition,\n Timestamp,\n} from './index';\n\nimport { ScrollDirection } from './constant';\n\nexport default class CalHeatmap {\n static VERSION = VERSION;\n\n options: Options;\n\n calendarPainter: CalendarPainter;\n\n populator: Populator;\n\n navigator: Navigator;\n\n eventEmitter: EventEmmiter;\n\n dataFetcher: DataFetcher;\n\n domainCollection!: DomainCollection;\n\n templateCollection: TemplateCollection;\n\n dateHelper: DateHelper;\n\n pluginManager: PluginManager;\n\n constructor() {\n // Default options\n this.options = new Options();\n\n // Init the helpers with the default options\n this.dateHelper = new DateHelper();\n this.templateCollection = new TemplateCollection(\n this.dateHelper,\n this.options,\n );\n this.dataFetcher = new DataFetcher(this);\n this.navigator = new Navigator(this);\n this.populator = new Populator(this);\n\n this.calendarPainter = new CalendarPainter(this);\n this.eventEmitter = new EventEmmiter();\n this.pluginManager = new PluginManager(this);\n }\n\n createDomainCollection(\n startDate: Timestamp | Date,\n range: number | Date,\n excludeEnd: boolean = true,\n ): DomainCollection {\n return new DomainCollection(\n this.dateHelper,\n this.options.options.domain.type,\n startDate,\n range,\n excludeEnd,\n );\n }\n\n // =========================================================================\n // PUBLIC API\n // =========================================================================\n\n /**\n * Setup and paint the calendar with the given options\n *\n * @param {Object} options The Options object\n * @return A Promise, which will fulfill once all the underlying asynchronous\n * tasks settle, whether resolved or rejected.\n */\n async paint(\n options?: CalHeatmap.DeepPartial,\n plugins?: PluginDefinition[] | PluginDefinition,\n ): Promise {\n this.options.init(options);\n await this.dateHelper.setup(this.options);\n\n this.templateCollection.init();\n\n try {\n validate(this.templateCollection, this.options.options);\n } catch (error) {\n return Promise.reject(error);\n }\n\n if (plugins) {\n this.pluginManager.add(castArray(plugins as any) as PluginDefinition[]);\n }\n\n this.calendarPainter.setup();\n\n // Record all the valid domains\n // Each domain value is a timestamp in milliseconds\n this.domainCollection = new DomainCollection(this.dateHelper);\n this.navigator.loadNewDomains(\n this.createDomainCollection(\n this.options.options.date.start,\n this.options.options.range,\n ),\n );\n\n return Promise.allSettled([this.calendarPainter.paint(), this.fill()]);\n }\n\n /**\n * Add a new subDomainTemplate\n *\n * @since 4.0.0\n * @param {SubDomainTemplate[] | SubDomainTemplate} templates\n * A single, or an array of SubDomainTemplate object\n * @return void\n */\n addTemplates(templates: Template | Template[]): void {\n this.templateCollection.add(templates);\n }\n\n /**\n * Shift the calendar by n domains forward\n *\n * @param {number} n Number of domain intervals to shift forward\n * @return A Promise, which will fulfill once all the underlying asynchronous\n * tasks settle, whether resolved or rejected.\n */\n next(n: number = 1): Promise {\n const loadDirection = this.navigator.loadNewDomains(\n this.createDomainCollection(this.domainCollection.max, n + 1).slice(n),\n ScrollDirection.SCROLL_FORWARD,\n );\n\n return Promise.allSettled([\n this.calendarPainter.paint(loadDirection),\n this.fill(),\n ]);\n }\n\n /**\n * Shift the calendar by n domains backward\n *\n * @param {number} n Number of domain intervals to shift backward\n * @return A Promise, which will fulfill once all the underlying asynchronous\n * tasks settle, whether resolved or rejected.\n */\n previous(n: number = 1): Promise {\n const loadDirection = this.navigator.loadNewDomains(\n this.createDomainCollection(this.domainCollection.min, -n),\n ScrollDirection.SCROLL_BACKWARD,\n );\n\n return Promise.allSettled([\n this.calendarPainter.paint(loadDirection),\n this.fill(),\n ]);\n }\n\n /**\n * Jump directly to a specific date\n *\n * JumpTo will scroll the calendar until the wanted domain with the specified\n * date is visible. Unless you set reset to true, the wanted domain\n * will not necessarily be the first domain of the calendar.\n *\n * @param {Date} date Jump to the domain containing that date\n * @param {boolean} reset Whether the wanted domain\n * should be the first domain of the calendar\n * @return A Promise, which will fulfill once all the underlying asynchronous\n * tasks settle, whether resolved or rejected.\n */\n jumpTo(date: Date, reset: boolean = false): Promise {\n return Promise.allSettled([\n this.calendarPainter.paint(this.navigator.jumpTo(date, reset)),\n this.fill(),\n ]);\n }\n\n /**\n * Fill the calendar with the given data\n *\n * @param {Object|string} dataSource The calendar's datasource,\n * same type as `options.data.source`\n * @return A Promise, which will fulfill once all the underlying asynchronous\n * tasks settle, whether resolved or rejected.\n */\n fill(dataSource = this.options.options.data.source): Promise {\n const { options } = this.options;\n const template = this.templateCollection;\n const endDate = this.dateHelper.intervals(\n options.domain.type,\n this.domainCollection.max,\n 2,\n )[1];\n\n const dataPromise = this.dataFetcher.getDatas(\n dataSource,\n this.domainCollection.min,\n endDate,\n );\n\n return new Promise((resolve, reject) => {\n dataPromise.then(\n (data: any) => {\n this.domainCollection.fill(\n data,\n options.data,\n template.get(options.subDomain.type)!.extractUnit,\n );\n this.populator.populate();\n resolve(null);\n },\n (error) => {\n reject(error);\n },\n );\n });\n }\n\n /**\n * Listener for all events\n *\n * @since 4.0.0\n * @param {string} eventName Name of the event to listen to\n * @param {function} Callback function to execute on event trigger\n * @return void\n */\n on(name: string, fn: (...args: any[]) => any): void {\n this.eventEmitter.on(name, fn);\n }\n\n dimensions(): Dimensions {\n return this.calendarPainter.dimensions;\n }\n\n /**\n * Destroy the calendar\n *\n * @since 3.3.6\n * @return A Promise, which will fulfill once all the underlying asynchronous\n * tasks settle, whether resolved or rejected.\n */\n destroy(): Promise {\n return this.calendarPainter.destroy();\n }\n\n extendDayjs(plugin: PluginFunc): dayjs.Dayjs {\n return this.dateHelper.extend(plugin);\n }\n}\n","const VERSION = '4.2.4';\nexport default VERSION;\n"],"names":["check","it","Math","global","globalThis","window","self","this","Function","shared$4","exports","require$$0","defineProperty","Object","defineGlobalProperty","key","value","configurable","writable","error","require$$1","SHARED","sharedStore","store","sharedModule","undefined","push","version","mode","copyright","license","source","match","fails","exec","functionBindNative","test","bind","hasOwnProperty","NATIVE_BIND","FunctionPrototype","prototype","call","uncurryThisWithBind","functionUncurryThis","fn","apply","arguments","isNullOrUndefined","$TypeError","TypeError","requireObjectCoercible","$Object","toObject","argument","hasOwnProperty_1","hasOwn","uncurryThis","id","postfix","random","toString","uid","engineUserAgent","navigator","String","userAgent","process","Deno","versions","v8","split","engineV8Version","V8_VERSION","$String","require$$2","symbolConstructorDetection","getOwnPropertySymbols","symbol","Symbol","sham","useSymbolAsUid","iterator","shared","require$$3","NATIVE_SYMBOL","require$$4","USE_SYMBOL_AS_UID","require$$5","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","wellKnownSymbol","name","toStringTagSupport","documentAll","document","all","documentAll_1","IS_HTMLDDA","isCallable","objectDefineProperty","descriptors","get","isObject","EXISTS","createElement","documentCreateElement","ie8DomDefine","a","v8PrototypeDefineBug","anObject","functionCall","getBuiltIn","namespace","method","length","objectIsPrototypeOf","isPrototypeOf","isSymbol","$Symbol","tryToString","aCallable","getMethod","V","P","func","ordinaryToPrimitive","input","pref","val","valueOf","TO_PRIMITIVE","toPrimitive","result","exoticToPrim","toPropertyKey","DESCRIPTORS","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","$defineProperty","$getOwnPropertyDescriptor","getOwnPropertyDescriptor","ENUMERABLE","CONFIGURABLE","WRITABLE","f","O","Attributes","current","enumerable","makeBuiltIn$3","getDescriptor","functionName","PROPER","functionToString","inspectSource","set","has","WeakMap","weakMapBasicDetection","createPropertyDescriptor","bitmap","definePropertyModule","createNonEnumerableProperty","object","keys","sharedKey","hiddenKeys","NATIVE_WEAK_MAP","require$$6","require$$7","OBJECT_ALREADY_INITIALIZED","state","metadata","facade","STATE","internalState","enforce","getterFor","TYPE","type","CONFIGURABLE_FUNCTION_NAME","enforceInternalState","getInternalState","stringSlice","slice","replace","join","CONFIGURABLE_LENGTH","TEMPLATE","makeBuiltIn","makeBuiltInModule","options","getter","setter","arity","constructor","defineBuiltIn","simple","unsafe","nonConfigurable","nonWritable","classofRaw","TO_STRING_TAG_SUPPORT","TO_STRING_TAG","CORRECT_ARGUMENTS","classof","tag","tryGet","callee","objectGetOwnPropertyDescriptor","objectPropertyIsEnumerable","$propertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","descriptor","indexedObject","IndexedObject","toIndexedObject","propertyIsEnumerableModule","objectGetOwnPropertyNames","ceil","floor","trunc","x","n","toIntegerOrInfinity","number","max","min","toAbsoluteIndex","index","integer","toLength","lengthOfArrayLike","obj","createMethod","IS_INCLUDES","$this","el","fromIndex","arrayIncludes","includes","indexOf","objectKeysInternal","names","i","enumBugKeys","internalObjectKeys","concat","getOwnPropertyNames","objectGetOwnPropertySymbols","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","ownKeys","getOwnPropertyDescriptorModule","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","toLowerCase","isForced_1","copyConstructorProperties","target","exceptions","_export","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","forced","engineIsNode","uncurryThisAccessor","aPossiblePrototype","objectSetPrototypeOf","setPrototypeOf","CORRECT_SETTER","Array","proto","__proto__","setToStringTag","TAG","defineBuiltInAccessor","SPECIES","setSpecies","CONSTRUCTOR_NAME","Constructor","anInstance","Prototype","noop","empty","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","$location","defer","channel","port","isConstructor","called","aConstructor","functionApply","Reflect","functionUncurryThisClause","functionBindContext","that","html","arraySlice","engineIsIos","require$$8","validateArgumentsLength","passed","required","IS_IOS","require$$10","IS_NODE","require$$11","setImmediate","clear","clearImmediate","Dispatch","MessageChannel","counter","queue","ONREADYSTATECHANGE","location","run","runner","eventListener","event","globalPostMessageDefer","postMessage","protocol","host","handler","args","nextTick","now","port2","port1","onmessage","addEventListener","importScripts","appendChild","removeChild","setTimeout","task","Queue","head","tail","add","item","entry","next","notify","toggle","node","promise","then","engineIsIosPebble","Pebble","engineIsWebosWebkit","macrotask","IS_IOS_PEBBLE","IS_WEBOS_WEBKIT","MutationObserver","WebKitMutationObserver","Promise","queueMicrotaskDescriptor","microtask","flush","parent","domain","exit","enter","resolve","createTextNode","observe","characterData","microtask_1","perform","promiseNativeConstructor","engineIsDeno","engineIsBrowser","NativePromiseConstructor","IS_BROWSER","IS_DENO","require$$9","SUBCLASSING","NATIVE_PROMISE_REJECTION_EVENT","PromiseRejectionEvent","FORCED_PROMISE_CONSTRUCTOR","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","FakePromise","promiseConstructorDetection","CONSTRUCTOR","REJECTION_EVENT","newPromiseCapability$2","PromiseCapability","C","reject","$$resolve","$$reject","newPromiseCapability","Internal","OwnPromiseCapability","nativeThen","$","require$$12","speciesConstructor","defaultConstructor","S","require$$14","require$$15","hostReportErrors","b","console","require$$17","require$$18","InternalStateModule","require$$19","require$$20","newPromiseCapabilityModule","require$$22","PROMISE","require$$21","NATIVE_PROMISE_SUBCLASSING","getInternalPromiseState","setInternalState","NativePromisePrototype","PromiseConstructor","PromisePrototype","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","isThenable","callReaction","reaction","exited","ok","fail","rejection","onHandleUnhandled","isReject","notified","reactions","onUnhandled","reason","initEvent","isUnhandled","emit","unwrap","internalReject","done","internalResolve","wrapper","executor","onFulfilled","onRejected","PromiseWrapper","wrap","iterators","Iterators","ITERATOR","ArrayPrototype","isArrayIteratorMethod","getIteratorMethod","getIterator","usingIterator","iteratorMethod","iteratorClose","kind","innerResult","innerError","Result","stopped","ResultPrototype","iterate","iterable","unboundFunction","iterFn","step","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","stop","condition","callFn","SAFE_CLOSING","iteratorWithReturn","return","from","checkCorrectnessOfIteration","SKIP_CLOSING","ITERATION_SUPPORT","promiseStaticsIncorrectIteration","capability","$promiseResolve","values","remaining","alreadyCalled","real","catch","race","r","promiseResolve","promiseCapability","objectDefineProperties","objectKeys","defineProperties","Properties","props","activeXDocument","definePropertiesModule","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","JS","style","display","src","contentWindow","open","F","objectCreate","create","UNSCOPABLES","IteratorPrototype","PrototypeOfArrayIteratorPrototype","arrayIterator","addToUnscopables","correctPrototypeGetter","getPrototypeOf","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","objectGetPrototypeOf","BUGGY_SAFARI_ITERATORS","NEW_ITERATOR_PROTOTYPE","iteratorsCore","returnThis","createIteratorConstructor","IteratorConstructor","NAME","ENUMERABLE_NEXT","PROPER_FUNCTION_NAME","require$$13","KEYS","VALUES","ENTRIES","iteratorDefine","Iterable","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","createIterResultObject","defineIterator","ARRAY_ITERATOR","es_array_iterator","iterated","Arguments","allSettled","status","charAt","charCodeAt","CONVERT_TO_STRING","pos","first","second","position","size","stringMultibyte","codeAt","STRING_ITERATOR","point","domIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","classList","DOMTokenListPrototype","domTokenListPrototype","DOMIterables","ArrayIteratorMethods","ArrayValues","handlePrototype","CollectionPrototype","COLLECTION_NAME","METHOD_NAME","fill","argumentsLength","end","endPos","isArray","createProperty","propertyKey","arrayMethodHasSpeciesSupport","array","foo","Boolean","nativeSlice","HAS_SPECIES_SUPPORT","$Array","__awaiter","thisArg","_arguments","generator","fulfilled","e","rejected","__classPrivateFieldGet","receiver","start","k","fin","prefix","Events","EE","context","once","addListener","emitter","listener","evt","_events","_eventsCount","clearEvent","EventEmitter","eventNames","events","listeners","handlers","l","ee","listenerCount","a1","a2","a3","a4","a5","len","removeListener","j","on","removeAllListeners","off","prefixed","module","isArray$3","castArray","arraySpeciesConstructor","originalArray","arraySpeciesCreate","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","callbackfn","specificCreate","boundFunction","arrayIteration","forEach","map","filter","some","every","find","findIndex","filterReject","$map","$assign","assign","objectAssign","A","B","alphabet","chr","T","internalMetadata","objectGetOwnPropertyNamesExternal","arraySliceSimple","$getOwnPropertyNames","windowNames","getWindowNames","arrayBufferNonExtensible","ArrayBuffer","buffer","isExtensible","ARRAY_BUFFER_NON_EXTENSIBLE","$isExtensible","objectIsExtensible","freezing","preventExtensions","getOwnPropertyNamesExternalModule","FREEZING","REQUIRED","METADATA","setMetadata","objectID","weakData","meta","internalMetadataModule","enable","splice","fastKey","getWeakData","onFreeze","InternalMetadataModule","inheritIfRequired","dummy","Wrapper","NewTarget","NewTargetPrototype","collection","common","IS_WEAK","ADDER","NativeConstructor","NativePrototype","exported","fixMethod","uncurriedNativeMethod","getConstructor","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","setStrong","defineBuiltIns","internalStateGetterFor","uncaughtFrozenStore","frozen","UncaughtFrozenStore","findUncaughtFrozen","delete","ScrollDirection","Position","collectionWeak","define","init","SCALE_BASE_OPACITY_COLOR","SCALE_BASE_COLOR_DOMAIN","Navigator","calendar","_classCallCheck","maxDomainReached","minDomainReached","_createClass","newDomainCollection","_this","direction","SCROLL_NONE","templatesClt","templateCollection","minDate","date","extractUnit","maxDate","domainCollection","_Navigator_instances","_Navigator_isDomainBoundaryReached","clamp","range","SCROLL_FORWARD","merge","domainKey","subDomainEndDate","at","dateHelper","intervals","pop","subDomain","mapping","d","v","defaultValue","_Navigator_setDomainsBoundaryReached","SCROLL_BACKWARD","eventEmitter","reset","_this$calendar","Date","loadNewDomains","createDomainCollection","WeakSet","lowerBound","upperBound","reached","doesNotExceedSafeInteger","IS_CONCAT_SPREADABLE","IS_CONCAT_SPREADABLE_SUPPORT","isConcatSpreadable","spreadable","arg","E","arrayMethodIsStrict","nativeJoin","separator","collectionStrong","last","previous","getEntry","removed","prev","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","mergeSort","comparefn","middle","insertionSort","element","left","right","llength","rlength","lindex","rindex","arraySort","firefox","engineFfVersion","engineIsIeOrEdge","webkit","engineWebkitVersion","deletePropertyOrThrow","internalSort","FF","IE_OR_EDGE","V8","WEBKIT","nativeSort","sort","FAILS_ON_UNDEFINED","FAILS_ON_NULL","STRICT_METHOD","STABLE_SORT","code","fromCharCode","itemsLength","items","arrayLength","y","getSortCompare","$forEach","isVertical","horizontalPadding","padding","LEFT","RIGHT","verticalPadding","TOP","BOTTOM","DomainCoordinates","domainPainter","Map","scrollDirection","_this$calendar$option","verticalOrientation","dimensions","width","height","exitingTotal","scrollFactor","reverse","yankedDomains","coor","w","_DomainCoordinates_instances","_DomainCoordinates_getWidth","h","_DomainCoordinates_getHeight","pre_x","pre_y","inner_width","gutter","inner_height","_this$calendar$option2","columnsCount","subDomainWidth","domainHorizontalLabelWidth","_this$calendar$option3","rowsCount","subDomainHeight","domainVerticalLabelHeight","DEFAULT_SELECTOR","DomainPainter","coordinates","root","rootNode","animationDuration","t","transition","duration","update","promises","selectAll","append","attr","enterSelection","updateSelection","exitSelection","remove","classname","helper","hour","format","week","month","year","$includes","$filter","callWithSafeIterationClosing","arrayLike","IS_CONSTRUCTOR","mapfn","DOMAIN_FORMAT","xDay","ghDay","day","minute","DomainCollection","interval","excludeEnd","ts","_DomainCollection_instances","_DomainCollection_refreshKeys","callback","newCollection","limit","createValueCallback","_this2","keyToRemove","_this3","fromBeginning","_ref","subDomainKeyExtractor","_this4","groupY","groupedRecords","groupRecords","records","_DomainCollection_setSubDomainValues","_this5","results","validSubDomainTimestamp","timestamp","extractTimestamp","groupFn","cleanedValues","reduce","_toConsumableArray","datum","extractorFn","_this6","groupValues","_DomainCollection_extractValues","parseInt","DomainLabelPainter","label","text","textAlign","_DomainLabelPainter_instances","_DomainLabelPainter_textVerticalAlign","nodes","selection","_DomainLabelPainter_domainRotate","rotate","_this$calendar$option4","offset","_DomainLabelPainter_getDomainInsideWidth","_this$calendar$option5","_this$calendar$option6","_this$calendar$option7","_DomainLabelPainter_getDomainInsideHeight","_this$calendar$option8","calendarPainter","domainsContainerPainter","_this$calendar$option9","_this$calendar$option10","_this$calendar$option11","labelWidth","domainWidth","domainHeight","s","whitespaces","ltrim","RegExp","rtrim","stringTrim","trim","$trim","forcedStringTrimMethod","SubDomainPainter","containerClassname","subDomainSvgGroup","_SubDomainPainter_instances","_SubDomainPainter_setPositions","radius","subDomainsCollection","abs","insert","_SubDomainPainter_classname","ev","_SubDomainPainter_appendText","_options$domain","highlight","unitFn","_len","otherClasses","_key","elem","_SubDomainPainter_getCoordinates","axis","BASE_SELECTOR","TRANSITION_CLASSNAME","DomainsContainerPainter","subDomainPainter","domainLabelPainter","transitionsQueueCount","_DomainsContainerPainter_instances","_DomainsContainerPainter_startAnimation","paint","_DomainsContainerPainter_recomputeDimensions","_DomainsContainerPainter_endAnimation","_a","topHeight","pluginManager","getHeightFromPosition","leftWidth","getWidthFromPosition","select","parentNode","classed","domainsDimensions","PluginPainter","paintAll","setPluginsPosition","top","getFromPosition","bottom","topOffset","plugin","leftOffset","CalendarPainter","pluginPainter","itemSelector","theme","setup","setupAll","navigationDir","transitions","updatePosition","_CalendarPainter_instances","_CalendarPainter_resize","destroyAll","destroy","insideHeight","_CalendarPainter_getWidth","insideWidth","newWidth","newHeight","freeGlobal$1","freeSelf","root$1","freeGlobal","Symbol$2","objectProto","nativeObjectToString","symToStringTag","toStringTag","nullTag","undefinedTag","baseGetTag","isOwn","unmasked","getRawTag","objectToString","asyncTag","funcTag","genTag","proxyTag","isFunction","nativeKeys","MATCH","isRegExp","notARegexp","correctIsRegexpLogic","regexp","error1","error2","notARegExp","correctIsRegExpLogic","nativeStartsWith","startsWith","CORRECT_IS_REGEXP_LOGIC","searchString","search","IE_BUG","TO_ENTRIES","IE_WORKAROUND","$entries","defined","Number","isNaN","ascendingDefined","ascending","finite","isFinite","NaN","positive","negative","re","parse","fallback","timeIntervals","timeSecond","timeMinute","timeHour","timeDay","timeWeek","timeMonth","timeYear","timeMonday","timeTuesday","timeWednesday","timeThursday","timeFriday","timeSaturday","timeSunday","utcIntervals","utcSecond","utcMinute","utcHour","utcDay","utcWeek","utcMonth","utcYear","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","utcSunday","maybeTimeInterval","Error","maybeUtcInterval","TypedArray","Uint8Array","constant","coerceNumbers","coerceNumber","Float64Array","coerceDates","coerceDate","isoParse","arrayify","isScaleOptions","option","maybeInterval","isInteger","lo","hi","rangei","maybeRangeInterval","isOrdinal","isTemporal","isTemporalString","isNumericString","orderof","descending","color","opacity","registry","sqrt4_3","sqrt","symbols","symbolAsterisk","symbolCircle","symbolCross","symbolDiamond","symbolDiamond2","draw","rx","PI","ry","hy","moveTo","lineTo","closePath","symbolPlus","symbolSquare","symbolSquare2","symbolStar","symbolTimes","symbolTriangle","symbolTriangle2","symbolWye","maybeSymbol","isSymbolObject","warn","message","ordinalSchemes","schemeAccent","schemeCategory10","schemeDark2","schemePaired","schemePastel1","schemePastel2","schemeSet1","schemeSet2","schemeSet3","schemeTableau10","scheme11","schemeBrBG","interpolateBrBG","schemePRGn","interpolatePRGn","schemePiYG","interpolatePiYG","schemePuOr","interpolatePuOr","schemeRdBu","interpolateRdBu","schemeRdGy","interpolateRdGy","schemeRdYlBu","interpolateRdYlBu","schemeRdYlGn","interpolateRdYlGn","schemeSpectral","interpolateSpectral","scheme11r","scheme9","schemeBlues","interpolateBlues","schemeGreens","interpolateGreens","schemeGreys","interpolateGreys","schemeOranges","interpolateOranges","schemePurples","interpolatePurples","schemeReds","interpolateReds","schemei","interpolateTurbo","interpolateViridis","interpolateMagma","interpolateInferno","interpolatePlasma","interpolateCividis","interpolateCubehelixDefault","interpolateWarm","interpolateCool","schemeBuGn","interpolateBuGn","schemeBuPu","interpolateBuPu","schemeGnBu","interpolateGnBu","schemeOrRd","interpolateOrRd","schemePuBu","interpolatePuBu","schemePuBuGn","interpolatePuBuGn","schemePuRd","interpolatePuRd","schemeRdPu","interpolateRdPu","schemeYlGn","interpolateYlGn","schemeYlGnBu","interpolateYlGnBu","schemeYlOrBr","interpolateYlOrBr","schemeYlOrRd","interpolateYlOrRd","schemeicyclical","interpolateRainbow","interpolateSinebow","scheme","interpolate","quantize","ordinalScheme","ordinalRange","quantitativeSchemes","quantitativeScheme","divergingSchemes","Set","isDivergingScheme","flip","unit","interpolators","interpolateNumber","interpolateRgb","interpolateHsl","interpolateHcl","interpolateLab","maybeInterpolator","createScaleQ","scale","channels","nice","zero","inferAutoDomain","unknown","round","inferRadialRange","inferLengthRange","interpolateRound","_","interpolatePiecewise","extent","sign","reverseof","maybeNiceInterval","maybeNice","createScalePow","exponent","scalePow","createScaleThreshold","isOrdered","scaleThreshold","inferDomain","inferZeroDomain","hint","h25","quantile","h50","median","inferLogDomain","inferQuantileDomain","createScaleD","transform","pivot","symmetric","piecewise","mid","mindelta","maxdelta","invert","interpolator","createScaleDivergingPow","scaleDivergingPow","transformSqrt","pow","transformPow","createScaleDivergingSymlog","scaleDivergingSymlog","log1p","expm1","transformSymlog","transformIdentity","transformLog","log","exp","createScaleT","ordinalImplicit","createScaleO","createScaleOrdinal","inferHint","stroke","inferSymbolHint","isNone","symbolsStroke","symbolsFill","inferSymbolRange","maybeBooleanRange","t0","scaleImplicit","scaleOrdinal","maybeRound","InternSet","candidate","normalizeScale","projection","typeProjection","asOrdinalType","inferScaleType","isOrdinalScale","formatScaleType","coerceType","coerceSymbols","scaleDiverging","createScaleDiverging","createScaleDivergingSqrt","base","scaleDivergingLog","createScaleDivergingLog","scaleLinear","createScaleLinear","createScaleSqrt","quantiles","scaleQuantile","createScaleQuantile","thresholds","ticks","createScaleQuantize","scaleLog","createScaleLog","scaleSymlog","createScaleSymlog","scaleUtc","createScaleUtc","scaleTime","createScaleTime","align","scalePoint","createScalePoint","paddingInner","paddingOuter","scaleBand","createScaleBand","scaleIdentity","createScale","description","coerceValues","c","exposeScale","percent","bandwidth","normalizedScale","scaleOptions","scaleType","applyScaleStyle","_scale","keyname","styles","baseColor","scaleStyle","_ref2","_slicedToArray","prop","Populator","_calendar$options$opt","colorScale","defaultColor","hcl","eq","other","assocIndexOf","ListCache","__data__","coreJsData$1","maskSrcKey","coreJsData","funcToString","toSource","reIsHostCtor","funcProto","reIsNative","baseIsNative","getNative","getValue","Map$2","nativeCreate$1","Hash","getMapData","MapCache","nativeCreate","hash","Stack","pairs","LARGE_ARRAY_SIZE","defineProperty$1","baseAssignValue","assignMergeValue","fromRight","baseFor","iteratee","keysFunc","baseFor$1","freeExports","nodeType","freeModule","Buffer","allocUnsafe","Uint8Array$2","cloneTypedArray","typedArray","isDeep","arrayBuffer","byteLength","byteOffset","baseCreate$1","overArg","getPrototype$1","isPrototype","Ctor","isObjectLike","baseIsArguments","isArguments$1","MAX_SAFE_INTEGER","isLength","isArrayLike","isBuffer$1","isBuffer","objectTag","objectCtorString","typedArrayTags","freeProcess","nodeUtil","types","require","binding","nodeIsTypedArray","isTypedArray","isTypedArray$1","safeGet","assignValue","objValue","reIsUint","isIndex","arrayLikeKeys","inherited","isArr","isArg","isArguments","isBuff","isType","skipIndexes","baseTimes","baseKeysIn","nativeKeysIn","isProto","keysIn","toPlainObject","customizer","isNew","newValue","copyObject","baseMergeDeep","srcIndex","mergeFunc","stack","srcValue","stacked","isCommon","isTyped","copyArray","copy","cloneBuffer","getPrototype","isPlainObject","baseCreate","initCloneObject","baseMerge","identity","nativeMax","baseSetToString","baseSetToString$1","nativeNow","setToString","count","lastCalled","stamp","shortOut","setToString$1","baseRest","otherArgs","overRest","assigner","mergeWith","sources","guard","isIterateeCall","mergeWith$1","SetCache","arraySome","predicate","COMPARE_PARTIAL_FLAG","COMPARE_UNORDERED_FLAG","equalArrays","bitmask","equalFunc","isPartial","arrLength","othLength","arrStacked","othStacked","seen","arrValue","othValue","compared","othIndex","mapToArray","setToArray","boolTag","dateTag","errorTag","mapTag","numberTag","regexpTag","setTag","stringTag","symbolTag","arrayBufferTag","dataViewTag","symbolProto","symbolValueOf","nativeGetSymbols","getSymbols","resIndex","arrayFilter","getSymbols$1","nativeKeys$1","baseKeys","getAllKeys","symbolsFunc","arrayPush","baseGetAllKeys","DataView$1","Promise$2","Set$2","WeakMap$1","promiseTag","weakMapTag","dataViewCtorString","DataView","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","getTag","ctorString","getTag$1","argsTag","arrayTag","baseIsEqualDeep","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","convert","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","objProps","objLength","objStacked","skipCtor","objCtor","othCtor","equalObjects","baseIsEqual","isEqual","baseHas","reIsDeepProp","reIsPlainProp","FUNC_ERROR_TEXT","memoize","resolver","memoized","cache","Cache","rePropName","reEscapeChar","stringToPath","memoizeCapped","quote","subString","stringToPath$1","INFINITY","symbolToString","baseToString","arrayMap","castPath","isKey","toKey","path","hasFunc","hasPath","baseGet","lastIndex","nested","baseSet","re1","re2","OptionsPreProcessors","isString","Options","processors","preProcessors","dynamicDimension","locale","timezone","requestInit","opts","initScale","$RegExp","UNSUPPORTED_Y","MISSED_STICKY","sticky","BROKEN_CARET","regexpStickyHelpers","regexpUnsupportedDotAll","dotAll","flags","regexpUnsupportedNcg","groups","regexpFlags","hasIndices","ignoreCase","multiline","unicode","unicodeSets","stickyHelpers","UNSUPPORTED_DOT_ALL","UNSUPPORTED_NCG","nativeReplace","nativeExec","patchedExec","UPDATES_LAST_INDEX_WRONG","NPCG_INCLUDED","reCopy","group","str","raw","charsAdded","strCopy","regexpExec","RegExpPrototype","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","fixRegExpWellKnownSymbolLogic","SHAM","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","uncurriedNativeRegExpMethod","nativeMethod","arg2","forceStringMethod","$exec","advanceStringIndex","getSubstitution","matched","captures","namedCaptures","tailPos","m","ch","capture","regExpExec","R","REPLACE","require$$16","stringIndexOf","REPLACE_KEEPS_$0","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","REPLACE_SUPPORTS_NAMED_GROUPS","maybeCallNative","UNSAFE_SUBSTITUTE","searchValue","replaceValue","replacer","res","functionalReplace","fullUnicode","accumulatedResult","nextSourcePosition","replacerArgs","DataFetcher","startTimestamp","endTimestamp","_context","abrupt","_DataFetcher_instances","_DataFetcher_fetch","_callee","newUri","url","parseURI","json","csv","dsv","FUNCTION_NAME_EXISTS","nameRE","dayjs_min","u","o","M","weekdays","months","ordinal","z","utcOffset","clone","p","D","ms","Q","g","$L","utc","$u","$x","$offset","$d","substring","UTC","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","isSame","startOf","endOf","isAfter","isBefore","$g","unix","getTime","toDate","$locale","weekStart","$set","daysInMonth","subtract","invalidDate","meridiem","monthsShort","weekdaysMin","weekdaysShort","getTimezoneOffset","diff","toJSON","toISOString","toUTCString","extend","$i","isDayjs","en","Ls","yearStart","weeks","dayOfYear","weekday","isoWeeksInYear","isLeapYear","isoWeekday","isoWeekYear","isoWeek","weekYear","offsetName","local","getUTCFullYear","getUTCMonth","getUTCDate","getUTCDay","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","$localOffset","isUTC","timeZoneName","Intl","DateTimeFormat","hour12","timeZone","formatToParts","tz","toLocaleString","$timezone","guess","resolvedOptions","setDefault","formats","toUpperCase","firstDayOfWeek","longDateFormat","localeData","LTS","L","LL","LLL","LLLL","updateLocale","dayjs","weekOfYear","minMax","advancedFormat","localizedFormat","DEFAULT_LOCALE","DateHelper","_typeof","userLocale","loadBrowserLocale","sent","loadNodeLocale","dayjsPlugin","dayjsDate","endOfWeek","pivotDate","getLastWeekOfMonth","getFirstWeekOfMonth","startOfMonth","startOfFirstWeek","endOfMonth","endOfLastWeek","formatter","async","onerror","err","onload","import","ALLOWED_DATA_TYPES","validate","domainType","subDomainType","allowedDomainType","PluginManager","settings","plugins","pendingPaint","Creator","PluginClass","pluginOptions","extractPluginName","dirty","pluginInstance","allPlugins","TOTAL_ITEMS","monthDate","baseX","getMonthWeekNumber","weekNumber","endWeekNumber","getWeeksCountInMonth","clampStart","clampEnd","pivotDay","TemplateCollection","initiated","DefaultTemplates","templates","tplWithParent","template","parentTemplate","CalHeatmap","dataFetcher","populator","EventEmmiter","startDate","loadDirection","jumpTo","dataSource","endDate","dataPromise","getDatas","populate","VERSION"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,159,161,162,163,164,165,166,167,168,169,170,171,172,173,174,178,179,180,181,182,185,186,187,188,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,355,356,358,359,360,361,362,363,364,365,366,367,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,385,387]}
\ No newline at end of file
+{"version":3,"file":"cal-heatmap.min.esm.js","sources":["../node_modules/core-js/internals/global.js","../node_modules/core-js/internals/define-global-property.js","../node_modules/core-js/internals/shared-store.js","../node_modules/core-js/internals/shared.js","../node_modules/core-js/internals/engine-v8-version.js","../node_modules/core-js/internals/fails.js","../node_modules/core-js/internals/function-bind-native.js","../node_modules/core-js/internals/function-uncurry-this.js","../node_modules/core-js/internals/is-null-or-undefined.js","../node_modules/core-js/internals/require-object-coercible.js","../node_modules/core-js/internals/to-object.js","../node_modules/core-js/internals/has-own-property.js","../node_modules/core-js/internals/uid.js","../node_modules/core-js/internals/engine-user-agent.js","../node_modules/core-js/internals/symbol-constructor-detection.js","../node_modules/core-js/internals/use-symbol-as-uid.js","../node_modules/core-js/internals/well-known-symbol.js","../node_modules/core-js/internals/to-string-tag-support.js","../node_modules/core-js/internals/document-all.js","../node_modules/core-js/internals/is-callable.js","../node_modules/core-js/internals/descriptors.js","../node_modules/core-js/internals/is-object.js","../node_modules/core-js/internals/document-create-element.js","../node_modules/core-js/internals/ie8-dom-define.js","../node_modules/core-js/internals/v8-prototype-define-bug.js","../node_modules/core-js/internals/an-object.js","../node_modules/core-js/internals/function-call.js","../node_modules/core-js/internals/get-built-in.js","../node_modules/core-js/internals/object-is-prototype-of.js","../node_modules/core-js/internals/is-symbol.js","../node_modules/core-js/internals/try-to-string.js","../node_modules/core-js/internals/a-callable.js","../node_modules/core-js/internals/get-method.js","../node_modules/core-js/internals/ordinary-to-primitive.js","../node_modules/core-js/internals/to-primitive.js","../node_modules/core-js/internals/to-property-key.js","../node_modules/core-js/internals/object-define-property.js","../node_modules/core-js/internals/function-name.js","../node_modules/core-js/internals/inspect-source.js","../node_modules/core-js/internals/internal-state.js","../node_modules/core-js/internals/weak-map-basic-detection.js","../node_modules/core-js/internals/create-property-descriptor.js","../node_modules/core-js/internals/create-non-enumerable-property.js","../node_modules/core-js/internals/shared-key.js","../node_modules/core-js/internals/hidden-keys.js","../node_modules/core-js/internals/make-built-in.js","../node_modules/core-js/internals/define-built-in.js","../node_modules/core-js/internals/classof-raw.js","../node_modules/core-js/internals/classof.js","../node_modules/core-js/internals/object-to-string.js","../node_modules/core-js/modules/es.object.to-string.js","../node_modules/core-js/internals/object-property-is-enumerable.js","../node_modules/core-js/internals/indexed-object.js","../node_modules/core-js/internals/to-indexed-object.js","../node_modules/core-js/internals/object-get-own-property-descriptor.js","../node_modules/core-js/internals/math-trunc.js","../node_modules/core-js/internals/to-integer-or-infinity.js","../node_modules/core-js/internals/to-absolute-index.js","../node_modules/core-js/internals/to-length.js","../node_modules/core-js/internals/length-of-array-like.js","../node_modules/core-js/internals/array-includes.js","../node_modules/core-js/internals/object-keys-internal.js","../node_modules/core-js/internals/enum-bug-keys.js","../node_modules/core-js/internals/object-get-own-property-names.js","../node_modules/core-js/internals/object-get-own-property-symbols.js","../node_modules/core-js/internals/own-keys.js","../node_modules/core-js/internals/copy-constructor-properties.js","../node_modules/core-js/internals/is-forced.js","../node_modules/core-js/internals/export.js","../node_modules/core-js/internals/engine-is-node.js","../node_modules/core-js/internals/function-uncurry-this-accessor.js","../node_modules/core-js/internals/a-possible-prototype.js","../node_modules/core-js/internals/object-set-prototype-of.js","../node_modules/core-js/internals/set-to-string-tag.js","../node_modules/core-js/internals/define-built-in-accessor.js","../node_modules/core-js/internals/set-species.js","../node_modules/core-js/internals/an-instance.js","../node_modules/core-js/internals/is-constructor.js","../node_modules/core-js/internals/task.js","../node_modules/core-js/internals/a-constructor.js","../node_modules/core-js/internals/species-constructor.js","../node_modules/core-js/internals/function-apply.js","../node_modules/core-js/internals/function-uncurry-this-clause.js","../node_modules/core-js/internals/function-bind-context.js","../node_modules/core-js/internals/html.js","../node_modules/core-js/internals/array-slice.js","../node_modules/core-js/internals/validate-arguments-length.js","../node_modules/core-js/internals/engine-is-ios.js","../node_modules/core-js/internals/queue.js","../node_modules/core-js/internals/microtask.js","../node_modules/core-js/internals/engine-is-ios-pebble.js","../node_modules/core-js/internals/engine-is-webos-webkit.js","../node_modules/core-js/internals/perform.js","../node_modules/core-js/internals/promise-native-constructor.js","../node_modules/core-js/internals/engine-is-deno.js","../node_modules/core-js/internals/engine-is-browser.js","../node_modules/core-js/internals/promise-constructor-detection.js","../node_modules/core-js/internals/new-promise-capability.js","../node_modules/core-js/modules/es.promise.constructor.js","../node_modules/core-js/internals/host-report-errors.js","../node_modules/core-js/internals/iterators.js","../node_modules/core-js/internals/is-array-iterator-method.js","../node_modules/core-js/internals/get-iterator-method.js","../node_modules/core-js/internals/get-iterator.js","../node_modules/core-js/internals/iterator-close.js","../node_modules/core-js/internals/iterate.js","../node_modules/core-js/internals/check-correctness-of-iteration.js","../node_modules/core-js/internals/promise-statics-incorrect-iteration.js","../node_modules/core-js/modules/es.promise.all.js","../node_modules/core-js/modules/es.promise.catch.js","../node_modules/core-js/modules/es.promise.race.js","../node_modules/core-js/modules/es.promise.reject.js","../node_modules/core-js/internals/promise-resolve.js","../node_modules/core-js/modules/es.promise.resolve.js","../node_modules/core-js/internals/object-keys.js","../node_modules/core-js/internals/object-define-properties.js","../node_modules/core-js/internals/object-create.js","../node_modules/core-js/internals/add-to-unscopables.js","../node_modules/core-js/internals/iterators-core.js","../node_modules/core-js/internals/correct-prototype-getter.js","../node_modules/core-js/internals/object-get-prototype-of.js","../node_modules/core-js/internals/iterator-create-constructor.js","../node_modules/core-js/internals/iterator-define.js","../node_modules/core-js/internals/create-iter-result-object.js","../node_modules/core-js/modules/es.array.iterator.js","../node_modules/core-js/modules/es.promise.all-settled.js","../node_modules/core-js/internals/to-string.js","../node_modules/core-js/internals/string-multibyte.js","../node_modules/core-js/modules/es.string.iterator.js","../node_modules/core-js/internals/dom-iterables.js","../node_modules/core-js/internals/dom-token-list-prototype.js","../node_modules/core-js/modules/web.dom-collections.iterator.js","../node_modules/core-js/internals/array-fill.js","../node_modules/core-js/modules/es.array.fill.js","../node_modules/core-js/internals/is-array.js","../node_modules/core-js/internals/create-property.js","../node_modules/core-js/internals/array-method-has-species-support.js","../node_modules/core-js/modules/es.array.slice.js","../node_modules/tslib/tslib.es6.js","../node_modules/eventemitter3/index.js","../node_modules/lodash-es/isArray.js","../node_modules/lodash-es/castArray.js","../node_modules/core-js/internals/array-species-constructor.js","../node_modules/core-js/internals/array-species-create.js","../node_modules/core-js/internals/array-iteration.js","../node_modules/core-js/modules/es.array.map.js","../node_modules/core-js/internals/object-assign.js","../node_modules/core-js/modules/es.object.assign.js","../node_modules/core-js/internals/array-slice-simple.js","../node_modules/core-js/internals/object-get-own-property-names-external.js","../node_modules/core-js/internals/array-buffer-non-extensible.js","../node_modules/core-js/internals/object-is-extensible.js","../node_modules/core-js/internals/freezing.js","../node_modules/core-js/internals/internal-metadata.js","../node_modules/core-js/internals/inherit-if-required.js","../node_modules/core-js/internals/collection.js","../node_modules/core-js/internals/define-built-ins.js","../node_modules/core-js/internals/collection-weak.js","../../src/constant.ts","../node_modules/core-js/modules/es.weak-set.constructor.js","../../src/calendar/Navigator.ts","../node_modules/core-js/internals/does-not-exceed-safe-integer.js","../node_modules/core-js/modules/es.array.concat.js","../node_modules/core-js/internals/array-method-is-strict.js","../node_modules/core-js/modules/es.array.join.js","../node_modules/core-js/internals/collection-strong.js","../node_modules/core-js/modules/es.map.constructor.js","../node_modules/core-js/internals/delete-property-or-throw.js","../node_modules/core-js/internals/array-sort.js","../node_modules/core-js/internals/engine-ff-version.js","../node_modules/core-js/internals/engine-is-ie-or-edge.js","../node_modules/core-js/internals/engine-webkit-version.js","../node_modules/core-js/modules/es.array.sort.js","../node_modules/core-js/internals/array-for-each.js","../node_modules/core-js/modules/web.dom-collections.for-each.js","../../src/helpers/PositionHelper.ts","../../src/domain/DomainCoordinates.ts","../../src/domain/DomainPainter.ts","../node_modules/core-js/modules/es.array.includes.js","../node_modules/core-js/modules/es.array.filter.js","../node_modules/core-js/internals/call-with-safe-iteration-closing.js","../node_modules/core-js/internals/array-from.js","../node_modules/core-js/modules/es.array.from.js","../../src/calendar/DomainCollection.ts","../../src/domain/DomainLabelPainter.ts","../node_modules/core-js/internals/whitespaces.js","../node_modules/core-js/internals/string-trim.js","../node_modules/core-js/internals/string-trim-forced.js","../node_modules/core-js/modules/es.string.trim.js","../../src/subDomain/SubDomainPainter.ts","../../src/domain/DomainsContainerPainter.ts","../../src/plugins/PluginPainter.ts","../../src/calendar/CalendarPainter.ts","../node_modules/lodash-es/_freeGlobal.js","../node_modules/lodash-es/_root.js","../node_modules/lodash-es/_Symbol.js","../node_modules/lodash-es/_getRawTag.js","../node_modules/lodash-es/_objectToString.js","../node_modules/lodash-es/_baseGetTag.js","../node_modules/lodash-es/isObject.js","../node_modules/lodash-es/isFunction.js","../node_modules/core-js/modules/es.object.keys.js","../node_modules/core-js/internals/is-regexp.js","../node_modules/core-js/modules/es.string.starts-with.js","../node_modules/core-js/internals/not-a-regexp.js","../node_modules/core-js/internals/correct-is-regexp-logic.js","../node_modules/core-js/internals/object-to-array.js","../node_modules/core-js/modules/es.object.entries.js","../node_modules/@observablehq/plot/src/defined.js","../node_modules/isoformat/src/parse.js","../node_modules/@observablehq/plot/src/time.js","../node_modules/@observablehq/plot/src/options.js","../node_modules/@observablehq/plot/src/scales/index.js","../node_modules/@observablehq/plot/src/symbol.js","../node_modules/@observablehq/plot/src/warnings.js","../node_modules/@observablehq/plot/src/scales/schemes.js","../node_modules/@observablehq/plot/src/scales/quantitative.js","../node_modules/@observablehq/plot/src/scales/diverging.js","../node_modules/@observablehq/plot/src/scales/temporal.js","../node_modules/@observablehq/plot/src/scales/ordinal.js","../node_modules/@observablehq/plot/src/scales.js","../../src/scale.ts","../../src/calendar/Populator.ts","../node_modules/lodash-es/eq.js","../node_modules/lodash-es/_assocIndexOf.js","../node_modules/lodash-es/_listCacheDelete.js","../node_modules/lodash-es/_ListCache.js","../node_modules/lodash-es/_listCacheClear.js","../node_modules/lodash-es/_listCacheGet.js","../node_modules/lodash-es/_listCacheHas.js","../node_modules/lodash-es/_listCacheSet.js","../node_modules/lodash-es/_coreJsData.js","../node_modules/lodash-es/_isMasked.js","../node_modules/lodash-es/_toSource.js","../node_modules/lodash-es/_baseIsNative.js","../node_modules/lodash-es/_getNative.js","../node_modules/lodash-es/_getValue.js","../node_modules/lodash-es/_Map.js","../node_modules/lodash-es/_nativeCreate.js","../node_modules/lodash-es/_hashGet.js","../node_modules/lodash-es/_hashHas.js","../node_modules/lodash-es/_Hash.js","../node_modules/lodash-es/_getMapData.js","../node_modules/lodash-es/_isKeyable.js","../node_modules/lodash-es/_MapCache.js","../node_modules/lodash-es/_hashClear.js","../node_modules/lodash-es/_hashDelete.js","../node_modules/lodash-es/_hashSet.js","../node_modules/lodash-es/_mapCacheClear.js","../node_modules/lodash-es/_mapCacheDelete.js","../node_modules/lodash-es/_mapCacheGet.js","../node_modules/lodash-es/_mapCacheHas.js","../node_modules/lodash-es/_mapCacheSet.js","../node_modules/lodash-es/_Stack.js","../node_modules/lodash-es/_stackClear.js","../node_modules/lodash-es/_stackDelete.js","../node_modules/lodash-es/_stackGet.js","../node_modules/lodash-es/_stackHas.js","../node_modules/lodash-es/_stackSet.js","../node_modules/lodash-es/_defineProperty.js","../node_modules/lodash-es/_baseAssignValue.js","../node_modules/lodash-es/_assignMergeValue.js","../node_modules/lodash-es/_baseFor.js","../node_modules/lodash-es/_createBaseFor.js","../node_modules/lodash-es/_cloneBuffer.js","../node_modules/lodash-es/_Uint8Array.js","../node_modules/lodash-es/_cloneTypedArray.js","../node_modules/lodash-es/_cloneArrayBuffer.js","../node_modules/lodash-es/_baseCreate.js","../node_modules/lodash-es/_overArg.js","../node_modules/lodash-es/_getPrototype.js","../node_modules/lodash-es/_isPrototype.js","../node_modules/lodash-es/isObjectLike.js","../node_modules/lodash-es/_baseIsArguments.js","../node_modules/lodash-es/isArguments.js","../node_modules/lodash-es/isLength.js","../node_modules/lodash-es/isArrayLike.js","../node_modules/lodash-es/isBuffer.js","../node_modules/lodash-es/stubFalse.js","../node_modules/lodash-es/isPlainObject.js","../node_modules/lodash-es/_baseIsTypedArray.js","../node_modules/lodash-es/_nodeUtil.js","../node_modules/lodash-es/_baseUnary.js","../node_modules/lodash-es/isTypedArray.js","../node_modules/lodash-es/_safeGet.js","../node_modules/lodash-es/_assignValue.js","../node_modules/lodash-es/_isIndex.js","../node_modules/lodash-es/_arrayLikeKeys.js","../node_modules/lodash-es/_baseTimes.js","../node_modules/lodash-es/_baseKeysIn.js","../node_modules/lodash-es/_nativeKeysIn.js","../node_modules/lodash-es/keysIn.js","../node_modules/lodash-es/toPlainObject.js","../node_modules/lodash-es/_copyObject.js","../node_modules/lodash-es/_baseMergeDeep.js","../node_modules/lodash-es/isArrayLikeObject.js","../node_modules/lodash-es/_copyArray.js","../node_modules/lodash-es/_initCloneObject.js","../node_modules/lodash-es/_baseMerge.js","../node_modules/lodash-es/identity.js","../node_modules/lodash-es/_overRest.js","../node_modules/lodash-es/_baseSetToString.js","../node_modules/lodash-es/constant.js","../node_modules/lodash-es/_shortOut.js","../node_modules/lodash-es/_setToString.js","../node_modules/lodash-es/_baseRest.js","../node_modules/lodash-es/_apply.js","../node_modules/lodash-es/mergeWith.js","../node_modules/lodash-es/_createAssigner.js","../node_modules/lodash-es/_isIterateeCall.js","../node_modules/lodash-es/_SetCache.js","../node_modules/lodash-es/_arraySome.js","../node_modules/lodash-es/_setCacheAdd.js","../node_modules/lodash-es/_setCacheHas.js","../node_modules/lodash-es/_equalArrays.js","../node_modules/lodash-es/_cacheHas.js","../node_modules/lodash-es/_mapToArray.js","../node_modules/lodash-es/_setToArray.js","../node_modules/lodash-es/_equalByTag.js","../node_modules/lodash-es/_getSymbols.js","../node_modules/lodash-es/_arrayFilter.js","../node_modules/lodash-es/stubArray.js","../node_modules/lodash-es/_nativeKeys.js","../node_modules/lodash-es/_baseKeys.js","../node_modules/lodash-es/keys.js","../node_modules/lodash-es/_getAllKeys.js","../node_modules/lodash-es/_baseGetAllKeys.js","../node_modules/lodash-es/_arrayPush.js","../node_modules/lodash-es/_equalObjects.js","../node_modules/lodash-es/_DataView.js","../node_modules/lodash-es/_Promise.js","../node_modules/lodash-es/_Set.js","../node_modules/lodash-es/_WeakMap.js","../node_modules/lodash-es/_getTag.js","../node_modules/lodash-es/_baseIsEqualDeep.js","../node_modules/lodash-es/_baseIsEqual.js","../node_modules/lodash-es/isEqual.js","../node_modules/lodash-es/_baseHas.js","../node_modules/lodash-es/isSymbol.js","../node_modules/lodash-es/_isKey.js","../node_modules/lodash-es/memoize.js","../node_modules/lodash-es/_stringToPath.js","../node_modules/lodash-es/_memoizeCapped.js","../node_modules/lodash-es/_baseToString.js","../node_modules/lodash-es/_arrayMap.js","../node_modules/lodash-es/_castPath.js","../node_modules/lodash-es/toString.js","../node_modules/lodash-es/_toKey.js","../node_modules/lodash-es/has.js","../node_modules/lodash-es/_hasPath.js","../node_modules/lodash-es/get.js","../node_modules/lodash-es/_baseGet.js","../node_modules/lodash-es/set.js","../node_modules/lodash-es/_baseSet.js","../../src/options/OptionsPreProcessors.ts","../node_modules/core-js/internals/regexp-exec.js","../node_modules/lodash-es/isString.js","../../src/options/Options.ts","../node_modules/core-js/internals/regexp-flags.js","../node_modules/core-js/internals/regexp-sticky-helpers.js","../node_modules/core-js/internals/regexp-unsupported-dot-all.js","../node_modules/core-js/internals/regexp-unsupported-ncg.js","../node_modules/core-js/modules/es.regexp.exec.js","../node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","../node_modules/core-js/internals/advance-string-index.js","../node_modules/core-js/internals/get-substitution.js","../node_modules/core-js/internals/regexp-exec-abstract.js","../node_modules/core-js/modules/es.string.replace.js","../../src/DataFetcher.ts","../node_modules/core-js/modules/es.function.name.js","../node_modules/dayjs/dayjs.min.js","../node_modules/dayjs/plugin/weekOfYear.js","../node_modules/dayjs/plugin/dayOfYear.js","../node_modules/dayjs/plugin/weekday.js","../node_modules/dayjs/plugin/minMax.js","../node_modules/dayjs/plugin/isoWeeksInYear.js","../node_modules/dayjs/plugin/isoWeek.js","../node_modules/dayjs/plugin/isLeapYear.js","../node_modules/dayjs/plugin/advancedFormat.js","../node_modules/dayjs/plugin/utc.js","../node_modules/dayjs/plugin/timezone.js","../node_modules/dayjs/plugin/localeData.js","../node_modules/dayjs/plugin/localizedFormat.js","../node_modules/dayjs/plugin/updateLocale.js","../../src/helpers/DateHelper.ts","../node_modules/core-js/modules/es.string.includes.js","../../src/options/OptionsValidator.ts","../node_modules/core-js/modules/es.set.constructor.js","../../src/plugins/PluginManager.ts","../../src/templates/index.ts","../../src/templates/minute.ts","../../src/templates/hour.ts","../../src/templates/day.ts","../../src/templates/xDay.ts","../../src/templates/ghDay.ts","../../src/templates/week.ts","../../src/templates/month.ts","../../src/templates/year.ts","../../src/TemplateCollection.ts","../../src/CalHeatmap.ts","../../src/version.ts"],"sourcesContent":["'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.34.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.34.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","'use strict';\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nvar global = require('../internals/global');\nvar classof = require('../internals/classof-raw');\n\nmodule.exports = classof(global.process) === 'process';\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineBuiltInAccessor(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar Dispatch = global.Dispatch;\nvar Function = global.Function;\nvar MessageChannel = global.MessageChannel;\nvar String = global.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar $location, defer, channel, port;\n\nfails(function () {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n $location = global.location;\n});\n\nvar run = function (id) {\n if (hasOwn(queue, id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar eventListener = function (event) {\n run(event.data);\n};\n\nvar globalPostMessageDefer = function (id) {\n // old engines have not location.origin\n global.postMessage(String(id), $location.protocol + '//' + $location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = eventListener;\n defer = bind(port.postMessage, port);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n isCallable(global.postMessage) &&\n !global.importScripts &&\n $location && $location.protocol !== 'file:' &&\n !fails(globalPostMessageDefer)\n ) {\n defer = globalPostMessageDefer;\n global.addEventListener('message', eventListener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","'use strict';\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw new $TypeError('Not enough arguments');\n return passed;\n};\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\n// eslint-disable-next-line redos/no-vulnerable -- safe\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","'use strict';\nvar Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n var tail = this.tail;\n if (tail) tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n var next = this.head = entry.next;\n if (next === null) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","'use strict';\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar Queue = require('../internals/queue');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/engine-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar microtask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\nvar notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!microtask) {\n var queue = new Queue();\n\n var flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (fn = queue.get()) try {\n fn();\n } catch (error) {\n if (queue.head) notify();\n throw error;\n }\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = bind(promise.then, promise);\n notify = function () {\n then(flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessage\n // - onreadystatechange\n // - setTimeout\n } else {\n // `webpack` dev server bug on IE global methods - use bind(fn, global)\n macrotask = bind(macrotask, global);\n notify = function () {\n macrotask(flush);\n };\n }\n\n microtask = function (fn) {\n if (!queue.head) notify();\n queue.add(fn);\n };\n}\n\nmodule.exports = microtask;\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined';\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict';\nvar global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","'use strict';\n/* global Deno -- Deno case */\nmodule.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object';\n","'use strict';\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nmodule.exports = !IS_DENO && !IS_NODE\n && typeof window == 'object'\n && typeof document == 'object';\n","'use strict';\nvar global = require('../internals/global');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {\n // Detect correctness of subclassing with @@species support\n var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n } return !GLOBAL_CORE_JS_PROMISE && (IS_BROWSER || IS_DENO) && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n SUBCLASSING: SUBCLASSING\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/engine-is-node');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state === FULFILLED;\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(new TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n call(then, result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw new TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n call(then, value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalPromiseState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n\n PromisePrototype = PromiseConstructor.prototype;\n\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: new Queue(),\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state === PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n });\n\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalPromiseState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!NATIVE_PROMISE_SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromisePrototype);\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","'use strict';\nmodule.exports = function (a, b) {\n try {\n // eslint-disable-next-line no-console -- safe\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n } catch (error) { /* empty */ }\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n try {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n } catch (error) { return false; } // workaround of old WebKit + `eval` bug\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","'use strict';\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call($promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['catch'];\n if (NativePromisePrototype['catch'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n reject: function reject(r) {\n var capability = newPromiseCapabilityModule.f(this);\n call(capability.reject, undefined, r);\n return capability.promise;\n }\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] === undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND];\n\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n }\n\n return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\n// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n return { value: value, done: done };\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return createIterResultObject(undefined, true);\n }\n switch (state.kind) {\n case 'keys': return createIterResultObject(index, false);\n case 'values': return createIterResultObject(target[index], false);\n } return createIterResultObject([index, target[index]], false);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.allSettled` method\n// https://tc39.es/ecma262/#sec-promise.allsettled\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n allSettled: function allSettled(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call(promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'fulfilled', value: value };\n --remaining || resolve(values);\n }, function (error) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'rejected', reason: error };\n --remaining || resolve(values);\n });\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return createIterResultObject(undefined, true);\n point = charAt(string, index);\n state.index += point.length;\n return createIterResultObject(point, false);\n});\n","'use strict';\n// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","'use strict';\n// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","'use strict';\nvar global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nvar handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n setToStringTag(CollectionPrototype, COLLECTION_NAME, true);\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype, COLLECTION_NAME);\n}\n\nhandlePrototype(DOMTokenListPrototype, 'DOMTokenList');\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = lengthOfArrayLike(O);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar fill = require('../internals/array-fill');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.fill` method\n// https://tc39.es/ecma262/#sec-array.prototype.fill\n$({ target: 'Array', proto: true }, {\n fill: fill\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('fill');\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar nativeSlice = require('../internals/array-slice');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (isConstructor(Constructor) && (Constructor === $Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === $Array || Constructor === undefined) {\n return nativeSlice(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? $Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport default {\r\n __extends,\r\n __assign,\r\n __rest,\r\n __decorate,\r\n __param,\r\n __metadata,\r\n __awaiter,\r\n __generator,\r\n __createBinding,\r\n __exportStar,\r\n __values,\r\n __read,\r\n __spread,\r\n __spreadArrays,\r\n __spreadArray,\r\n __await,\r\n __asyncGenerator,\r\n __asyncDelegator,\r\n __asyncValues,\r\n __makeTemplateObject,\r\n __importStar,\r\n __importDefault,\r\n __classPrivateFieldGet,\r\n __classPrivateFieldSet,\r\n __classPrivateFieldIn,\r\n};\r\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nexport default isArray;\n","import isArray from './isArray.js';\n\n/**\n * Casts `value` as an array if it's not one.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Lang\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast array.\n * @example\n *\n * _.castArray(1);\n * // => [1]\n *\n * _.castArray({ 'a': 1 });\n * // => [{ 'a': 1 }]\n *\n * _.castArray('abc');\n * // => ['abc']\n *\n * _.castArray(null);\n * // => [null]\n *\n * _.castArray(undefined);\n * // => [undefined]\n *\n * _.castArray();\n * // => []\n *\n * var array = [1, 2, 3];\n * console.log(_.castArray(array) === array);\n * // => true\n */\nfunction castArray() {\n if (!arguments.length) {\n return [];\n }\n var value = arguments[0];\n return isArray(value) ? value : [value];\n}\n\nexport default castArray;\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? $Array : C;\n};\n","'use strict';\nvar arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE === 1;\n var IS_FILTER = TYPE === 2;\n var IS_SOME = TYPE === 3;\n var IS_EVERY = TYPE === 4;\n var IS_FIND_INDEX = TYPE === 6;\n var IS_FILTER_REJECT = TYPE === 7;\n var NO_HOLES = TYPE === 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(self);\n var boundFunction = bind(callbackfn, that);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol('assign detection');\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\nvar $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar $Array = Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = $Array(max(fin - k, 0));\n var n = 0;\n for (; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","'use strict';\n/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) === 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","'use strict';\n// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it\nvar fails = require('../internals/fails');\n\nmodule.exports = fails(function () {\n if (typeof ArrayBuffer == 'function') {\n var buffer = new ArrayBuffer(8);\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe\n if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });\n }\n});\n","'use strict';\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external');\nvar isExtensible = require('../internals/object-is-extensible');\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar REQUIRED = false;\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + id++, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar enable = function () {\n meta.enable = function () { /* empty */ };\n REQUIRED = true;\n var getOwnPropertyNames = getOwnPropertyNamesModule.f;\n var splice = uncurryThis([].splice);\n var test = {};\n test[METADATA] = 1;\n\n // prevent exposing of metadata key\n if (getOwnPropertyNames(test).length) {\n getOwnPropertyNamesModule.f = function (it) {\n var result = getOwnPropertyNames(it);\n for (var i = 0, length = result.length; i < length; i++) {\n if (result[i] === METADATA) {\n splice(result, i, 1);\n break;\n }\n } return result;\n };\n\n $({ target: 'Object', stat: true, forced: true }, {\n getOwnPropertyNames: getOwnPropertyNamesExternalModule.f\n });\n }\n};\n\nvar meta = module.exports = {\n enable: enable,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n defineBuiltIn(NativePrototype, KEY,\n KEY === 'add' ? function add(value) {\n uncurriedNativeMethod(this, value === 0 ? 0 : value);\n return this;\n } : KEY === 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY === 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY === 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.enable();\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) !== instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, NativePrototype);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, constructor: true, forced: Constructor !== NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) defineBuiltIn(target, key, src[key], options);\n return target;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar getWeakData = require('../internals/internal-metadata').getWeakData;\nvar anInstance = require('../internals/an-instance');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isObject = require('../internals/is-object');\nvar iterate = require('../internals/iterate');\nvar ArrayIterationModule = require('../internals/array-iteration');\nvar hasOwn = require('../internals/has-own-property');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar splice = uncurryThis([].splice);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (state) {\n return state.frozen || (state.frozen = new UncaughtFrozenStore());\n};\n\nvar UncaughtFrozenStore = function () {\n this.entries = [];\n};\n\nvar findUncaughtFrozen = function (store, key) {\n return find(store.entries, function (it) {\n return it[0] === key;\n });\n};\n\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.entries.push([key, value]);\n },\n 'delete': function (key) {\n var index = findIndex(this.entries, function (it) {\n return it[0] === key;\n });\n if (~index) splice(this.entries, index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n id: id++,\n frozen: undefined\n });\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var data = getWeakData(anObject(key), true);\n if (data === true) uncaughtFrozenStore(state).set(key, value);\n else data[state.id] = value;\n return that;\n };\n\n defineBuiltIns(Prototype, {\n // `{ WeakMap, WeakSet }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-weakmap.prototype.delete\n // https://tc39.es/ecma262/#sec-weakset.prototype.delete\n 'delete': function (key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state)['delete'](key);\n return data && hasOwn(data, state.id) && delete data[state.id];\n },\n // `{ WeakMap, WeakSet }.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-weakmap.prototype.has\n // https://tc39.es/ecma262/#sec-weakset.prototype.has\n has: function has(key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).has(key);\n return data && hasOwn(data, state.id);\n }\n });\n\n defineBuiltIns(Prototype, IS_MAP ? {\n // `WeakMap.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-weakmap.prototype.get\n get: function get(key) {\n var state = getInternalState(this);\n if (isObject(key)) {\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).get(key);\n return data ? data[state.id] : undefined;\n }\n },\n // `WeakMap.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-weakmap.prototype.set\n set: function set(key, value) {\n return define(this, key, value);\n }\n } : {\n // `WeakSet.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-weakset.prototype.add\n add: function add(value) {\n return define(this, value, true);\n }\n });\n\n return Constructor;\n }\n};\n","export enum ScrollDirection {\n SCROLL_NONE,\n SCROLL_BACKWARD,\n SCROLL_FORWARD,\n}\n\nexport enum Position {\n TOP,\n RIGHT,\n BOTTOM,\n LEFT,\n}\n\nexport const OPTIONS_DEFAULT_DOMAIN_TYPE = 'hour';\n\nexport const OPTIONS_DEFAULT_SUBDOMAIN_TYPE = 'minute';\nexport const OPTIONS_DEFAULT_SUBDOMAIN_WIDTH = 10;\nexport const OPTIONS_DEFAULT_SUBDOMAIN_HEIGHT = 10;\nexport const OPTIONS_DEFAULT_SUBDOMAIN_GUTTER = 2;\nexport const OPTIONS_DEFAULT_SUBDOMAIN_RADIUS = 0;\nexport const OPTIONS_DEFAULT_ANIMATION_DURATION = 200;\nexport const OPTIONS_DEFAULT_RANGE = 12;\nexport const OPTIONS_DEFAULT_ITEM_SELECTOR = '#cal-heatmap';\nexport const OPTIONS_DEFAULT_THEME = 'light';\nexport const OPTIONS_DEFAULT_LOCALE = 'en';\n\nexport const SCALE_BASE_OPACITY_COLOR = 'red';\nexport const SCALE_BASE_COLOR_SCHEME = 'YlOrBr';\nexport const SCALE_BASE_COLOR_TYPE = 'quantize';\nexport const SCALE_BASE_COLOR_DOMAIN = [0, 100];\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\n\n// `WeakSet` constructor\n// https://tc39.es/ecma262/#sec-weakset-constructor\ncollection('WeakSet', function (init) {\n return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionWeak);\n","import { ScrollDirection } from '../constant';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport type DomainCollection from './DomainCollection';\nimport type { Timestamp } from '../index';\n\nexport default class Navigator {\n calendar: CalHeatmap;\n\n minDomainReached: boolean;\n\n maxDomainReached: boolean;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n this.maxDomainReached = false;\n this.minDomainReached = false;\n }\n\n loadNewDomains(\n newDomainCollection: DomainCollection,\n direction: ScrollDirection = ScrollDirection.SCROLL_NONE,\n ): ScrollDirection {\n const { options } = this.calendar.options;\n const templatesClt = this.calendar.templateCollection;\n const minDate = options.date.min ?\n templatesClt.get(options.domain.type)!.extractUnit(+options.date.min) :\n undefined;\n const maxDate = options.date.max ?\n templatesClt.get(options.domain.type)!.extractUnit(+options.date.max) :\n undefined;\n const { domainCollection } = this.calendar;\n\n if (\n this.#isDomainBoundaryReached(\n newDomainCollection,\n minDate,\n maxDate,\n direction,\n )\n ) {\n return ScrollDirection.SCROLL_NONE;\n }\n\n if (direction !== ScrollDirection.SCROLL_NONE) {\n newDomainCollection\n .clamp(minDate, maxDate)\n .slice(options.range, direction === ScrollDirection.SCROLL_FORWARD);\n }\n\n domainCollection.merge(\n newDomainCollection,\n options.range,\n (domainKey: Timestamp, index: number) => {\n let subDomainEndDate = null;\n if (newDomainCollection.at(index + 1)) {\n subDomainEndDate = newDomainCollection.at(index + 1);\n } else {\n subDomainEndDate = this.calendar.dateHelper\n .intervals(options.domain.type, domainKey, 2)\n .pop();\n }\n return templatesClt\n .get(options.subDomain.type)!\n .mapping(domainKey, subDomainEndDate!)\n .map((d) => ({ ...d, v: options.data.defaultValue }));\n },\n );\n\n this.#setDomainsBoundaryReached(\n domainCollection.min,\n domainCollection.max,\n minDate,\n maxDate,\n );\n\n if (direction === ScrollDirection.SCROLL_BACKWARD) {\n this.calendar.eventEmitter.emit('domainsLoaded', [domainCollection.min]);\n } else if (direction === ScrollDirection.SCROLL_FORWARD) {\n this.calendar.eventEmitter.emit('domainsLoaded', [domainCollection.max]);\n }\n\n return direction;\n }\n\n jumpTo(date: Date, reset: boolean): ScrollDirection {\n const { domainCollection, options } = this.calendar;\n const minDate = new Date(domainCollection.min!);\n const maxDate = new Date(domainCollection.max!);\n\n if (date < minDate) {\n return this.loadNewDomains(\n this.calendar.createDomainCollection(date, minDate, false),\n ScrollDirection.SCROLL_BACKWARD,\n );\n }\n if (reset) {\n return this.loadNewDomains(\n this.calendar.createDomainCollection(date, options.options.range),\n minDate < date ?\n ScrollDirection.SCROLL_FORWARD :\n ScrollDirection.SCROLL_BACKWARD,\n );\n }\n\n if (date > maxDate) {\n return this.loadNewDomains(\n this.calendar.createDomainCollection(maxDate, date, false),\n ScrollDirection.SCROLL_FORWARD,\n );\n }\n\n return ScrollDirection.SCROLL_NONE;\n }\n\n #isDomainBoundaryReached(\n newDomainCollection: DomainCollection,\n minDate?: Timestamp,\n maxDate?: Timestamp,\n direction?: ScrollDirection,\n ): boolean {\n if (\n maxDate &&\n newDomainCollection.max! >= maxDate &&\n this.maxDomainReached &&\n direction === ScrollDirection.SCROLL_FORWARD\n ) {\n return true;\n }\n\n if (\n minDate &&\n newDomainCollection.min! <= minDate &&\n this.minDomainReached &&\n direction === ScrollDirection.SCROLL_BACKWARD\n ) {\n return true;\n }\n\n return false;\n }\n\n #setDomainsBoundaryReached(\n lowerBound: Timestamp,\n upperBound: Timestamp,\n min?: Timestamp,\n max?: Timestamp,\n ): void {\n if (min) {\n const reached = lowerBound <= min;\n this.calendar.eventEmitter.emit(\n reached ? 'minDateReached' : 'minDateNotReached',\n );\n this.minDomainReached = reached;\n }\n if (max) {\n const reached = upperBound >= max;\n this.calendar.eventEmitter.emit(\n reached ? 'maxDateReached' : 'maxDateNotReached',\n );\n this.maxDomainReached = reached;\n }\n }\n}\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !arrayMethodHasSpeciesSupport('concat');\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = lengthOfArrayLike(E);\n doesNotExceedSafeInteger(n + len);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n doesNotExceedSafeInteger(n + 1);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call -- required for testing\n method.call(null, argument || function () { return 1; }, 1);\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = uncurryThis([].join);\n\nvar ES3_STRINGS = IndexedObject !== Object;\nvar FORCED = ES3_STRINGS || !arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: FORCED }, {\n join: function join(separator) {\n return nativeJoin(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar create = require('../internals/object-create');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key === key) return entry;\n }\n };\n\n defineBuiltIns(Prototype, {\n // `{ Map, Set }.prototype.clear()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.clear\n // https://tc39.es/ecma262/#sec-set.prototype.clear\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // `{ Map, Set }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.delete\n // https://tc39.es/ecma262/#sec-set.prototype.delete\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first === entry) state.first = next;\n if (state.last === entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.foreach\n // https://tc39.es/ecma262/#sec-set.prototype.foreach\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // `{ Map, Set}.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.has\n // https://tc39.es/ecma262/#sec-set.prototype.has\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n defineBuiltIns(Prototype, IS_MAP ? {\n // `Map.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-map.prototype.get\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // `Map.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-map.prototype.set\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // `Set.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-set.prototype.add\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineBuiltInAccessor(Prototype, 'size', {\n configurable: true,\n get: function () {\n return getInternalState(this).size;\n }\n });\n return Constructor;\n },\n setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.entries\n // https://tc39.es/ecma262/#sec-map.prototype.keys\n // https://tc39.es/ecma262/#sec-map.prototype.values\n // https://tc39.es/ecma262/#sec-map.prototype-@@iterator\n // https://tc39.es/ecma262/#sec-set.prototype.entries\n // https://tc39.es/ecma262/#sec-set.prototype.keys\n // https://tc39.es/ecma262/#sec-set.prototype.values\n // https://tc39.es/ecma262/#sec-set.prototype-@@iterator\n defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return createIterResultObject(undefined, true);\n }\n // return step by kind\n if (kind === 'keys') return createIterResultObject(entry.key, false);\n if (kind === 'values') return createIterResultObject(entry.value, false);\n return createIterResultObject([entry.key, entry.value], false);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // `{ Map, Set }.prototype[@@species]` accessors\n // https://tc39.es/ecma262/#sec-get-map-@@species\n // https://tc39.es/ecma262/#sec-get-set-@@species\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\ncollection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (O, P) {\n if (!delete O[P]) throw new $TypeError('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O));\n};\n","'use strict';\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar floor = Math.floor;\n\nvar mergeSort = function (array, comparefn) {\n var length = array.length;\n var middle = floor(length / 2);\n return length < 8 ? insertionSort(array, comparefn) : merge(\n array,\n mergeSort(arraySlice(array, 0, middle), comparefn),\n mergeSort(arraySlice(array, middle), comparefn),\n comparefn\n );\n};\n\nvar insertionSort = function (array, comparefn) {\n var length = array.length;\n var i = 1;\n var element, j;\n\n while (i < length) {\n j = i;\n element = array[i];\n while (j && comparefn(array[j - 1], element) > 0) {\n array[j] = array[--j];\n }\n if (j !== i++) array[j] = element;\n } return array;\n};\n\nvar merge = function (array, left, right, comparefn) {\n var llength = left.length;\n var rlength = right.length;\n var lindex = 0;\n var rindex = 0;\n\n while (lindex < llength || rindex < rlength) {\n array[lindex + rindex] = (lindex < llength && rindex < rlength)\n ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]\n : lindex < llength ? left[lindex++] : right[rindex++];\n } return array;\n};\n\nmodule.exports = mergeSort;\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","'use strict';\nvar UA = require('../internals/engine-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar test = [];\nvar nativeSort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? nativeSort(array) : nativeSort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = lengthOfArrayLike(items);\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) deletePropertyOrThrow(array, index++);\n\n return array;\n }\n});\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","'use strict';\nvar global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar handlePrototype = function (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n if (DOMIterables[COLLECTION_NAME]) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype);\n }\n}\n\nhandlePrototype(DOMTokenListPrototype);\n","import { Position } from '../constant';\nimport type { Padding } from '../options/Options';\n\nexport function isHorizontal(position: string): boolean {\n return position === 'left' || position === 'right';\n}\n\nexport function isVertical(position: string): boolean {\n return position === 'top' || position === 'bottom';\n}\n\nexport function horizontalPadding(padding: Padding): number {\n return padding[Position.LEFT] + padding[Position.RIGHT];\n}\n\nexport function verticalPadding(padding: Padding): number {\n return padding[Position.TOP] + padding[Position.BOTTOM];\n}\n","import { ScrollDirection } from '../constant';\nimport { horizontalPadding, verticalPadding } from '../helpers/PositionHelper';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport type DomainPainter from './DomainPainter';\nimport type DomainCollection from '../calendar/DomainCollection';\nimport type { SubDomain, Dimensions, Timestamp } from '../index';\n\ntype SubDomainWithCoordinates = Required & {\n pre_x: number;\n pre_y: number;\n width: number;\n height: number;\n inner_width: number;\n inner_height: number;\n};\n\nexport default class DomainCoordinates {\n calendar: CalHeatmap;\n\n domainPainter: DomainPainter;\n\n collection: Map;\n\n scrollDirection: ScrollDirection;\n\n constructor(calendar: CalHeatmap, domainPainter: DomainPainter) {\n this.calendar = calendar;\n this.domainPainter = domainPainter;\n this.collection = new Map();\n this.scrollDirection = ScrollDirection.SCROLL_FORWARD;\n }\n\n get(domainKey: Timestamp): SubDomainWithCoordinates | undefined {\n return this.collection.get(domainKey);\n }\n\n update(collection: DomainCollection, scrollDirection: ScrollDirection) {\n const { verticalOrientation, domain } = this.calendar.options.options;\n\n this.scrollDirection = scrollDirection;\n const dimensions: Dimensions = {\n width: 0,\n height: 0,\n };\n let exitingTotal = 0;\n let scrollFactor =\n scrollDirection === ScrollDirection.SCROLL_FORWARD ? -1 : 1;\n const { keys } = collection;\n if (this.calendar.options.options.domain.sort === 'desc') {\n keys.reverse();\n scrollFactor *= -1;\n }\n\n collection.yankedDomains.forEach((domainKey: Timestamp) => {\n exitingTotal +=\n this.collection.get(domainKey)![\n verticalOrientation ? 'height' : 'width'\n ];\n });\n collection.yankedDomains.forEach((domainKey: Timestamp) => {\n const coor = this.collection.get(domainKey)!;\n this.collection.set(domainKey, {\n ...coor,\n x: verticalOrientation ? coor.x : coor.x + exitingTotal * scrollFactor,\n y: verticalOrientation ? coor.y + exitingTotal * scrollFactor : coor.y,\n });\n });\n\n keys.forEach((domainKey: Timestamp) => {\n const w = this.#getWidth(domainKey);\n const h = this.#getHeight(domainKey);\n if (verticalOrientation) {\n dimensions.height += h;\n dimensions.width = Math.max(w, dimensions.width);\n } else {\n dimensions.width += w;\n dimensions.height = Math.max(h, dimensions.height);\n }\n\n const x = dimensions.width - w;\n const y = dimensions.height - h;\n\n this.collection.set(domainKey, {\n ...this.collection.get(domainKey)!,\n x: verticalOrientation ? 0 : x,\n y: verticalOrientation ? y : 0,\n pre_x: verticalOrientation ? x : x - exitingTotal * scrollFactor,\n pre_y: verticalOrientation ? y - exitingTotal * scrollFactor : y,\n width: w,\n height: h,\n inner_width: w - (verticalOrientation ? 0 : domain.gutter),\n inner_height: h - (!verticalOrientation ? 0 : domain.gutter),\n });\n });\n\n return dimensions;\n }\n\n /**\n * Return the full width of the domain block\n * @param {number} d Domain start timestamp\n * @return {number} The full width of the domain,\n * including all padding and gutter\n * Used to compute the x position of the domains on the x axis\n */\n #getWidth(d: Timestamp): number {\n const {\n domain, subDomain, x, verticalOrientation,\n } =\n this.calendar.options.options;\n const columnsCount = this.calendar.templateCollection\n .get(subDomain.type)!\n .columnsCount(d);\n\n const subDomainWidth =\n (subDomain.width + subDomain.gutter) * columnsCount - subDomain.gutter;\n\n return (\n horizontalPadding(domain.padding) +\n x.domainHorizontalLabelWidth +\n (verticalOrientation ? 0 : domain.gutter) +\n subDomainWidth\n );\n }\n\n /**\n * Return the full height of the domain block\n * @param {number} d Domain start timestamp\n * @return {number} The full height of the domain,\n * including all paddings and gutter.\n * Used to compute the y position of the domains on the y axis\n */\n #getHeight(d: Timestamp): number {\n const {\n domain, subDomain, x, verticalOrientation,\n } =\n this.calendar.options.options;\n const rowsCount = this.calendar.templateCollection\n .get(subDomain.type)!\n .rowsCount(d);\n\n const subDomainHeight =\n (subDomain.height + subDomain.gutter) * rowsCount - subDomain.gutter;\n\n return (\n verticalPadding(domain.padding) +\n subDomainHeight +\n (verticalOrientation ? domain.gutter : 0) +\n x.domainVerticalLabelHeight\n );\n }\n}\n","import DomainCoordinates from './DomainCoordinates';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport type { ScrollDirection } from '../constant';\nimport type { Dimensions, Timestamp } from '../index';\n\nconst DEFAULT_SELECTOR = '.ch-domain';\n\nexport default class DomainPainter {\n calendar: CalHeatmap;\n\n coordinates: DomainCoordinates;\n\n root: any;\n\n dimensions: Dimensions;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n this.coordinates = new DomainCoordinates(calendar, this);\n this.root = null;\n\n // Dimensions of the internal area containing all the domains\n // Excluding all surrounding margins\n this.dimensions = {\n width: 0,\n height: 0,\n };\n }\n\n paint(scrollDirection: ScrollDirection, rootNode: any): Promise[] {\n const { animationDuration } = this.calendar.options.options;\n const t = rootNode.transition().duration(animationDuration);\n const coor = this.coordinates;\n\n this.dimensions = coor.update(\n this.calendar.domainCollection,\n scrollDirection,\n );\n\n const promises: Promise[] = [];\n\n this.root = rootNode\n .selectAll(DEFAULT_SELECTOR)\n .data(this.calendar.domainCollection.keys, (d: Timestamp) => d)\n .join(\n (enter: any) => enter\n .append('svg')\n .attr('x', (d: Timestamp) => coor.get(d)!.pre_x)\n .attr('y', (d: Timestamp) => coor.get(d)!.pre_y)\n .attr('width', (d: Timestamp) => coor.get(d)!.inner_width)\n .attr('height', (d: Timestamp) => coor.get(d)!.inner_height)\n .attr('class', (d: Timestamp) => this.#getClassName(d))\n .call((enterSelection: any) => enterSelection\n .append('rect')\n .attr('width', (d: Timestamp) => coor.get(d)!.inner_width)\n .attr('height', (d: Timestamp) => coor.get(d)!.inner_height)\n .attr('class', `${DEFAULT_SELECTOR.slice(1)}-bg`))\n .call((enterSelection: any) => promises.push(\n enterSelection\n .transition(t)\n .attr('x', (d: Timestamp) => coor.get(d)!.x)\n .attr('y', (d: Timestamp) => coor.get(d)!.y)\n .end(),\n )),\n (update: any) => update\n .call((updateSelection: any) => promises.push(\n updateSelection\n .transition(t)\n .attr('x', (d: Timestamp) => coor.get(d)!.x)\n .attr('y', (d: Timestamp) => coor.get(d)!.y)\n .attr('width', (d: Timestamp) => coor.get(d)!.inner_width)\n .attr('height', (d: Timestamp) => coor.get(d)!.inner_height)\n .end(),\n ))\n .call((updateSelection: any) => promises.push(\n updateSelection\n .selectAll(`${DEFAULT_SELECTOR}-bg`)\n .transition(t)\n .attr('width', (d: Timestamp) => coor.get(d)!.inner_width)\n .attr('height', (d: Timestamp) => coor.get(d)!.inner_height)\n .end(),\n )),\n (exit: any) => exit.call((exitSelection: any) => promises.push(\n exitSelection\n .transition(t)\n .attr('x', (d: Timestamp) => coor.get(d)!.x)\n .attr('y', (d: Timestamp) => coor.get(d)!.y)\n .remove()\n .end(),\n )),\n );\n\n return promises;\n }\n\n #getClassName(d: Timestamp): string {\n let classname = DEFAULT_SELECTOR.slice(1);\n const helper = this.calendar.dateHelper.date(d);\n\n switch (this.calendar.options.options.domain.type) {\n case 'hour':\n classname += ` h_${helper.hour()}`;\n break;\n case 'day':\n classname += ` d_${helper.date()} dy_${helper.format('d') + 1}`;\n break;\n case 'week':\n classname += ` w_${helper.week()}`;\n break;\n case 'month':\n classname += ` m_${helper.month() + 1}`;\n break;\n case 'year':\n classname += ` y_${helper.year()}`;\n break;\n default:\n }\n return classname;\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar fails = require('../internals/fails');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// FF99+ bug\nvar BROKEN_ON_SPARSE = fails(function () {\n // eslint-disable-next-line es/no-array-prototype-includes -- detection\n return !Array(1).includes();\n});\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isConstructor = require('../internals/is-constructor');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $Array = Array;\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var IS_CONSTRUCTOR = isConstructor(this);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n result = IS_CONSTRUCTOR ? new this() : [];\n for (;!(step = call(next, iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = lengthOfArrayLike(O);\n result = IS_CONSTRUCTOR ? new this(length) : $Array(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n // eslint-disable-next-line es/no-array-from -- required for testing\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.es/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","import castArray from 'lodash-es/castArray';\n\nimport type { SubDomain } from '../index';\nimport type {\n DataOptions,\n DataGroupType,\n DataRecord,\n} from '../options/Options';\nimport { DomainType, Timestamp } from '../index';\nimport type DateHelper from '../helpers/DateHelper';\n\nexport const DOMAIN_FORMAT: Record = {\n year: 'YYYY',\n month: 'MMMM',\n week: 'wo [week] YYYY',\n xDay: 'Do MMM',\n ghDay: 'Do MMM',\n day: 'Do MMM',\n hour: 'HH:00',\n minute: 'HH:mm',\n};\n\ntype GroupedRecords = Map;\ntype ValueType = string | number | null;\n\nexport default class DomainCollection {\n collection: Map;\n\n dateHelper: DateHelper;\n\n min: Timestamp;\n\n max: Timestamp;\n\n keys: Timestamp[];\n\n yankedDomains: Timestamp[];\n\n constructor(\n dateHelper: DateHelper,\n interval?: DomainType,\n start?: Date | Timestamp,\n range?: Date | Timestamp,\n excludeEnd: boolean = false,\n ) {\n this.collection = new Map();\n this.dateHelper = dateHelper;\n\n if (interval && start && range) {\n const ts = this.dateHelper\n .intervals(interval, start, range, excludeEnd)\n .map((d: Timestamp) => castArray(d));\n\n // @ts-ignore\n this.collection = new Map(ts);\n }\n\n this.min = 0;\n this.max = 0;\n this.keys = [];\n this.yankedDomains = [];\n\n if (this.collection.size > 0) {\n this.#refreshKeys();\n }\n }\n\n has(key: Timestamp): boolean {\n return this.collection.has(key);\n }\n\n get(key: Timestamp) {\n return this.collection.get(key);\n }\n\n forEach(callback: any) {\n return this.collection.forEach(callback);\n }\n\n at(index: number): Timestamp {\n return this.keys[index];\n }\n\n clamp(minDate?: Timestamp, maxDate?: Timestamp): DomainCollection {\n if (minDate && this.min! < minDate) {\n this.keys\n .filter((key) => key < minDate)\n .forEach((d) => this.collection.delete(d));\n }\n\n if (maxDate && this.max! > maxDate) {\n this.keys\n .filter((key) => key > maxDate)\n .forEach((d) => this.collection.delete(d));\n }\n\n this.#refreshKeys();\n\n return this;\n }\n\n merge(\n newCollection: DomainCollection,\n limit: number,\n createValueCallback: Function,\n ): void {\n this.yankedDomains = [];\n\n newCollection.keys.forEach((domainKey, index) => {\n if (this.has(domainKey)) {\n return;\n }\n\n if (this.collection.size >= limit) {\n let keyToRemove = this.max;\n\n if (domainKey > this.max!) {\n keyToRemove = this.min;\n }\n\n if (keyToRemove && this.collection.delete(keyToRemove)) {\n this.yankedDomains.push(keyToRemove);\n }\n }\n this.collection.set(domainKey, createValueCallback(domainKey, index));\n this.#refreshKeys();\n });\n this.yankedDomains = this.yankedDomains.sort((a, b) => a - b);\n }\n\n slice(limit: number = 0, fromBeginning: boolean = true): DomainCollection {\n if (this.keys.length > limit) {\n const keysToDelete = fromBeginning ?\n this.keys.slice(0, -limit) :\n this.keys.slice(limit);\n\n keysToDelete.forEach((key) => {\n this.collection.delete(key);\n });\n\n this.#refreshKeys();\n }\n\n return this;\n }\n\n fill(\n data: DataRecord[],\n {\n x,\n y,\n groupY,\n defaultValue,\n }: {\n x: DataOptions['x'];\n y: DataOptions['y'];\n groupY: DataOptions['groupY'];\n defaultValue: DataOptions['defaultValue'];\n },\n subDomainKeyExtractor: Function,\n ): void {\n const groupedRecords: GroupedRecords = this.groupRecords(\n data,\n x,\n subDomainKeyExtractor,\n );\n\n this.keys.forEach((domainKey) => {\n const records = groupedRecords.get(domainKey) || {};\n this.#setSubDomainValues(domainKey, records, y, groupY, defaultValue);\n });\n }\n\n #setSubDomainValues(\n domainKey: Timestamp,\n records: { [key: string]: DataRecord[] },\n y: DataOptions['y'],\n groupY: DataOptions['groupY'],\n defaultValue: DataOptions['defaultValue'],\n ): void {\n this.get(domainKey)!.forEach((subDomain: SubDomain, index: number) => {\n let value: ValueType = defaultValue;\n if (records.hasOwnProperty(subDomain.t)) {\n value = this.groupValues(\n this.#extractValues(records[subDomain.t], y),\n groupY,\n );\n }\n\n this.get(domainKey)![index].v = value;\n });\n }\n\n groupRecords(\n data: DataRecord[],\n x: DataOptions['x'],\n subDomainKeyExtractor: Function,\n ): GroupedRecords {\n const results: GroupedRecords = new Map();\n const validSubDomainTimestamp: Map = new Map();\n this.keys.forEach((domainKey) => {\n this.get(domainKey)!.forEach((subDomain: SubDomain) => {\n validSubDomainTimestamp.set(subDomain.t, domainKey);\n });\n });\n\n data.forEach((d) => {\n const timestamp = this.extractTimestamp(d, x, subDomainKeyExtractor);\n\n if (validSubDomainTimestamp.has(timestamp)) {\n const domainKey = validSubDomainTimestamp.get(timestamp)!;\n const records = results.get(domainKey) || {};\n records[timestamp] ||= [];\n records[timestamp].push(d);\n\n results.set(domainKey, records);\n }\n });\n\n return results;\n }\n\n // eslint-disable-next-line class-methods-use-this\n #extractValues(data: DataRecord[], y: string | Function): ValueType[] {\n return data.map((d): ValueType => (typeof y === 'function' ? y(d) : d[y]));\n }\n\n // eslint-disable-next-line class-methods-use-this\n groupValues(\n values: ValueType[],\n groupFn: DataGroupType | ((values: ValueType[]) => ValueType),\n ): ValueType {\n const cleanedValues = values.filter((n) => n !== null);\n\n if (typeof groupFn === 'string') {\n if (cleanedValues.every((n) => typeof n === 'number')) {\n switch (groupFn) {\n case 'sum':\n return (cleanedValues as number[]).reduce((a, b) => a + b, 0);\n case 'count':\n return cleanedValues.length;\n case 'min':\n return Math.min(...(cleanedValues as number[])) || null;\n case 'max':\n return Math.max(...(cleanedValues as number[])) || null;\n case 'average':\n return cleanedValues.length > 0 ?\n (cleanedValues as number[]).reduce((a, b) => a + b, 0) /\n cleanedValues.length :\n null;\n default:\n return null;\n }\n }\n\n switch (groupFn) {\n case 'count':\n return cleanedValues.length;\n default:\n return null;\n }\n } else if (typeof groupFn === 'function') {\n return groupFn(cleanedValues);\n }\n\n return null;\n }\n\n // eslint-disable-next-line class-methods-use-this\n extractTimestamp(\n datum: DataRecord,\n x: string | Function,\n extractorFn: Function,\n ): Timestamp {\n let timestamp: string | Timestamp =\n typeof x === 'function' ? x(datum) : datum[x];\n\n if (typeof timestamp === 'string') {\n timestamp = +new Date(timestamp);\n }\n\n return extractorFn(timestamp);\n }\n\n #refreshKeys(): Timestamp[] {\n this.keys = Array.from(this.collection.keys())\n .map((d: any) => parseInt(d, 10))\n .sort((a, b) => a - b);\n\n const { keys } = this;\n // eslint-disable-next-line prefer-destructuring\n this.min = keys[0];\n this.max = keys[keys.length - 1];\n\n return this.keys;\n }\n}\n","import { Position } from '../constant';\nimport {\n isVertical,\n verticalPadding,\n horizontalPadding,\n} from '../helpers/PositionHelper';\nimport { DOMAIN_FORMAT } from '../calendar/DomainCollection';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport type { Timestamp } from '../index';\n\nconst DEFAULT_SELECTOR = '.ch-domain-text';\n\nexport default class DomainLabelPainter {\n calendar: CalHeatmap;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n }\n\n paint(root: any): void {\n const { label, type } = this.calendar.options.options.domain;\n const { dateHelper } = this.calendar;\n let format = label.text;\n if (format === null || format === '') {\n return;\n }\n\n if (typeof format === 'undefined') {\n format = DOMAIN_FORMAT[type];\n }\n\n root\n .selectAll(DEFAULT_SELECTOR)\n .data(\n (d: Timestamp) => [d],\n (d: Timestamp) => d,\n )\n .join(\n (enter: any) => enter\n .append('text')\n .attr('class', DEFAULT_SELECTOR.slice(1))\n .attr('x', (d: Timestamp) => this.#getX(d))\n .attr('y', (d: Timestamp) => this.#getY(d))\n .attr('text-anchor', label.textAlign)\n .attr('dominant-baseline', () => this.#textVerticalAlign())\n .text((d: Timestamp, i: number, nodes: any[]) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n dateHelper.format(d, format!, nodes[i]))\n .call((selection: any) => this.#domainRotate(selection)),\n (update: any) => {\n update\n .attr('x', (d: Timestamp) => this.#getX(d))\n .attr('y', (d: Timestamp) => this.#getY(d))\n .attr('text-anchor', label.textAlign)\n .attr('dominant-baseline', () => this.#textVerticalAlign())\n .text((d: Timestamp, i: number, nodes: any[]) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n dateHelper.format(d, format!, nodes[i]))\n .call((selection: any) => this.#domainRotate(selection));\n },\n );\n }\n\n #textVerticalAlign(): string {\n const { position, rotate } = this.calendar.options.options.domain.label;\n\n if (isVertical(position)) {\n return 'middle';\n }\n\n if (\n (rotate === 'left' && position === 'left') ||\n (rotate === 'right' && position === 'right')\n ) {\n return 'bottom';\n }\n\n return 'hanging';\n }\n\n #getX(d: Timestamp): number {\n const {\n padding,\n label: { position, textAlign, offset },\n } = this.calendar.options.options.domain;\n const { domainHorizontalLabelWidth } = this.calendar.options.options.x;\n\n let x = padding[Position.LEFT];\n\n if (position === 'right') {\n x += this.#getDomainInsideWidth(d);\n }\n\n if (textAlign === 'middle') {\n if (['top', 'bottom'].includes(position)) {\n x += this.#getDomainInsideWidth(d) / 2;\n } else {\n x += domainHorizontalLabelWidth / 2;\n }\n }\n\n if (textAlign === 'end') {\n if (isVertical(position)) {\n x += this.#getDomainInsideWidth(d);\n } else {\n x += domainHorizontalLabelWidth;\n }\n }\n\n return x + offset.x;\n }\n\n #getY(d: Timestamp): number {\n const {\n domain: {\n label: { position, offset },\n padding,\n },\n x,\n } = this.calendar.options.options;\n\n let y = padding[Position.TOP] + x.domainVerticalLabelHeight / 2;\n\n if (position === 'bottom') {\n y += this.#getDomainInsideHeight(d);\n }\n\n return y + offset.y;\n }\n\n #getDomainInsideWidth(d: Timestamp): number {\n const {\n domain: { padding },\n x: { domainHorizontalLabelWidth },\n } = this.calendar.options.options;\n const { coordinates } =\n this.calendar.calendarPainter.domainsContainerPainter.domainPainter;\n\n return (\n coordinates.get(d)!.inner_width -\n domainHorizontalLabelWidth -\n horizontalPadding(padding)\n );\n }\n\n #getDomainInsideHeight(d: Timestamp): number {\n const {\n x: { domainVerticalLabelHeight },\n domain: { padding },\n } = this.calendar.options.options;\n const { coordinates } =\n this.calendar.calendarPainter.domainsContainerPainter.domainPainter;\n\n return (\n coordinates.get(d)!.inner_height -\n domainVerticalLabelHeight -\n verticalPadding(padding)\n );\n }\n\n #domainRotate(selection: any) {\n const {\n domain: {\n label: { rotate, textAlign, position },\n },\n x,\n } = this.calendar.options.options;\n const labelWidth = x.domainHorizontalLabelWidth;\n\n switch (rotate) {\n // Rotating the text clockwise\n case 'right':\n selection.attr('transform', (d: Timestamp) => {\n const domainWidth = this.#getDomainInsideWidth(d);\n const domainHeight = this.#getDomainInsideHeight(d);\n const s = [\n `rotate(90, ${position === 'right' ? domainWidth : labelWidth}, 0)`,\n ];\n\n switch (position) {\n case 'right':\n if (textAlign === 'middle') {\n s.push(`translate(${domainHeight / 2 - labelWidth / 2})`);\n } else if (textAlign === 'end') {\n s.push(`translate(${domainHeight - labelWidth})`);\n }\n break;\n case 'left':\n if (textAlign === 'start') {\n s.push(`translate(${labelWidth})`);\n } else if (textAlign === 'middle') {\n s.push(`translate(${labelWidth / 2 + domainHeight / 2})`);\n } else if (textAlign === 'end') {\n s.push(`translate(${domainHeight})`);\n }\n break;\n default:\n }\n\n return s.join(',');\n });\n break;\n // Rotating the text anticlockwise\n case 'left':\n selection.attr('transform', (d: Timestamp) => {\n const domainWidth = this.#getDomainInsideWidth(d);\n const domainHeight = this.#getDomainInsideHeight(d);\n const s = [\n `rotate(270, ${\n position === 'right' ? domainWidth : labelWidth\n }, 0)`,\n ];\n\n switch (position) {\n case 'right':\n if (textAlign === 'start') {\n s.push(`translate(-${domainHeight})`);\n } else if (textAlign === 'middle') {\n s.push(`translate(-${domainHeight / 2 + labelWidth / 2})`);\n } else if (textAlign === 'end') {\n s.push(`translate(-${labelWidth})`);\n }\n break;\n case 'left':\n if (textAlign === 'start') {\n s.push(`translate(${labelWidth - domainHeight})`);\n } else if (textAlign === 'middle') {\n s.push(`translate(${labelWidth / 2 - domainHeight / 2})`);\n }\n break;\n default:\n }\n\n return s.join(',');\n });\n break;\n default:\n }\n }\n}\n","'use strict';\n// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar replace = uncurryThis(''.replace);\nvar ltrim = RegExp('^[' + whitespaces + ']+');\nvar rtrim = RegExp('(^|[^' + whitespaces + '])[' + whitespaces + ']+$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = replace(string, ltrim, '');\n if (TYPE & 2) string = replace(string, rtrim, '$1');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","'use strict';\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]()\n || non[METHOD_NAME]() !== non\n || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME);\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","import { Position } from '../constant';\nimport type CalHeatmap from '../CalHeatmap';\nimport type { Timestamp, SubDomain } from '../index';\n\nexport const DEFAULT_SELECTOR = '.ch-subdomain';\nconst HIGHLIGHT_CLASSNAME = 'highlight';\n\nexport default class SubDomainPainter {\n calendar: CalHeatmap;\n\n root: any;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n this.root = null;\n }\n\n paint(root: any): void {\n this.root = root || this.root;\n const containerClassname = `${DEFAULT_SELECTOR}-container`;\n\n const subDomainSvgGroup = this.root\n .selectAll(containerClassname)\n .data(\n (d: Timestamp) => [d],\n (d: Timestamp) => d,\n )\n .join(\n (enter: any) => enter\n .append('svg')\n .call((selection: any) => this.#setPositions(selection))\n .attr('class', containerClassname.slice(1)),\n\n (update: any) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n update.call((selection: any) => this.#setPositions(selection)),\n );\n\n const {\n subDomain: {\n radius, width, height, sort,\n },\n } = this.calendar.options.options;\n const evt = this.calendar.eventEmitter;\n\n subDomainSvgGroup\n .selectAll('g')\n .data((d: Timestamp) => {\n const subDomainsCollection: SubDomain[] =\n this.calendar.domainCollection.get(d)!;\n if (sort === 'desc') {\n const max = Math.max(\n ...subDomainsCollection.map((s: SubDomain) => s.x),\n );\n subDomainsCollection.forEach((s: SubDomain, i: number) => {\n subDomainsCollection[i].x = Math.abs(s.x - max);\n });\n }\n\n return subDomainsCollection;\n })\n .join(\n (enter: any) => enter\n .append('g')\n .call((selection: any) => selection\n .insert('rect')\n .attr('class', (d: SubDomain) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n this.#classname(d.t, `${DEFAULT_SELECTOR.slice(1)}-bg`))\n .attr('width', width)\n .attr('height', height)\n .attr('x', (d: SubDomain) => this.#getX(d))\n .attr('y', (d: SubDomain) => this.#getY(d))\n .on('click', (ev: PointerEvent, d: SubDomain) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n evt.emit('click', ev, d.t, d.v))\n .on('mouseover', (ev: PointerEvent, d: SubDomain) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n evt.emit('mouseover', ev, d.t, d.v))\n .on('mouseout', (ev: PointerEvent, d: SubDomain) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n evt.emit('mouseout', ev, d.t, d.v))\n .attr('rx', radius > 0 ? radius : null)\n .attr('ry', radius > 0 ? radius : null))\n .call((selection: any) => this.#appendText(selection)),\n (update: any) => update\n .selectAll('rect')\n .attr('class', (d: SubDomain) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n this.#classname(d.t, `${DEFAULT_SELECTOR.slice(1)}-bg`))\n .attr('width', width)\n .attr('height', height)\n .attr('x', (d: SubDomain) => this.#getX(d))\n .attr('y', (d: SubDomain) => this.#getY(d))\n .attr('rx', radius)\n .attr('ry', radius),\n );\n }\n\n /**\n * Set the subDomain group X and Y position\n * @param {d3-selection} selection A d3-selection object\n */\n #setPositions(selection: any): void {\n const { options } = this.calendar.options;\n const {\n padding,\n label: { position },\n } = options.domain;\n\n selection\n .attr('x', () => {\n let pos = padding[Position.LEFT];\n if (position === 'left') {\n pos += options.x.domainHorizontalLabelWidth;\n }\n return pos;\n })\n .attr('y', () => {\n let pos = padding[Position.TOP];\n if (position === 'top') {\n pos += options.x.domainVerticalLabelHeight;\n }\n return pos;\n });\n }\n\n /**\n * Return a classname if the specified date should be highlighted\n *\n * @param {number} timestamp Unix timestamp of the current subDomain\n * @return {String} the highlight class\n */\n #classname(timestamp: Timestamp, ...otherClasses: string[]): string {\n const {\n date: { highlight },\n subDomain: { type },\n } = this.calendar.options.options;\n let classname = '';\n\n if (highlight.length > 0) {\n highlight.forEach((d) => {\n const unitFn = this.calendar.templateCollection.get(type).extractUnit;\n\n if (unitFn(+d) === unitFn(timestamp)) {\n classname = HIGHLIGHT_CLASSNAME;\n }\n });\n }\n\n return [classname, ...otherClasses].join(' ').trim();\n }\n\n #appendText(elem: any) {\n const { width, height, label } = this.calendar.options.options.subDomain;\n\n if (!label) {\n return null;\n }\n\n return elem\n .append('text')\n .attr('class', (d: SubDomain) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n this.#classname(d.t, `${DEFAULT_SELECTOR.slice(1)}-text`))\n .attr('x', (d: SubDomain) => this.#getX(d) + width / 2)\n .attr('y', (d: SubDomain) => this.#getY(d) + height / 2)\n .attr('text-anchor', 'middle')\n .attr('dominant-baseline', 'central')\n .text((d: SubDomain, i: number, nodes: any[]) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n this.calendar.dateHelper.format(d.t, label, d.v, nodes[i]));\n }\n\n #getCoordinates(axis: 'x' | 'y', d: SubDomain): number {\n const { subDomain } = this.calendar.options.options;\n return (\n d[axis] *\n (subDomain[axis === 'x' ? 'width' : 'height'] + subDomain.gutter)\n );\n }\n\n #getX(d: SubDomain): number {\n return this.#getCoordinates('x', d);\n }\n\n #getY(d: SubDomain): number {\n return this.#getCoordinates('y', d);\n }\n}\n","import { select } from 'd3-selection';\nimport DomainPainter from './DomainPainter';\nimport DomainLabelPainter from './DomainLabelPainter';\nimport SubDomainPainter from '../subDomain/SubDomainPainter';\nimport { ScrollDirection } from '../constant';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport type { Dimensions } from '../index';\n\nconst BASE_SELECTOR = '.ch-domain-container';\nconst TRANSITION_CLASSNAME = 'in-transition';\n\nclass DomainsContainerPainter {\n calendar: CalHeatmap;\n\n domainPainter: DomainPainter;\n\n domainLabelPainter: DomainLabelPainter;\n\n subDomainPainter: SubDomainPainter;\n\n dimensions: Dimensions;\n\n root: any;\n\n transitionsQueueCount: number;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n\n this.domainPainter = new DomainPainter(calendar);\n this.subDomainPainter = new SubDomainPainter(calendar);\n this.domainLabelPainter = new DomainLabelPainter(calendar);\n this.dimensions = {\n width: 0,\n height: 0,\n };\n this.transitionsQueueCount = 0;\n }\n\n setup() {\n this.root = this.calendar.calendarPainter.root\n .attr('x', 0)\n .attr('y', 0)\n .append('svg')\n .attr('class', BASE_SELECTOR.slice(1))\n .append('svg')\n .attr('class', `${BASE_SELECTOR.slice(1)}-animation-wrapper`);\n }\n\n paint(scrollDirection: ScrollDirection): Promise[] {\n this.#startAnimation();\n\n const result = this.domainPainter.paint(scrollDirection, this.root);\n this.subDomainPainter.paint(this.domainPainter.root);\n this.domainLabelPainter.paint(this.domainPainter.root);\n\n this.#recomputeDimensions();\n\n Promise.allSettled(result).then(() => {\n this.#endAnimation();\n });\n\n return result;\n }\n\n updatePosition() {\n if (!this.root?.node()) {\n return Promise.resolve();\n }\n\n const { animationDuration } = this.calendar.options.options;\n const topHeight = this.calendar.pluginManager.getHeightFromPosition('top');\n const leftWidth = this.calendar.pluginManager.getWidthFromPosition('left');\n\n return [\n select(this.root.node().parentNode)\n .transition()\n .duration(animationDuration)\n .call((selection: any) => {\n selection.attr('x', leftWidth).attr('y', topHeight);\n })\n .end(),\n ];\n }\n\n width(): Dimensions['width'] {\n return this.dimensions.width;\n }\n\n height(): Dimensions['height'] {\n return this.dimensions.height;\n }\n\n destroy(): Promise {\n this.#startAnimation();\n\n return Promise.resolve();\n }\n\n #startAnimation() {\n if (this.root?.node()) {\n this.transitionsQueueCount += 1;\n select(this.root.node().parentNode).classed(TRANSITION_CLASSNAME, true);\n }\n }\n\n #endAnimation() {\n if (this.root?.node()) {\n this.transitionsQueueCount -= 1;\n\n if (this.transitionsQueueCount === 0) {\n select(this.root.node().parentNode).classed(\n TRANSITION_CLASSNAME,\n false,\n );\n }\n }\n }\n\n #recomputeDimensions(): void {\n const {\n animationDuration,\n verticalOrientation,\n domain: { gutter },\n } = this.calendar.options.options;\n const { dimensions: domainsDimensions } = this.domainPainter;\n\n this.dimensions = {\n width: domainsDimensions.width - (verticalOrientation ? 0 : gutter),\n height: domainsDimensions.height - (!verticalOrientation ? 0 : gutter),\n };\n\n this.root\n .transition()\n .duration(animationDuration)\n .attr('width', this.dimensions.width)\n .attr('height', this.dimensions.height);\n }\n}\n\nexport default DomainsContainerPainter;\n","import type CalHeatmap from '../CalHeatmap';\n\nclass PluginPainter {\n calendar: CalHeatmap;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n }\n\n paint(): Promise[] {\n let promises: Promise[] = [];\n\n promises = promises.concat(this.calendar.pluginManager.paintAll());\n promises = promises.concat(this.setPluginsPosition());\n\n return promises;\n }\n\n setPluginsPosition(): Promise[] {\n const { pluginManager } = this.calendar;\n const { animationDuration } = this.calendar.options.options;\n const { domainsContainerPainter } = this.calendar.calendarPainter;\n\n const top = pluginManager.getFromPosition('top');\n const right = pluginManager.getFromPosition('right');\n const bottom = pluginManager.getFromPosition('bottom');\n const left = pluginManager.getFromPosition('left');\n\n const topHeight = pluginManager.getHeightFromPosition('top');\n const leftWidth = pluginManager.getWidthFromPosition('left');\n\n const promises: Promise[] = [];\n\n let topOffset = 0;\n top.forEach((plugin) => {\n promises.push(\n plugin.root\n .transition()\n .duration(animationDuration)\n .attr('y', topOffset)\n .attr('x', leftWidth)\n .end(),\n );\n topOffset += plugin.options.dimensions!.height;\n });\n\n let leftOffset = 0;\n left.forEach((plugin) => {\n promises.push(\n plugin.root\n .transition()\n .duration(animationDuration)\n .attr('x', leftOffset)\n .attr('y', topHeight)\n .end(),\n );\n leftOffset += plugin.options.dimensions!.width;\n });\n\n bottom.forEach((plugin) => {\n promises.push(\n plugin.root\n .transition()\n .duration(animationDuration)\n .attr('x', leftWidth)\n .attr('y', topHeight + domainsContainerPainter.height())\n .end(),\n );\n });\n\n leftOffset += domainsContainerPainter.width();\n\n right.forEach((plugin) => {\n promises.push(\n plugin.root\n .transition()\n .duration(animationDuration)\n .attr('x', leftOffset)\n .attr('y', topHeight)\n .end(),\n );\n leftOffset += plugin.options.dimensions!.width;\n });\n\n return promises;\n }\n\n insideWidth() {\n return (\n this.calendar.pluginManager.getWidthFromPosition('left') +\n this.calendar.pluginManager.getWidthFromPosition('right')\n );\n }\n\n insideHeight() {\n return (\n this.calendar.pluginManager.getHeightFromPosition('top') +\n this.calendar.pluginManager.getHeightFromPosition('bottom')\n );\n }\n}\n\nexport default PluginPainter;\n","import { select } from 'd3-selection';\n\nimport DomainsContainerPainter from '../domain/DomainsContainerPainter';\nimport PluginPainter from '../plugins/PluginPainter';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport { ScrollDirection } from '../constant';\nimport type { Dimensions } from '../index';\n\nexport const DEFAULT_SELECTOR = '.ch-container';\n\nexport default class CalendarPainter {\n calendar: CalHeatmap;\n\n dimensions: Dimensions;\n\n root: any;\n\n domainsContainerPainter: DomainsContainerPainter;\n\n pluginPainter: PluginPainter;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n this.dimensions = {\n width: 0,\n height: 0,\n };\n this.root = null;\n this.domainsContainerPainter = new DomainsContainerPainter(calendar);\n this.pluginPainter = new PluginPainter(calendar);\n }\n\n setup(): boolean {\n const { itemSelector, theme } = this.calendar.options.options;\n\n if (!this.root) {\n this.root = select(itemSelector)\n .append('svg')\n .attr('data-theme', theme)\n .attr('class', DEFAULT_SELECTOR.slice(1));\n this.domainsContainerPainter.setup();\n }\n\n this.calendar.pluginManager.setupAll();\n\n return true;\n }\n\n paint(navigationDir: ScrollDirection = ScrollDirection.SCROLL_NONE) {\n const transitions = this.domainsContainerPainter\n .paint(navigationDir)\n .concat(this.pluginPainter.paint())\n .concat(this.domainsContainerPainter.updatePosition());\n\n this.#resize();\n\n return Promise.allSettled(transitions);\n }\n\n #getHeight(): Dimensions['height'] {\n return (\n this.domainsContainerPainter.height() + this.pluginPainter.insideHeight()\n );\n }\n\n #getWidth(): Dimensions['width'] {\n return (\n this.domainsContainerPainter.width() + this.pluginPainter.insideWidth()\n );\n }\n\n #resize(): void {\n const { options } = this.calendar.options;\n\n const newWidth = this.#getWidth();\n const newHeight = this.#getHeight();\n\n this.root\n .transition()\n .duration(options.animationDuration)\n .attr('width', newWidth)\n .attr('height', newHeight);\n\n if (\n newWidth !== this.dimensions.width ||\n newHeight !== this.dimensions.height\n ) {\n this.calendar.eventEmitter.emit(\n 'resize',\n newWidth,\n newHeight,\n this.dimensions.width,\n this.dimensions.height,\n );\n }\n\n this.dimensions = {\n width: newWidth,\n height: newHeight,\n };\n }\n\n destroy(): Promise {\n const result: Promise[] = this.calendar.pluginManager\n .destroyAll()\n .concat(this.domainsContainerPainter.destroy());\n\n if (!this.root) {\n return Promise.allSettled(result);\n }\n\n result.push(\n this.root\n .transition()\n .duration(this.calendar.options.options.animationDuration)\n .attr('width', 0)\n .attr('height', 0)\n .remove()\n .end(),\n );\n\n return Promise.allSettled(result);\n }\n}\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","import baseGetTag from './_baseGetTag.js';\nimport isObject from './isObject.js';\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nexport default isFunction;\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) === 'RegExp');\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es/no-string-prototype-startswith -- safe\nvar nativeStartsWith = uncurryThis(''.startsWith);\nvar stringSlice = uncurryThis(''.slice);\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = toString(searchString);\n return nativeStartsWith\n ? nativeStartsWith(that, search, index)\n : stringSlice(that, index, index + search.length) === search;\n }\n});\n","'use strict';\nvar isRegExp = require('../internals/is-regexp');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw new $TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (error1) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (error2) { /* empty */ }\n } return false;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar objectGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\nvar propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\nvar push = uncurryThis([].push);\n\n// in some IE versions, `propertyIsEnumerable` returns incorrect result on integer keys\n// of `null` prototype objects\nvar IE_BUG = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-create -- safe\n var O = Object.create(null);\n O[2] = 2;\n return !propertyIsEnumerable(O, 2);\n});\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var IE_WORKAROUND = IE_BUG && objectGetPrototypeOf(O) === null;\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || (IE_WORKAROUND ? key in O : propertyIsEnumerable(O, key))) {\n push(result, TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","import {ascending, descending} from \"d3\";\n\nexport function defined(x) {\n return x != null && !Number.isNaN(x);\n}\n\nexport function ascendingDefined(a, b) {\n return +defined(b) - +defined(a) || ascending(a, b);\n}\n\nexport function descendingDefined(a, b) {\n return +defined(b) - +defined(a) || descending(a, b);\n}\n\nexport function nonempty(x) {\n return x != null && `${x}` !== \"\";\n}\n\nexport function finite(x) {\n return isFinite(x) ? x : NaN;\n}\n\nexport function positive(x) {\n return x > 0 && isFinite(x) ? x : NaN;\n}\n\nexport function negative(x) {\n return x < 0 && isFinite(x) ? x : NaN;\n}\n","const re = /^(?:[-+]\\d{2})?\\d{4}(?:-\\d{2}(?:-\\d{2})?)?(?:T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{3})?)?(?:Z|[-+]\\d{2}:?\\d{2})?)?$/;\n\nexport default function parse(string, fallback) {\n if (!re.test(string += \"\")) return typeof fallback === \"function\" ? fallback(string) : fallback;\n return new Date(string);\n}\n","import {utcSecond, utcMinute, utcHour, utcDay, utcWeek, utcMonth, utcYear} from \"d3\";\nimport {utcMonday, utcTuesday, utcWednesday, utcThursday, utcFriday, utcSaturday, utcSunday} from \"d3\";\nimport {timeSecond, timeMinute, timeHour, timeDay, timeWeek, timeMonth, timeYear} from \"d3\";\nimport {timeMonday, timeTuesday, timeWednesday, timeThursday, timeFriday, timeSaturday, timeSunday} from \"d3\";\n\nconst timeIntervals = new Map([\n [\"second\", timeSecond],\n [\"minute\", timeMinute],\n [\"hour\", timeHour],\n [\"day\", timeDay],\n [\"week\", timeWeek],\n [\"month\", timeMonth],\n [\"quarter\", timeMonth.every(3)],\n [\"half\", timeMonth.every(6)],\n [\"year\", timeYear],\n [\"monday\", timeMonday],\n [\"tuesday\", timeTuesday],\n [\"wednesday\", timeWednesday],\n [\"thursday\", timeThursday],\n [\"friday\", timeFriday],\n [\"saturday\", timeSaturday],\n [\"sunday\", timeSunday]\n]);\n\nconst utcIntervals = new Map([\n [\"second\", utcSecond],\n [\"minute\", utcMinute],\n [\"hour\", utcHour],\n [\"day\", utcDay],\n [\"week\", utcWeek],\n [\"month\", utcMonth],\n [\"quarter\", utcMonth.every(3)],\n [\"half\", utcMonth.every(6)],\n [\"year\", utcYear],\n [\"monday\", utcMonday],\n [\"tuesday\", utcTuesday],\n [\"wednesday\", utcWednesday],\n [\"thursday\", utcThursday],\n [\"friday\", utcFriday],\n [\"saturday\", utcSaturday],\n [\"sunday\", utcSunday]\n]);\n\nexport function maybeTimeInterval(interval) {\n const i = timeIntervals.get(`${interval}`.toLowerCase());\n if (!i) throw new Error(`unknown interval: ${interval}`);\n return i;\n}\n\nexport function maybeUtcInterval(interval) {\n const i = utcIntervals.get(`${interval}`.toLowerCase());\n if (!i) throw new Error(`unknown interval: ${interval}`);\n return i;\n}\n","import {parse as isoParse} from \"isoformat\";\nimport {color, descending, range as rangei, quantile} from \"d3\";\nimport {maybeTimeInterval, maybeUtcInterval} from \"./time.js\";\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray\nexport const TypedArray = Object.getPrototypeOf(Uint8Array);\nconst objectToString = Object.prototype.toString;\n\nexport function valueof(data, value, type) {\n const valueType = typeof value;\n return valueType === \"string\"\n ? maybeTypedMap(data, field(value), type)\n : valueType === \"function\"\n ? maybeTypedMap(data, value, type)\n : valueType === \"number\" || value instanceof Date || valueType === \"boolean\"\n ? map(data, constant(value), type)\n : typeof value?.transform === \"function\"\n ? maybeTypedArrayify(value.transform(data), type)\n : maybeTypedArrayify(value, type);\n}\n\nfunction maybeTypedMap(data, f, type) {\n return map(data, type?.prototype instanceof TypedArray ? floater(f) : f, type);\n}\n\nfunction maybeTypedArrayify(data, type) {\n return type === undefined\n ? arrayify(data) // preserve undefined type\n : data instanceof type\n ? data\n : type.prototype instanceof TypedArray && !(data instanceof TypedArray)\n ? type.from(data, coerceNumber)\n : type.from(data);\n}\n\nfunction floater(f) {\n return (d, i) => coerceNumber(f(d, i));\n}\n\nexport const field = (name) => (d) => d[name];\nexport const indexOf = {transform: range};\nexport const identity = {transform: (d) => d};\nexport const zero = () => 0;\nexport const one = () => 1;\nexport const yes = () => true;\nexport const string = (x) => (x == null ? x : `${x}`);\nexport const number = (x) => (x == null ? x : +x);\nexport const boolean = (x) => (x == null ? x : !!x);\nexport const first = (x) => (x ? x[0] : undefined);\nexport const second = (x) => (x ? x[1] : undefined);\nexport const third = (x) => (x ? x[2] : undefined);\nexport const constant = (x) => () => x;\n\n// Converts a string like “p25” into a function that takes an index I and an\n// accessor function f, returning the corresponding percentile value.\nexport function percentile(reduce) {\n const p = +`${reduce}`.slice(1) / 100;\n return (I, f) => quantile(I, p, f);\n}\n\n// If the values are specified as a typed array, no coercion is required.\nexport function coerceNumbers(values) {\n return values instanceof TypedArray ? values : map(values, coerceNumber, Float64Array);\n}\n\n// Unlike Mark’s number, here we want to convert null and undefined to NaN since\n// the result will be stored in a Float64Array and we don’t want null to be\n// coerced to zero. We use Number instead of unary + to allow BigInt coercion.\nfunction coerceNumber(x) {\n return x == null ? NaN : Number(x);\n}\n\nexport function coerceDates(values) {\n return map(values, coerceDate);\n}\n\n// When coercing strings to dates, we only want to allow the ISO 8601 format\n// since the built-in string parsing of the Date constructor varies across\n// browsers. (In the future, this could be made more liberal if desired, though\n// it is still generally preferable to do date parsing yourself explicitly,\n// rather than rely on Plot.) Any non-string values are coerced to number first\n// and treated as milliseconds since UNIX epoch.\nexport function coerceDate(x) {\n return x instanceof Date && !isNaN(x)\n ? x\n : typeof x === \"string\"\n ? isoParse(x)\n : x == null || isNaN((x = +x))\n ? undefined\n : new Date(x);\n}\n\n// Some channels may allow a string constant to be specified; to differentiate\n// string constants (e.g., \"red\") from named fields (e.g., \"date\"), this\n// function tests whether the given value is a CSS color string and returns a\n// tuple [channel, constant] where one of the two is undefined, and the other is\n// the given value. If you wish to reference a named field that is also a valid\n// CSS color, use an accessor (d => d.red) instead.\nexport function maybeColorChannel(value, defaultValue) {\n if (value === undefined) value = defaultValue;\n return value === null ? [undefined, \"none\"] : isColor(value) ? [undefined, value] : [value, undefined];\n}\n\n// Similar to maybeColorChannel, this tests whether the given value is a number\n// indicating a constant, and otherwise assumes that it’s a channel value.\nexport function maybeNumberChannel(value, defaultValue) {\n if (value === undefined) value = defaultValue;\n return value === null || typeof value === \"number\" ? [undefined, value] : [value, undefined];\n}\n\n// Validates the specified optional string against the allowed list of keywords.\nexport function maybeKeyword(input, name, allowed) {\n if (input != null) return keyword(input, name, allowed);\n}\n\n// Validates the specified required string against the allowed list of keywords.\nexport function keyword(input, name, allowed) {\n const i = `${input}`.toLowerCase();\n if (!allowed.includes(i)) throw new Error(`invalid ${name}: ${input}`);\n return i;\n}\n\n// Promotes the specified data to an array as needed.\nexport function arrayify(data) {\n return data == null || data instanceof Array || data instanceof TypedArray ? data : Array.from(data);\n}\n\n// An optimization of type.from(values, f): if the given values are already an\n// instanceof the desired array type, the faster values.map method is used.\nexport function map(values, f, type = Array) {\n return values == null ? values : values instanceof type ? values.map(f) : type.from(values, f);\n}\n\n// An optimization of type.from(values): if the given values are already an\n// instanceof the desired array type, the faster values.slice method is used.\nexport function slice(values, type = Array) {\n return values instanceof type ? values.slice() : type.from(values);\n}\n\n// Disambiguates an options object (e.g., {y: \"x2\"}) from a primitive value.\nexport function isObject(option) {\n return option?.toString === objectToString;\n}\n\n// Disambiguates a scale options object (e.g., {color: {type: \"linear\"}}) from\n// some other option (e.g., {color: \"red\"}). When creating standalone legends,\n// this is used to test whether a scale is defined; this should be consistent\n// with inferScaleType when there are no channels associated with the scale, and\n// if this returns true, then normalizeScale must return non-null.\nexport function isScaleOptions(option) {\n return isObject(option) && (option.type !== undefined || option.domain !== undefined);\n}\n\n// Disambiguates an options object (e.g., {y: \"x2\"}) from a channel value\n// definition expressed as a channel transform (e.g., {transform: …}).\nexport function isOptions(option) {\n return isObject(option) && typeof option.transform !== \"function\";\n}\n\n// Disambiguates a sort transform (e.g., {sort: \"date\"}) from a channel domain\n// sort definition (e.g., {sort: {y: \"x\"}}).\nexport function isDomainSort(sort) {\n return isOptions(sort) && sort.value === undefined && sort.channel === undefined;\n}\n\n// For marks specified either as [0, x] or [x1, x2], such as areas and bars.\nexport function maybeZero(x, x1, x2, x3 = identity) {\n if (x1 === undefined && x2 === undefined) {\n // {x} or {}\n (x1 = 0), (x2 = x === undefined ? x3 : x);\n } else if (x1 === undefined) {\n // {x, x2} or {x2}\n x1 = x === undefined ? 0 : x;\n } else if (x2 === undefined) {\n // {x, x1} or {x1}\n x2 = x === undefined ? 0 : x;\n }\n return [x1, x2];\n}\n\n// For marks that have x and y channels (e.g., cell, dot, line, text).\nexport function maybeTuple(x, y) {\n return x === undefined && y === undefined ? [first, second] : [x, y];\n}\n\n// A helper for extracting the z channel, if it is variable. Used by transforms\n// that require series, such as moving average and normalize.\nexport function maybeZ({z, fill, stroke} = {}) {\n if (z === undefined) [z] = maybeColorChannel(fill);\n if (z === undefined) [z] = maybeColorChannel(stroke);\n return z;\n}\n\n// Returns a Uint32Array with elements [0, 1, 2, … data.length - 1].\nexport function range(data) {\n const n = data.length;\n const r = new Uint32Array(n);\n for (let i = 0; i < n; ++i) r[i] = i;\n return r;\n}\n\n// Returns a filtered range of data given the test function.\nexport function where(data, test) {\n return range(data).filter((i) => test(data[i], i, data));\n}\n\n// Returns an array [values[index[0]], values[index[1]], …].\nexport function take(values, index) {\n return map(index, (i) => values[i]);\n}\n\n// Based on InternMap (d3.group).\nexport function keyof(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n}\n\nexport function maybeInput(key, options) {\n if (options[key] !== undefined) return options[key];\n switch (key) {\n case \"x1\":\n case \"x2\":\n key = \"x\";\n break;\n case \"y1\":\n case \"y2\":\n key = \"y\";\n break;\n }\n return options[key];\n}\n\nexport function column(source) {\n // Defines a column whose values are lazily populated by calling the returned\n // setter. If the given source is labeled, the label is propagated to the\n // returned column definition.\n let value;\n return [\n {\n transform: () => value,\n label: labelof(source)\n },\n (v) => (value = v)\n ];\n}\n\n// Like column, but allows the source to be null.\nexport function maybeColumn(source) {\n return source == null ? [source] : column(source);\n}\n\nexport function labelof(value, defaultValue) {\n return typeof value === \"string\" ? value : value && value.label !== undefined ? value.label : defaultValue;\n}\n\n// Assuming that both x1 and x2 and lazy columns (per above), this derives a new\n// a column that’s the average of the two, and which inherits the column label\n// (if any). Both input columns are assumed to be quantitative. If either column\n// is temporal, the returned column is also temporal.\nexport function mid(x1, x2) {\n return {\n transform(data) {\n const X1 = x1.transform(data);\n const X2 = x2.transform(data);\n return isTemporal(X1) || isTemporal(X2)\n ? map(X1, (_, i) => new Date((+X1[i] + +X2[i]) / 2))\n : map(X1, (_, i) => (+X1[i] + +X2[i]) / 2, Float64Array);\n },\n label: x1.label\n };\n}\n\n// If interval is not nullish, converts interval shorthand such as a number (for\n// multiples) or a time interval name (such as “day”) to a {floor, offset,\n// range} object similar to a D3 time interval.\nexport function maybeInterval(interval, type) {\n if (interval == null) return;\n if (typeof interval === \"number\") {\n if (0 < interval && interval < 1 && Number.isInteger(1 / interval)) interval = -1 / interval;\n const n = Math.abs(interval);\n return interval < 0\n ? {\n floor: (d) => Math.floor(d * n) / n,\n offset: (d) => (d * n + 1) / n, // note: no optional step for simplicity\n range: (lo, hi) => rangei(Math.ceil(lo * n), hi * n).map((x) => x / n)\n }\n : {\n floor: (d) => Math.floor(d / n) * n,\n offset: (d) => d + n, // note: no optional step for simplicity\n range: (lo, hi) => rangei(Math.ceil(lo / n), hi / n).map((x) => x * n)\n };\n }\n if (typeof interval === \"string\") return (type === \"time\" ? maybeTimeInterval : maybeUtcInterval)(interval);\n if (typeof interval.floor !== \"function\") throw new Error(\"invalid interval; missing floor method\");\n if (typeof interval.offset !== \"function\") throw new Error(\"invalid interval; missing offset method\");\n return interval;\n}\n\n// Like maybeInterval, but requires a range method too.\nexport function maybeRangeInterval(interval, type) {\n interval = maybeInterval(interval, type);\n if (interval && typeof interval.range !== \"function\") throw new Error(\"invalid interval: missing range method\");\n return interval;\n}\n\n// Like maybeRangeInterval, but requires a ceil method too.\nexport function maybeNiceInterval(interval, type) {\n interval = maybeRangeInterval(interval, type);\n if (interval && typeof interval.ceil !== \"function\") throw new Error(\"invalid interval: missing ceil method\");\n return interval;\n}\n\n// This distinguishes between per-dimension options and a standalone value.\nexport function maybeValue(value) {\n return value === undefined || isOptions(value) ? value : {value};\n}\n\n// Coerces the given channel values (if any) to numbers. This is useful when\n// values will be interpolated into other code, such as an SVG transform, and\n// where we don’t wish to allow unexpected behavior for weird input.\nexport function numberChannel(source) {\n return source == null\n ? null\n : {\n transform: (data) => valueof(data, source, Float64Array),\n label: labelof(source)\n };\n}\n\nexport function isTuples(data) {\n if (!isIterable(data)) return false;\n for (const d of data) {\n if (d == null) continue;\n return typeof d === \"object\" && \"0\" in d && \"1\" in d;\n }\n}\n\nexport function isIterable(value) {\n return value && typeof value[Symbol.iterator] === \"function\";\n}\n\nexport function isTextual(values) {\n for (const value of values) {\n if (value == null) continue;\n return typeof value !== \"object\" || value instanceof Date;\n }\n}\n\nexport function isOrdinal(values) {\n for (const value of values) {\n if (value == null) continue;\n const type = typeof value;\n return type === \"string\" || type === \"boolean\";\n }\n}\n\nexport function isTemporal(values) {\n for (const value of values) {\n if (value == null) continue;\n return value instanceof Date;\n }\n}\n\n// Are these strings that might represent dates? This is stricter than ISO 8601\n// because we want to ignore false positives on numbers; for example, the string\n// \"1192\" is more likely to represent a number than a date even though it is\n// valid ISO 8601 representing 1192-01-01.\nexport function isTemporalString(values) {\n for (const value of values) {\n if (value == null) continue;\n return typeof value === \"string\" && isNaN(value) && isoParse(value);\n }\n}\n\n// Are these strings that might represent numbers? This is stricter than\n// coercion because we want to ignore false positives on e.g. empty strings.\nexport function isNumericString(values) {\n for (const value of values) {\n if (value == null) continue;\n if (typeof value !== \"string\") return false;\n if (!value.trim()) continue;\n return !isNaN(value);\n }\n}\n\nexport function isNumeric(values) {\n for (const value of values) {\n if (value == null) continue;\n return typeof value === \"number\";\n }\n}\n\n// Returns true if every non-null value in the specified iterable of values\n// passes the specified predicate, and there is at least one non-null value;\n// returns false if at least one non-null value does not pass the specified\n// predicate; otherwise returns undefined (as if all values are null).\nexport function isEvery(values, is) {\n let every;\n for (const value of values) {\n if (value == null) continue;\n if (!is(value)) return false;\n every = true;\n }\n return every;\n}\n\n// Mostly relies on d3-color, with a few extra color keywords. Currently this\n// strictly requires that the value be a string; we might want to apply string\n// coercion here, though note that d3-color instances would need to support\n// valueOf to work correctly with InternMap.\n// https://www.w3.org/TR/SVG11/painting.html#SpecifyingPaint\nexport function isColor(value) {\n if (typeof value !== \"string\") return false;\n value = value.toLowerCase().trim();\n return (\n value === \"none\" ||\n value === \"currentcolor\" ||\n (value.startsWith(\"url(\") && value.endsWith(\")\")) || // , e.g. pattern or gradient\n (value.startsWith(\"var(\") && value.endsWith(\")\")) || // CSS variable\n color(value) !== null\n );\n}\n\nexport function isOpacity(value) {\n return typeof value === \"number\" && ((0 <= value && value <= 1) || isNaN(value));\n}\n\nexport function isNoneish(value) {\n return value == null || isNone(value);\n}\n\nexport function isNone(value) {\n return /^\\s*none\\s*$/i.test(value);\n}\n\nexport function isRound(value) {\n return /^\\s*round\\s*$/i.test(value);\n}\n\nexport function maybeFrameAnchor(value = \"middle\") {\n return keyword(value, \"frameAnchor\", [\n \"middle\",\n \"top-left\",\n \"top\",\n \"top-right\",\n \"right\",\n \"bottom-right\",\n \"bottom\",\n \"bottom-left\",\n \"left\"\n ]);\n}\n\n// Like a sort comparator, returns a positive value if the given array of values\n// is in ascending order, a negative value if the values are in descending\n// order. Assumes monotonicity; only tests the first and last values.\nexport function orderof(values) {\n if (values == null) return;\n const first = values[0];\n const last = values[values.length - 1];\n return descending(first, last);\n}\n\n// Unlike {...defaults, ...options}, this ensures that any undefined (but\n// present) properties in options inherit the given default value.\nexport function inherit(options = {}, ...rest) {\n let o = options;\n for (const defaults of rest) {\n for (const key in defaults) {\n if (o[key] === undefined) {\n const value = defaults[key];\n if (o === options) o = {...o, [key]: value};\n else o[key] = value;\n }\n }\n }\n return o;\n}\n\n// Given an iterable of named things (objects with a name property), returns a\n// corresponding object with properties associated with the given name.\nexport function named(things) {\n console.warn(\"named iterables are deprecated; please use an object instead\");\n const names = new Set();\n return Object.fromEntries(\n Array.from(things, (thing) => {\n const {name} = thing;\n if (name == null) throw new Error(\"missing name\");\n const key = `${name}`;\n if (key === \"__proto__\") throw new Error(`illegal name: ${key}`);\n if (names.has(key)) throw new Error(`duplicate name: ${key}`);\n names.add(key);\n return [name, thing];\n })\n );\n}\n\nexport function maybeNamed(things) {\n return isIterable(things) ? named(things) : things;\n}\n","// Positional scales have associated axes, and for ordinal data, a point or band\n// scale is used instead of an ordinal scale.\nexport const position = Symbol(\"position\");\n\n// Color scales default to the turbo interpolator for quantitative data, and to\n// the Tableau10 scheme for ordinal data. Color scales may also have an\n// associated legend.\nexport const color = Symbol(\"color\");\n\n// Radius scales default to the sqrt type, have a default range of [0, 3], and a\n// default domain from 0 to the median first quartile of associated channels.\nexport const radius = Symbol(\"radius\");\n\n// Length scales default to the linear type, have a default range of [0, 12],\n// and a default domain from 0 to the median median of associated channels.\nexport const length = Symbol(\"length\");\n\n// Opacity scales have a default range of [0, 1], and a default domain from 0 to\n// the maximum value of associated channels.\nexport const opacity = Symbol(\"opacity\");\n\n// Symbol scales have a default range of categorical symbols.\nexport const symbol = Symbol(\"symbol\");\n\n// TODO Rather than hard-coding the list of known scale names, collect the names\n// and categories for each plot specification, so that custom marks can register\n// custom scales.\nexport const registry = new Map([\n [\"x\", position],\n [\"y\", position],\n [\"fx\", position],\n [\"fy\", position],\n [\"r\", radius],\n [\"color\", color],\n [\"opacity\", opacity],\n [\"symbol\", symbol],\n [\"length\", length]\n]);\n","import {symbolAsterisk, symbolDiamond2, symbolPlus, symbolSquare2, symbolTriangle2, symbolTimes} from \"d3\";\nimport {symbolCircle, symbolCross, symbolDiamond, symbolSquare, symbolStar, symbolTriangle, symbolWye} from \"d3\";\n\nexport const sqrt3 = Math.sqrt(3);\nexport const sqrt4_3 = 2 / sqrt3;\n\nconst symbolHexagon = {\n draw(context, size) {\n const rx = Math.sqrt(size / Math.PI),\n ry = rx * sqrt4_3,\n hy = ry / 2;\n context.moveTo(0, ry);\n context.lineTo(rx, hy);\n context.lineTo(rx, -hy);\n context.lineTo(0, -ry);\n context.lineTo(-rx, -hy);\n context.lineTo(-rx, hy);\n context.closePath();\n }\n};\n\nconst symbols = new Map([\n [\"asterisk\", symbolAsterisk],\n [\"circle\", symbolCircle],\n [\"cross\", symbolCross],\n [\"diamond\", symbolDiamond],\n [\"diamond2\", symbolDiamond2],\n [\"hexagon\", symbolHexagon],\n [\"plus\", symbolPlus],\n [\"square\", symbolSquare],\n [\"square2\", symbolSquare2],\n [\"star\", symbolStar],\n [\"times\", symbolTimes],\n [\"triangle\", symbolTriangle],\n [\"triangle2\", symbolTriangle2],\n [\"wye\", symbolWye]\n]);\n\nfunction isSymbolObject(value) {\n return value && typeof value.draw === \"function\";\n}\n\nexport function isSymbol(value) {\n if (isSymbolObject(value)) return true;\n if (typeof value !== \"string\") return false;\n return symbols.has(value.toLowerCase());\n}\n\nexport function maybeSymbol(symbol) {\n if (symbol == null || isSymbolObject(symbol)) return symbol;\n const value = symbols.get(`${symbol}`.toLowerCase());\n if (value) return value;\n throw new Error(`invalid symbol: ${symbol}`);\n}\n\nexport function maybeSymbolChannel(symbol) {\n if (symbol == null || isSymbolObject(symbol)) return [undefined, symbol];\n if (typeof symbol === \"string\") {\n const value = symbols.get(`${symbol}`.toLowerCase());\n if (value) return [undefined, value];\n }\n return [symbol, undefined];\n}\n","let warnings = 0;\n\nexport function consumeWarnings() {\n const w = warnings;\n warnings = 0;\n return w;\n}\n\nexport function warn(message) {\n console.warn(message);\n ++warnings;\n}\n","import {\n interpolateBlues,\n interpolateBrBG,\n interpolateBuGn,\n interpolateBuPu,\n interpolateGnBu,\n interpolateGreens,\n interpolateGreys,\n interpolateOranges,\n interpolateOrRd,\n interpolatePiYG,\n interpolatePRGn,\n interpolatePuBu,\n interpolatePuBuGn,\n interpolatePuOr,\n interpolatePuRd,\n interpolatePurples,\n interpolateRdBu,\n interpolateRdGy,\n interpolateRdPu,\n interpolateRdYlBu,\n interpolateRdYlGn,\n interpolateReds,\n interpolateSpectral,\n interpolateYlGn,\n interpolateYlGnBu,\n interpolateYlOrBr,\n interpolateYlOrRd,\n interpolateTurbo,\n interpolateViridis,\n interpolateMagma,\n interpolateInferno,\n interpolatePlasma,\n interpolateCividis,\n interpolateCubehelixDefault,\n interpolateWarm,\n interpolateCool,\n interpolateRainbow,\n interpolateSinebow,\n quantize,\n schemeAccent,\n schemeBlues,\n schemeBrBG,\n schemeBuGn,\n schemeBuPu,\n schemeCategory10,\n schemeDark2,\n schemeGnBu,\n schemeGreens,\n schemeGreys,\n schemeOranges,\n schemeOrRd,\n schemePaired,\n schemePastel1,\n schemePastel2,\n schemePiYG,\n schemePRGn,\n schemePuBu,\n schemePuBuGn,\n schemePuOr,\n schemePuRd,\n schemePurples,\n schemeRdBu,\n schemeRdGy,\n schemeRdPu,\n schemeRdYlBu,\n schemeRdYlGn,\n schemeReds,\n schemeSet1,\n schemeSet2,\n schemeSet3,\n schemeSpectral,\n schemeTableau10,\n schemeYlGn,\n schemeYlGnBu,\n schemeYlOrBr,\n schemeYlOrRd\n} from \"d3\";\n\nconst ordinalSchemes = new Map([\n // categorical\n [\"accent\", schemeAccent],\n [\"category10\", schemeCategory10],\n [\"dark2\", schemeDark2],\n [\"paired\", schemePaired],\n [\"pastel1\", schemePastel1],\n [\"pastel2\", schemePastel2],\n [\"set1\", schemeSet1],\n [\"set2\", schemeSet2],\n [\"set3\", schemeSet3],\n [\"tableau10\", schemeTableau10],\n\n // diverging\n [\"brbg\", scheme11(schemeBrBG, interpolateBrBG)],\n [\"prgn\", scheme11(schemePRGn, interpolatePRGn)],\n [\"piyg\", scheme11(schemePiYG, interpolatePiYG)],\n [\"puor\", scheme11(schemePuOr, interpolatePuOr)],\n [\"rdbu\", scheme11(schemeRdBu, interpolateRdBu)],\n [\"rdgy\", scheme11(schemeRdGy, interpolateRdGy)],\n [\"rdylbu\", scheme11(schemeRdYlBu, interpolateRdYlBu)],\n [\"rdylgn\", scheme11(schemeRdYlGn, interpolateRdYlGn)],\n [\"spectral\", scheme11(schemeSpectral, interpolateSpectral)],\n\n // reversed diverging (for temperature data)\n [\"burd\", scheme11r(schemeRdBu, interpolateRdBu)],\n [\"buylrd\", scheme11r(schemeRdYlBu, interpolateRdYlBu)],\n\n // sequential (single-hue)\n [\"blues\", scheme9(schemeBlues, interpolateBlues)],\n [\"greens\", scheme9(schemeGreens, interpolateGreens)],\n [\"greys\", scheme9(schemeGreys, interpolateGreys)],\n [\"oranges\", scheme9(schemeOranges, interpolateOranges)],\n [\"purples\", scheme9(schemePurples, interpolatePurples)],\n [\"reds\", scheme9(schemeReds, interpolateReds)],\n\n // sequential (multi-hue)\n [\"turbo\", schemei(interpolateTurbo)],\n [\"viridis\", schemei(interpolateViridis)],\n [\"magma\", schemei(interpolateMagma)],\n [\"inferno\", schemei(interpolateInferno)],\n [\"plasma\", schemei(interpolatePlasma)],\n [\"cividis\", schemei(interpolateCividis)],\n [\"cubehelix\", schemei(interpolateCubehelixDefault)],\n [\"warm\", schemei(interpolateWarm)],\n [\"cool\", schemei(interpolateCool)],\n [\"bugn\", scheme9(schemeBuGn, interpolateBuGn)],\n [\"bupu\", scheme9(schemeBuPu, interpolateBuPu)],\n [\"gnbu\", scheme9(schemeGnBu, interpolateGnBu)],\n [\"orrd\", scheme9(schemeOrRd, interpolateOrRd)],\n [\"pubu\", scheme9(schemePuBu, interpolatePuBu)],\n [\"pubugn\", scheme9(schemePuBuGn, interpolatePuBuGn)],\n [\"purd\", scheme9(schemePuRd, interpolatePuRd)],\n [\"rdpu\", scheme9(schemeRdPu, interpolateRdPu)],\n [\"ylgn\", scheme9(schemeYlGn, interpolateYlGn)],\n [\"ylgnbu\", scheme9(schemeYlGnBu, interpolateYlGnBu)],\n [\"ylorbr\", scheme9(schemeYlOrBr, interpolateYlOrBr)],\n [\"ylorrd\", scheme9(schemeYlOrRd, interpolateYlOrRd)],\n\n // cyclical\n [\"rainbow\", schemeicyclical(interpolateRainbow)],\n [\"sinebow\", schemeicyclical(interpolateSinebow)]\n]);\n\nfunction scheme9(scheme, interpolate) {\n return ({length: n}) => {\n if (n === 1) return [scheme[3][1]]; // favor midpoint\n if (n === 2) return [scheme[3][1], scheme[3][2]]; // favor darker\n n = Math.max(3, Math.floor(n));\n return n > 9 ? quantize(interpolate, n) : scheme[n];\n };\n}\n\nfunction scheme11(scheme, interpolate) {\n return ({length: n}) => {\n if (n === 2) return [scheme[3][0], scheme[3][2]]; // favor diverging extrema\n n = Math.max(3, Math.floor(n));\n return n > 11 ? quantize(interpolate, n) : scheme[n];\n };\n}\n\nfunction scheme11r(scheme, interpolate) {\n return ({length: n}) => {\n if (n === 2) return [scheme[3][2], scheme[3][0]]; // favor diverging extrema\n n = Math.max(3, Math.floor(n));\n return n > 11 ? quantize((t) => interpolate(1 - t), n) : scheme[n].slice().reverse();\n };\n}\n\nfunction schemei(interpolate) {\n return ({length: n}) => quantize(interpolate, Math.max(2, Math.floor(n)));\n}\n\nfunction schemeicyclical(interpolate) {\n return ({length: n}) => quantize(interpolate, Math.floor(n) + 1).slice(0, -1);\n}\n\nexport function ordinalScheme(scheme) {\n const s = `${scheme}`.toLowerCase();\n if (!ordinalSchemes.has(s)) throw new Error(`unknown ordinal scheme: ${s}`);\n return ordinalSchemes.get(s);\n}\n\nexport function ordinalRange(scheme, length) {\n const s = ordinalScheme(scheme);\n const r = typeof s === \"function\" ? s({length}) : s;\n return r.length !== length ? r.slice(0, length) : r;\n}\n\n// If the specified domain contains only booleans (ignoring null and undefined),\n// returns a corresponding range where false is mapped to the low color and true\n// is mapped to the high color of the specified scheme.\nexport function maybeBooleanRange(domain, scheme = \"greys\") {\n const range = new Set();\n const [f, t] = ordinalRange(scheme, 2);\n for (const value of domain) {\n if (value == null) continue;\n if (value === true) range.add(t);\n else if (value === false) range.add(f);\n else return;\n }\n return [...range];\n}\n\nconst quantitativeSchemes = new Map([\n // diverging\n [\"brbg\", interpolateBrBG],\n [\"prgn\", interpolatePRGn],\n [\"piyg\", interpolatePiYG],\n [\"puor\", interpolatePuOr],\n [\"rdbu\", interpolateRdBu],\n [\"rdgy\", interpolateRdGy],\n [\"rdylbu\", interpolateRdYlBu],\n [\"rdylgn\", interpolateRdYlGn],\n [\"spectral\", interpolateSpectral],\n\n // reversed diverging (for temperature data)\n [\"burd\", (t) => interpolateRdBu(1 - t)],\n [\"buylrd\", (t) => interpolateRdYlBu(1 - t)],\n\n // sequential (single-hue)\n [\"blues\", interpolateBlues],\n [\"greens\", interpolateGreens],\n [\"greys\", interpolateGreys],\n [\"purples\", interpolatePurples],\n [\"reds\", interpolateReds],\n [\"oranges\", interpolateOranges],\n\n // sequential (multi-hue)\n [\"turbo\", interpolateTurbo],\n [\"viridis\", interpolateViridis],\n [\"magma\", interpolateMagma],\n [\"inferno\", interpolateInferno],\n [\"plasma\", interpolatePlasma],\n [\"cividis\", interpolateCividis],\n [\"cubehelix\", interpolateCubehelixDefault],\n [\"warm\", interpolateWarm],\n [\"cool\", interpolateCool],\n [\"bugn\", interpolateBuGn],\n [\"bupu\", interpolateBuPu],\n [\"gnbu\", interpolateGnBu],\n [\"orrd\", interpolateOrRd],\n [\"pubugn\", interpolatePuBuGn],\n [\"pubu\", interpolatePuBu],\n [\"purd\", interpolatePuRd],\n [\"rdpu\", interpolateRdPu],\n [\"ylgnbu\", interpolateYlGnBu],\n [\"ylgn\", interpolateYlGn],\n [\"ylorbr\", interpolateYlOrBr],\n [\"ylorrd\", interpolateYlOrRd],\n\n // cyclical\n [\"rainbow\", interpolateRainbow],\n [\"sinebow\", interpolateSinebow]\n]);\n\nexport function quantitativeScheme(scheme) {\n const s = `${scheme}`.toLowerCase();\n if (!quantitativeSchemes.has(s)) throw new Error(`unknown quantitative scheme: ${s}`);\n return quantitativeSchemes.get(s);\n}\n\nconst divergingSchemes = new Set([\n \"brbg\",\n \"prgn\",\n \"piyg\",\n \"puor\",\n \"rdbu\",\n \"rdgy\",\n \"rdylbu\",\n \"rdylgn\",\n \"spectral\",\n \"burd\",\n \"buylrd\"\n]);\n\nexport function isDivergingScheme(scheme) {\n return scheme != null && divergingSchemes.has(`${scheme}`.toLowerCase());\n}\n","import {\n descending,\n extent,\n interpolateHcl,\n interpolateHsl,\n interpolateLab,\n interpolateNumber,\n interpolateRgb,\n interpolateRound,\n min,\n max,\n median,\n quantile,\n quantize,\n reverse as reverseof,\n scaleLinear,\n scaleLog,\n scalePow,\n scaleQuantile,\n scaleSymlog,\n scaleThreshold,\n scaleIdentity,\n ticks\n} from \"d3\";\nimport {positive, negative, finite} from \"../defined.js\";\nimport {arrayify, constant, orderof, slice, maybeNiceInterval, maybeRangeInterval} from \"../options.js\";\nimport {ordinalRange, quantitativeScheme} from \"./schemes.js\";\nimport {registry, radius, opacity, color, length} from \"./index.js\";\n\nexport const flip = (i) => (t) => i(1 - t);\nconst unit = [0, 1];\n\nconst interpolators = new Map([\n // numbers\n [\"number\", interpolateNumber],\n\n // color spaces\n [\"rgb\", interpolateRgb],\n [\"hsl\", interpolateHsl],\n [\"hcl\", interpolateHcl],\n [\"lab\", interpolateLab]\n]);\n\nexport function maybeInterpolator(interpolate) {\n const i = `${interpolate}`.toLowerCase();\n if (!interpolators.has(i)) throw new Error(`unknown interpolator: ${i}`);\n return interpolators.get(i);\n}\n\nexport function createScaleQ(\n key,\n scale,\n channels,\n {\n type,\n nice,\n clamp,\n zero,\n domain = inferAutoDomain(key, channels),\n unknown,\n round,\n scheme,\n interval,\n range = registry.get(key) === radius\n ? inferRadialRange(channels, domain)\n : registry.get(key) === length\n ? inferLengthRange(channels, domain)\n : registry.get(key) === opacity\n ? unit\n : undefined,\n interpolate = registry.get(key) === color\n ? scheme == null && range !== undefined\n ? interpolateRgb\n : quantitativeScheme(scheme !== undefined ? scheme : type === \"cyclical\" ? \"rainbow\" : \"turbo\")\n : round\n ? interpolateRound\n : interpolateNumber,\n reverse\n }\n) {\n interval = maybeRangeInterval(interval, type);\n if (type === \"cyclical\" || type === \"sequential\") type = \"linear\"; // shorthand for color schemes\n reverse = !!reverse;\n\n // Sometimes interpolate is a named interpolator, such as \"lab\" for Lab color\n // space. Other times interpolate is a function that takes two arguments and\n // is used in conjunction with the range. And other times the interpolate\n // function is a “fixed” interpolator on the [0, 1] interval, as when a\n // color scheme such as interpolateRdBu is used.\n if (typeof interpolate !== \"function\") {\n interpolate = maybeInterpolator(interpolate);\n }\n if (interpolate.length === 1) {\n if (reverse) {\n interpolate = flip(interpolate);\n reverse = false;\n }\n if (range === undefined) {\n range = Float64Array.from(domain, (_, i) => i / (domain.length - 1));\n if (range.length === 2) range = unit; // optimize common case of [0, 1]\n }\n scale.interpolate((range === unit ? constant : interpolatePiecewise)(interpolate));\n } else {\n scale.interpolate(interpolate);\n }\n\n // If a zero option is specified, we assume that the domain is numeric, and we\n // want to ensure that the domain crosses zero. However, note that the domain\n // may be reversed (descending) so we shouldn’t assume that the first value is\n // smaller than the last; and also it’s possible that the domain has more than\n // two values for a “poly” scale. And lastly be careful not to mutate input!\n if (zero) {\n const [min, max] = extent(domain);\n if (min > 0 || max < 0) {\n domain = slice(domain);\n if (orderof(domain) !== Math.sign(min)) domain[domain.length - 1] = 0;\n // [2, 1] or [-2, -1]\n else domain[0] = 0; // [1, 2] or [-1, -2]\n }\n }\n\n if (reverse) domain = reverseof(domain);\n scale.domain(domain).unknown(unknown);\n if (nice) scale.nice(maybeNice(nice, type)), (domain = scale.domain());\n if (range !== undefined) scale.range(range);\n if (clamp) scale.clamp(clamp);\n return {type, domain, range, scale, interpolate, interval};\n}\n\nfunction maybeNice(nice, type) {\n return nice === true ? undefined : typeof nice === \"number\" ? nice : maybeNiceInterval(nice, type);\n}\n\nexport function createScaleLinear(key, channels, options) {\n return createScaleQ(key, scaleLinear(), channels, options);\n}\n\nexport function createScaleSqrt(key, channels, options) {\n return createScalePow(key, channels, {...options, exponent: 0.5});\n}\n\nexport function createScalePow(key, channels, {exponent = 1, ...options}) {\n return createScaleQ(key, scalePow().exponent(exponent), channels, {...options, type: \"pow\"});\n}\n\nexport function createScaleLog(key, channels, {base = 10, domain = inferLogDomain(channels), ...options}) {\n return createScaleQ(key, scaleLog().base(base), channels, {...options, domain});\n}\n\nexport function createScaleSymlog(key, channels, {constant = 1, ...options}) {\n return createScaleQ(key, scaleSymlog().constant(constant), channels, options);\n}\n\nexport function createScaleQuantile(\n key,\n channels,\n {\n range,\n quantiles = range === undefined ? 5 : (range = [...range]).length, // deprecated; use n instead\n n = quantiles,\n scheme = \"rdylbu\",\n domain = inferQuantileDomain(channels),\n unknown,\n interpolate,\n reverse\n }\n) {\n if (range === undefined) {\n range =\n interpolate !== undefined\n ? quantize(interpolate, n)\n : registry.get(key) === color\n ? ordinalRange(scheme, n)\n : undefined;\n }\n if (domain.length > 0) {\n domain = scaleQuantile(domain, range === undefined ? {length: n} : range).quantiles();\n }\n return createScaleThreshold(key, channels, {domain, range, reverse, unknown});\n}\n\nexport function createScaleQuantize(\n key,\n channels,\n {\n range,\n n = range === undefined ? 5 : (range = [...range]).length,\n scheme = \"rdylbu\",\n domain = inferAutoDomain(key, channels),\n unknown,\n interpolate,\n reverse\n }\n) {\n const [min, max] = extent(domain);\n let thresholds;\n if (range === undefined) {\n thresholds = ticks(min, max, n); // approximate number of nice, round thresholds\n if (thresholds[0] <= min) thresholds.splice(0, 1); // drop exact lower bound\n if (thresholds[thresholds.length - 1] >= max) thresholds.pop(); // drop exact upper bound\n n = thresholds.length + 1;\n range =\n interpolate !== undefined\n ? quantize(interpolate, n)\n : registry.get(key) === color\n ? ordinalRange(scheme, n)\n : undefined;\n } else {\n thresholds = quantize(interpolateNumber(min, max), n + 1).slice(1, -1); // exactly n - 1 thresholds to match range\n if (min instanceof Date) thresholds = thresholds.map((x) => new Date(x)); // preserve date types\n }\n if (orderof(arrayify(domain)) < 0) thresholds.reverse(); // preserve descending domain\n return createScaleThreshold(key, channels, {domain: thresholds, range, reverse, unknown});\n}\n\nexport function createScaleThreshold(\n key,\n channels,\n {\n domain = [0], // explicit thresholds in ascending order\n unknown,\n scheme = \"rdylbu\",\n interpolate,\n range = interpolate !== undefined\n ? quantize(interpolate, domain.length + 1)\n : registry.get(key) === color\n ? ordinalRange(scheme, domain.length + 1)\n : undefined,\n reverse\n }\n) {\n domain = arrayify(domain);\n const sign = orderof(domain); // preserve descending domain\n if (!isNaN(sign) && !isOrdered(domain, sign)) throw new Error(`the ${key} scale has a non-monotonic domain`);\n if (reverse) range = reverseof(range); // domain ascending, so reverse range\n return {\n type: \"threshold\",\n scale: scaleThreshold(sign < 0 ? reverseof(domain) : domain, range === undefined ? [] : range).unknown(unknown),\n domain,\n range\n };\n}\n\nfunction isOrdered(domain, sign) {\n for (let i = 1, n = domain.length, d = domain[0]; i < n; ++i) {\n const s = descending(d, (d = domain[i]));\n if (s !== 0 && s !== sign) return false;\n }\n return true;\n}\n\nexport function createScaleIdentity() {\n return {type: \"identity\", scale: scaleIdentity()};\n}\n\nexport function inferDomain(channels, f = finite) {\n return channels.length\n ? [\n min(channels, ({value}) => (value === undefined ? value : min(value, f))),\n max(channels, ({value}) => (value === undefined ? value : max(value, f)))\n ]\n : [0, 1];\n}\n\nfunction inferAutoDomain(key, channels) {\n const type = registry.get(key);\n return (type === radius || type === opacity || type === length ? inferZeroDomain : inferDomain)(channels);\n}\n\nfunction inferZeroDomain(channels) {\n return [0, channels.length ? max(channels, ({value}) => (value === undefined ? value : max(value, finite))) : 1];\n}\n\n// We don’t want the upper bound of the radial domain to be zero, as this would\n// be degenerate, so we ignore nonpositive values. We also don’t want the\n// maximum default radius to exceed 30px.\nfunction inferRadialRange(channels, domain) {\n const hint = channels.find(({radius}) => radius !== undefined);\n if (hint !== undefined) return [0, hint.radius]; // a natural maximum radius, e.g. hexbins\n const h25 = quantile(channels, 0.5, ({value}) => (value === undefined ? NaN : quantile(value, 0.25, positive)));\n const range = domain.map((d) => 3 * Math.sqrt(d / h25));\n const k = 30 / max(range);\n return k < 1 ? range.map((r) => r * k) : range;\n}\n\n// We want a length scale’s domain to go from zero to a positive value, and to\n// treat negative lengths if any as inverted vectors of equivalent magnitude. We\n// also don’t want the maximum default length to exceed 60px.\nfunction inferLengthRange(channels, domain) {\n const h50 = median(channels, ({value}) => (value === undefined ? NaN : median(value, Math.abs)));\n const range = domain.map((d) => (12 * d) / h50);\n const k = 60 / max(range);\n return k < 1 ? range.map((r) => r * k) : range;\n}\n\nfunction inferLogDomain(channels) {\n for (const {value} of channels) {\n if (value !== undefined) {\n for (let v of value) {\n if (v > 0) return inferDomain(channels, positive);\n if (v < 0) return inferDomain(channels, negative);\n }\n }\n }\n return [1, 10];\n}\n\nfunction inferQuantileDomain(channels) {\n const domain = [];\n for (const {value} of channels) {\n if (value === undefined) continue;\n for (const v of value) domain.push(v);\n }\n return domain;\n}\n\nexport function interpolatePiecewise(interpolate) {\n return (i, j) => (t) => interpolate(i + t * (j - i));\n}\n","import {\n descending,\n interpolateNumber,\n interpolateRgb,\n piecewise,\n scaleDiverging,\n scaleDivergingLog,\n scaleDivergingPow,\n scaleDivergingSymlog\n} from \"d3\";\nimport {positive, negative} from \"../defined.js\";\nimport {quantitativeScheme} from \"./schemes.js\";\nimport {registry, color} from \"./index.js\";\nimport {inferDomain, maybeInterpolator, flip, interpolatePiecewise} from \"./quantitative.js\";\n\nfunction createScaleD(\n key,\n scale,\n transform,\n channels,\n {\n type,\n nice,\n clamp,\n domain = inferDomain(channels),\n unknown,\n pivot = 0,\n scheme,\n range,\n symmetric = true,\n interpolate = registry.get(key) === color\n ? scheme == null && range !== undefined\n ? interpolateRgb\n : quantitativeScheme(scheme !== undefined ? scheme : \"rdbu\")\n : interpolateNumber,\n reverse\n }\n) {\n pivot = +pivot;\n let [min, max] = domain;\n if (descending(min, max) < 0) ([min, max] = [max, min]), (reverse = !reverse);\n min = Math.min(min, pivot);\n max = Math.max(max, pivot);\n\n // Sometimes interpolate is a named interpolator, such as \"lab\" for Lab color\n // space. Other times interpolate is a function that takes two arguments and\n // is used in conjunction with the range. And other times the interpolate\n // function is a “fixed” interpolator on the [0, 1] interval, as when a\n // color scheme such as interpolateRdBu is used.\n if (typeof interpolate !== \"function\") {\n interpolate = maybeInterpolator(interpolate);\n }\n\n // If an explicit range is specified, promote it to a piecewise interpolator.\n if (range !== undefined) {\n interpolate =\n interpolate.length === 1 ? interpolatePiecewise(interpolate)(...range) : piecewise(interpolate, range);\n }\n\n // Reverse before normalization.\n if (reverse) interpolate = flip(interpolate);\n\n // Normalize the interpolator for symmetric difference around the pivot.\n if (symmetric) {\n const mid = transform.apply(pivot);\n const mindelta = mid - transform.apply(min);\n const maxdelta = transform.apply(max) - mid;\n if (mindelta < maxdelta) min = transform.invert(mid - maxdelta);\n else if (mindelta > maxdelta) max = transform.invert(mid + mindelta);\n }\n\n scale.domain([min, pivot, max]).unknown(unknown).interpolator(interpolate);\n if (clamp) scale.clamp(clamp);\n if (nice) scale.nice(nice);\n return {type, domain: [min, max], pivot, interpolate, scale};\n}\n\nexport function createScaleDiverging(key, channels, options) {\n return createScaleD(key, scaleDiverging(), transformIdentity, channels, options);\n}\n\nexport function createScaleDivergingSqrt(key, channels, options) {\n return createScaleDivergingPow(key, channels, {...options, exponent: 0.5});\n}\n\nexport function createScaleDivergingPow(key, channels, {exponent = 1, ...options}) {\n return createScaleD(key, scaleDivergingPow().exponent((exponent = +exponent)), transformPow(exponent), channels, {\n ...options,\n type: \"diverging-pow\"\n });\n}\n\nexport function createScaleDivergingLog(\n key,\n channels,\n {base = 10, pivot = 1, domain = inferDomain(channels, pivot < 0 ? negative : positive), ...options}\n) {\n return createScaleD(key, scaleDivergingLog().base((base = +base)), transformLog, channels, {\n domain,\n pivot,\n ...options\n });\n}\n\nexport function createScaleDivergingSymlog(key, channels, {constant = 1, ...options}) {\n return createScaleD(\n key,\n scaleDivergingSymlog().constant((constant = +constant)),\n transformSymlog(constant),\n channels,\n options\n );\n}\n\nconst transformIdentity = {\n apply(x) {\n return x;\n },\n invert(x) {\n return x;\n }\n};\n\nconst transformLog = {\n apply: Math.log,\n invert: Math.exp\n};\n\nconst transformSqrt = {\n apply(x) {\n return Math.sign(x) * Math.sqrt(Math.abs(x));\n },\n invert(x) {\n return Math.sign(x) * (x * x);\n }\n};\n\nfunction transformPow(exponent) {\n return exponent === 0.5\n ? transformSqrt\n : {\n apply(x) {\n return Math.sign(x) * Math.pow(Math.abs(x), exponent);\n },\n invert(x) {\n return Math.sign(x) * Math.pow(Math.abs(x), 1 / exponent);\n }\n };\n}\n\nfunction transformSymlog(constant) {\n return {\n apply(x) {\n return Math.sign(x) * Math.log1p(Math.abs(x / constant));\n },\n invert(x) {\n return Math.sign(x) * Math.expm1(Math.abs(x)) * constant;\n }\n };\n}\n","import {scaleTime, scaleUtc} from \"d3\";\nimport {createScaleQ} from \"./quantitative.js\";\n\nfunction createScaleT(key, scale, channels, options) {\n return createScaleQ(key, scale, channels, options);\n}\n\nexport function createScaleTime(key, channels, options) {\n return createScaleT(key, scaleTime(), channels, options);\n}\n\nexport function createScaleUtc(key, channels, options) {\n return createScaleT(key, scaleUtc(), channels, options);\n}\n","import {InternSet, extent, quantize, reverse as reverseof, sort, symbolsFill, symbolsStroke} from \"d3\";\nimport {scaleBand, scaleOrdinal, scalePoint, scaleImplicit} from \"d3\";\nimport {ascendingDefined} from \"../defined.js\";\nimport {isNoneish, map, maybeRangeInterval} from \"../options.js\";\nimport {maybeSymbol} from \"../symbol.js\";\nimport {registry, color, position, symbol} from \"./index.js\";\nimport {maybeBooleanRange, ordinalScheme, quantitativeScheme} from \"./schemes.js\";\n\n// This denotes an implicitly ordinal color scale: the scale type was not set,\n// but the associated values are strings or booleans. If the associated defined\n// values are entirely boolean, the range will default to greys. You can opt out\n// of this by setting the type explicitly.\nexport const ordinalImplicit = Symbol(\"ordinal\");\n\nfunction createScaleO(key, scale, channels, {type, interval, domain, range, reverse, hint}) {\n interval = maybeRangeInterval(interval, type);\n if (domain === undefined) domain = inferDomain(channels, interval, key);\n if (type === \"categorical\" || type === ordinalImplicit) type = \"ordinal\"; // shorthand for color schemes\n if (reverse) domain = reverseof(domain);\n scale.domain(domain);\n if (range !== undefined) {\n // If the range is specified as a function, pass it the domain.\n if (typeof range === \"function\") range = range(domain);\n scale.range(range);\n }\n return {type, domain, range, scale, hint, interval};\n}\n\nexport function createScaleOrdinal(key, channels, {type, interval, domain, range, scheme, unknown, ...options}) {\n interval = maybeRangeInterval(interval, type);\n if (domain === undefined) domain = inferDomain(channels, interval, key);\n let hint;\n if (registry.get(key) === symbol) {\n hint = inferSymbolHint(channels);\n range = range === undefined ? inferSymbolRange(hint) : map(range, maybeSymbol);\n } else if (registry.get(key) === color) {\n if (range === undefined && (type === \"ordinal\" || type === ordinalImplicit)) {\n range = maybeBooleanRange(domain, scheme);\n if (range !== undefined) scheme = undefined; // Don’t re-apply scheme.\n }\n if (scheme === undefined && range === undefined) {\n scheme = type === \"ordinal\" ? \"turbo\" : \"tableau10\";\n }\n if (scheme !== undefined) {\n if (range !== undefined) {\n const interpolate = quantitativeScheme(scheme);\n const t0 = range[0],\n d = range[1] - range[0];\n range = ({length: n}) => quantize((t) => interpolate(t0 + d * t), n);\n } else {\n range = ordinalScheme(scheme);\n }\n }\n }\n if (unknown === scaleImplicit) {\n throw new Error(`implicit unknown on ${key} scale is not supported`);\n }\n return createScaleO(key, scaleOrdinal().unknown(unknown), channels, {...options, type, domain, range, hint});\n}\n\nexport function createScalePoint(key, channels, {align = 0.5, padding = 0.5, ...options}) {\n return maybeRound(scalePoint().align(align).padding(padding), channels, options, key);\n}\n\nexport function createScaleBand(\n key,\n channels,\n {\n align = 0.5,\n padding = 0.1,\n paddingInner = padding,\n paddingOuter = key === \"fx\" || key === \"fy\" ? 0 : padding,\n ...options\n }\n) {\n return maybeRound(\n scaleBand().align(align).paddingInner(paddingInner).paddingOuter(paddingOuter),\n channels,\n options,\n key\n );\n}\n\nfunction maybeRound(scale, channels, options, key) {\n let {round} = options;\n if (round !== undefined) scale.round((round = !!round));\n scale = createScaleO(key, scale, channels, options);\n scale.round = round; // preserve for autoScaleRound\n return scale;\n}\n\nfunction inferDomain(channels, interval, key) {\n const values = new InternSet();\n for (const {value, domain} of channels) {\n if (domain !== undefined) return domain(); // see channelDomain\n if (value === undefined) continue;\n for (const v of value) values.add(v);\n }\n if (interval !== undefined) {\n const [min, max] = extent(values).map(interval.floor, interval);\n return interval.range(min, interval.offset(max));\n }\n if (values.size > 10e3 && registry.get(key) === position) {\n throw new Error(`implicit ordinal domain of ${key} scale has more than 10,000 values`);\n }\n return sort(values, ascendingDefined);\n}\n\n// If all channels provide a consistent hint, propagate it to the scale.\nfunction inferHint(channels, key) {\n let value;\n for (const {hint} of channels) {\n const candidate = hint?.[key];\n if (candidate === undefined) continue; // no hint here\n if (value === undefined) value = candidate;\n // first hint\n else if (value !== candidate) return; // inconsistent hint\n }\n return value;\n}\n\nfunction inferSymbolHint(channels) {\n return {\n fill: inferHint(channels, \"fill\"),\n stroke: inferHint(channels, \"stroke\")\n };\n}\n\nfunction inferSymbolRange(hint) {\n return isNoneish(hint.fill) ? symbolsStroke : symbolsFill;\n}\n","import {\n isOrdinal,\n isTemporal,\n isTemporalString,\n isNumericString,\n isScaleOptions,\n map,\n slice,\n coerceNumbers,\n coerceDates\n} from \"./options.js\";\nimport {registry, color, position, radius, opacity, symbol, length} from \"./scales/index.js\";\nimport {\n createScaleLinear,\n createScaleSqrt,\n createScalePow,\n createScaleLog,\n createScaleSymlog,\n createScaleQuantile,\n createScaleQuantize,\n createScaleThreshold,\n createScaleIdentity\n} from \"./scales/quantitative.js\";\nimport {\n createScaleDiverging,\n createScaleDivergingSqrt,\n createScaleDivergingPow,\n createScaleDivergingLog,\n createScaleDivergingSymlog\n} from \"./scales/diverging.js\";\nimport {isDivergingScheme} from \"./scales/schemes.js\";\nimport {createScaleTime, createScaleUtc} from \"./scales/temporal.js\";\nimport {createScaleOrdinal, createScalePoint, createScaleBand, ordinalImplicit} from \"./scales/ordinal.js\";\nimport {maybeSymbol} from \"./symbol.js\";\nimport {warn} from \"./warnings.js\";\n\nexport function createScales(\n channelsByScale,\n {\n label: globalLabel,\n inset: globalInset = 0,\n insetTop: globalInsetTop = globalInset,\n insetRight: globalInsetRight = globalInset,\n insetBottom: globalInsetBottom = globalInset,\n insetLeft: globalInsetLeft = globalInset,\n round,\n nice,\n clamp,\n zero,\n align,\n padding,\n projection,\n facet: {label: facetLabel = globalLabel} = {},\n ...options\n } = {}\n) {\n const scales = {};\n for (const [key, channels] of channelsByScale) {\n const scaleOptions = options[key];\n const scale = createScale(key, channels, {\n round: registry.get(key) === position ? round : undefined, // only for position\n nice,\n clamp,\n zero,\n align,\n padding,\n projection,\n ...scaleOptions\n });\n if (scale) {\n // populate generic scale options (percent, transform, insets)\n let {\n label = key === \"fx\" || key === \"fy\" ? facetLabel : globalLabel,\n percent,\n transform,\n inset,\n insetTop = inset !== undefined ? inset : key === \"y\" ? globalInsetTop : 0, // not fy\n insetRight = inset !== undefined ? inset : key === \"x\" ? globalInsetRight : 0, // not fx\n insetBottom = inset !== undefined ? inset : key === \"y\" ? globalInsetBottom : 0, // not fy\n insetLeft = inset !== undefined ? inset : key === \"x\" ? globalInsetLeft : 0 // not fx\n } = scaleOptions || {};\n if (transform == null) transform = undefined;\n else if (typeof transform !== \"function\") throw new Error(\"invalid scale transform; not a function\");\n scale.percent = !!percent;\n scale.label = label === undefined ? inferScaleLabel(channels, scale) : label;\n scale.transform = transform;\n if (key === \"x\" || key === \"fx\") {\n scale.insetLeft = +insetLeft;\n scale.insetRight = +insetRight;\n } else if (key === \"y\" || key === \"fy\") {\n scale.insetTop = +insetTop;\n scale.insetBottom = +insetBottom;\n }\n scales[key] = scale;\n }\n }\n return scales;\n}\n\nexport function createScaleFunctions(scales) {\n return Object.fromEntries(\n Object.entries(scales)\n .filter(([, {scale}]) => scale) // drop identity scales\n .map(([name, {scale, type, interval, label}]) => {\n scale.type = type; // for axis\n if (interval != null) scale.interval = interval; // for axis\n if (label != null) scale.label = label; // for axis\n return [name, scale];\n })\n );\n}\n\n// Mutates scale.range!\nexport function autoScaleRange(scales, dimensions) {\n const {x, y, fx, fy} = scales;\n const superdimensions = fx || fy ? outerDimensions(dimensions) : dimensions;\n if (fx) autoScaleRangeX(fx, superdimensions);\n if (fy) autoScaleRangeY(fy, superdimensions);\n const subdimensions = fx || fy ? innerDimensions(scales, dimensions) : dimensions;\n if (x) autoScaleRangeX(x, subdimensions);\n if (y) autoScaleRangeY(y, subdimensions);\n}\n\n// Channels can have labels; if all the channels for a given scale are\n// consistently labeled (i.e., have the same value if not undefined), and the\n// corresponding scale doesn’t already have an explicit label, then the\n// channels’ label is promoted to the scale. This inferred label should have an\n// orientation-appropriate arrow added when used as an axis, but we don’t want\n// to add the arrow when the label is set explicitly as an option; so, the\n// inferred label is distinguished as an object with an “inferred” property.\nfunction inferScaleLabel(channels = [], scale) {\n let label;\n for (const {label: l} of channels) {\n if (l === undefined) continue;\n if (label === undefined) label = l;\n else if (label !== l) return;\n }\n if (label === undefined) return;\n // Ignore the implicit label for temporal scales if it’s simply “date”.\n if (isTemporalScale(scale) && /^(date|time|year)$/i.test(label)) return;\n if (!isOrdinalScale(scale) && scale.percent) label = `${label} (%)`;\n return {inferred: true, toString: () => label};\n}\n\n// Returns the dimensions of the outer frame; this is subdivided into facets\n// with the margins of each facet collapsing into the outer margins.\nexport function outerDimensions(dimensions) {\n const {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n width,\n height,\n facet: {\n marginTop: facetMarginTop,\n marginRight: facetMarginRight,\n marginBottom: facetMarginBottom,\n marginLeft: facetMarginLeft\n }\n } = dimensions;\n return {\n marginTop: Math.max(marginTop, facetMarginTop),\n marginRight: Math.max(marginRight, facetMarginRight),\n marginBottom: Math.max(marginBottom, facetMarginBottom),\n marginLeft: Math.max(marginLeft, facetMarginLeft),\n width,\n height\n };\n}\n\n// Returns the dimensions of each facet.\nexport function innerDimensions({fx, fy}, dimensions) {\n const {marginTop, marginRight, marginBottom, marginLeft, width, height} = outerDimensions(dimensions);\n return {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n width: fx ? fx.scale.bandwidth() + marginLeft + marginRight : width,\n height: fy ? fy.scale.bandwidth() + marginTop + marginBottom : height\n };\n}\n\nfunction autoScaleRangeX(scale, dimensions) {\n if (scale.range === undefined) {\n const {insetLeft, insetRight} = scale;\n const {width, marginLeft = 0, marginRight = 0} = dimensions;\n const left = marginLeft + insetLeft;\n const right = width - marginRight - insetRight;\n scale.range = [left, Math.max(left, right)];\n if (!isOrdinalScale(scale)) scale.range = piecewiseRange(scale);\n scale.scale.range(scale.range);\n }\n autoScaleRound(scale);\n}\n\nfunction autoScaleRangeY(scale, dimensions) {\n if (scale.range === undefined) {\n const {insetTop, insetBottom} = scale;\n const {height, marginTop = 0, marginBottom = 0} = dimensions;\n const top = marginTop + insetTop;\n const bottom = height - marginBottom - insetBottom;\n scale.range = [Math.max(top, bottom), top];\n if (!isOrdinalScale(scale)) scale.range = piecewiseRange(scale);\n else scale.range.reverse();\n scale.scale.range(scale.range);\n }\n autoScaleRound(scale);\n}\n\nfunction autoScaleRound(scale) {\n if (scale.round === undefined && isBandScale(scale) && roundError(scale) <= 30) {\n scale.scale.round(true);\n }\n}\n\n// If we were to turn on rounding for this band or point scale, how much wasted\n// space would it introduce (on both ends of the range)? This must match\n// d3.scaleBand’s rounding behavior:\n// https://github.com/d3/d3-scale/blob/83555bd759c7314420bd4240642beda5e258db9e/src/band.js#L20-L32\nfunction roundError({scale}) {\n const n = scale.domain().length;\n const [start, stop] = scale.range();\n const paddingInner = scale.paddingInner ? scale.paddingInner() : 1;\n const paddingOuter = scale.paddingOuter ? scale.paddingOuter() : scale.padding();\n const m = n - paddingInner;\n const step = Math.abs(stop - start) / Math.max(1, m + paddingOuter * 2);\n return (step - Math.floor(step)) * m;\n}\n\nfunction piecewiseRange(scale) {\n const length = scale.scale.domain().length + isThresholdScale(scale);\n if (!(length > 2)) return scale.range;\n const [start, end] = scale.range;\n return Array.from({length}, (_, i) => start + (i / (length - 1)) * (end - start));\n}\n\nexport function normalizeScale(key, scale, hint) {\n return createScale(key, hint === undefined ? undefined : [{hint}], {...scale});\n}\n\nfunction createScale(key, channels = [], options = {}) {\n const type = inferScaleType(key, channels, options);\n\n // Warn for common misuses of implicit ordinal scales. We disable this test if\n // you specify a scale interval or if you set the domain or range explicitly,\n // since setting the domain or range (typically with a cardinality of more than\n // two) is another indication that you intended for the scale to be ordinal; we\n // also disable it for facet scales since these are always band scales.\n if (\n options.type === undefined &&\n options.domain === undefined &&\n options.range === undefined &&\n options.interval == null &&\n key !== \"fx\" &&\n key !== \"fy\" &&\n isOrdinalScale({type})\n ) {\n const values = channels.map(({value}) => value).filter((value) => value !== undefined);\n if (values.some(isTemporal))\n warn(\n `Warning: some data associated with the ${key} scale are dates. Dates are typically associated with a \"utc\" or \"time\" scale rather than a \"${formatScaleType(\n type\n )}\" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can specify the interval of the ${key} scale (e.g., d3.utcDay), or you can suppress this warning by setting the type of the ${key} scale to \"${formatScaleType(\n type\n )}\".`\n );\n else if (values.some(isTemporalString))\n warn(\n `Warning: some data associated with the ${key} scale are strings that appear to be dates (e.g., YYYY-MM-DD). If these strings represent dates, you should parse them to Date objects. Dates are typically associated with a \"utc\" or \"time\" scale rather than a \"${formatScaleType(\n type\n )}\" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can suppress this warning by setting the type of the ${key} scale to \"${formatScaleType(\n type\n )}\".`\n );\n else if (values.some(isNumericString))\n warn(\n `Warning: some data associated with the ${key} scale are strings that appear to be numbers. If these strings represent numbers, you should parse or coerce them to numbers. Numbers are typically associated with a \"linear\" scale rather than a \"${formatScaleType(\n type\n )}\" scale. If you want to treat this data as ordinal, you can specify the interval of the ${key} scale (e.g., 1 for integers), or you can suppress this warning by setting the type of the ${key} scale to \"${formatScaleType(\n type\n )}\".`\n );\n }\n\n options.type = type; // Mutates input!\n\n // Once the scale type is known, coerce the associated channel values and any\n // explicitly-specified domain to the expected type.\n switch (type) {\n case \"diverging\":\n case \"diverging-sqrt\":\n case \"diverging-pow\":\n case \"diverging-log\":\n case \"diverging-symlog\":\n case \"cyclical\":\n case \"sequential\":\n case \"linear\":\n case \"sqrt\":\n case \"threshold\":\n case \"quantile\":\n case \"pow\":\n case \"log\":\n case \"symlog\":\n options = coerceType(channels, options, coerceNumbers);\n break;\n case \"identity\":\n switch (registry.get(key)) {\n case position:\n options = coerceType(channels, options, coerceNumbers);\n break;\n case symbol:\n options = coerceType(channels, options, coerceSymbols);\n break;\n }\n break;\n case \"utc\":\n case \"time\":\n options = coerceType(channels, options, coerceDates);\n break;\n }\n\n switch (type) {\n case \"diverging\":\n return createScaleDiverging(key, channels, options);\n case \"diverging-sqrt\":\n return createScaleDivergingSqrt(key, channels, options);\n case \"diverging-pow\":\n return createScaleDivergingPow(key, channels, options);\n case \"diverging-log\":\n return createScaleDivergingLog(key, channels, options);\n case \"diverging-symlog\":\n return createScaleDivergingSymlog(key, channels, options);\n case \"categorical\":\n case \"ordinal\":\n case ordinalImplicit:\n return createScaleOrdinal(key, channels, options);\n case \"cyclical\":\n case \"sequential\":\n case \"linear\":\n return createScaleLinear(key, channels, options);\n case \"sqrt\":\n return createScaleSqrt(key, channels, options);\n case \"threshold\":\n return createScaleThreshold(key, channels, options);\n case \"quantile\":\n return createScaleQuantile(key, channels, options);\n case \"quantize\":\n return createScaleQuantize(key, channels, options);\n case \"pow\":\n return createScalePow(key, channels, options);\n case \"log\":\n return createScaleLog(key, channels, options);\n case \"symlog\":\n return createScaleSymlog(key, channels, options);\n case \"utc\":\n return createScaleUtc(key, channels, options);\n case \"time\":\n return createScaleTime(key, channels, options);\n case \"point\":\n return createScalePoint(key, channels, options);\n case \"band\":\n return createScaleBand(key, channels, options);\n case \"identity\":\n return registry.get(key) === position ? createScaleIdentity() : {type: \"identity\"};\n case undefined:\n return;\n default:\n throw new Error(`unknown scale type: ${type}`);\n }\n}\n\nfunction formatScaleType(type) {\n return typeof type === \"symbol\" ? type.description : type;\n}\n\n// A special type symbol when the x and y scales are replaced with a projection.\nconst typeProjection = {toString: () => \"projection\"};\n\nfunction inferScaleType(key, channels, {type, domain, range, scheme, pivot, projection}) {\n // The facet scales are always band scales; this cannot be changed.\n if (key === \"fx\" || key === \"fy\") return \"band\";\n\n // If a projection is specified, the x- and y-scales are disabled; these\n // channels will be projected rather than scaled. (But still check that none\n // of the associated channels are incompatible with a projection.)\n if ((key === \"x\" || key === \"y\") && projection != null) type = typeProjection;\n\n // If a channel dictates a scale type, make sure that it is consistent with\n // the user-specified scale type (if any) and all other channels. For example,\n // barY requires x to be a band scale and disallows any other scale type.\n for (const {type: t} of channels) {\n if (t === undefined) continue;\n else if (type === undefined) type = t;\n else if (type !== t) throw new Error(`scale incompatible with channel: ${type} !== ${t}`);\n }\n\n // If the scale, a channel, or user specified a (consistent) type, return it.\n if (type === typeProjection) return;\n if (type !== undefined) return type;\n\n // If there’s no data (and no type) associated with this scale, don’t create a scale.\n if (domain === undefined && !channels.some(({value}) => value !== undefined)) return;\n\n // Some scales have default types.\n const kind = registry.get(key);\n if (kind === radius) return \"sqrt\";\n if (kind === opacity || kind === length) return \"linear\";\n if (kind === symbol) return \"ordinal\";\n\n // If the domain or range has more than two values, assume it’s ordinal. You\n // can still use a “piecewise” (or “polylinear”) scale, but you must set the\n // type explicitly.\n if ((domain || range || []).length > 2) return asOrdinalType(kind);\n\n // Otherwise, infer the scale type from the data! Prefer the domain, if\n // present, over channels. (The domain and channels should be consistently\n // typed, and the domain is more explicit and typically much smaller.) We only\n // check the first defined value for expedience and simplicity; we expect\n // that the types are consistent.\n if (domain !== undefined) {\n if (isOrdinal(domain)) return asOrdinalType(kind);\n if (isTemporal(domain)) return \"utc\";\n if (kind === color && (pivot != null || isDivergingScheme(scheme))) return \"diverging\";\n return \"linear\";\n }\n\n // If any channel is ordinal or temporal, it takes priority.\n const values = channels.map(({value}) => value).filter((value) => value !== undefined);\n if (values.some(isOrdinal)) return asOrdinalType(kind);\n if (values.some(isTemporal)) return \"utc\";\n if (kind === color && (pivot != null || isDivergingScheme(scheme))) return \"diverging\";\n return \"linear\";\n}\n\n// Positional scales default to a point scale instead of an ordinal scale.\nfunction asOrdinalType(kind) {\n switch (kind) {\n case position:\n return \"point\";\n case color:\n return ordinalImplicit;\n default:\n return \"ordinal\";\n }\n}\n\nexport function isTemporalScale({type}) {\n return type === \"time\" || type === \"utc\";\n}\n\nexport function isOrdinalScale({type}) {\n return type === \"ordinal\" || type === \"point\" || type === \"band\" || type === ordinalImplicit;\n}\n\nexport function isThresholdScale({type}) {\n return type === \"threshold\";\n}\n\nfunction isBandScale({type}) {\n return type === \"point\" || type === \"band\";\n}\n\nexport function isDivergingScale({type}) {\n return /^diverging($|-)/.test(type);\n}\n\n// Certain marks have special behavior if a scale is collapsed, i.e. if the\n// domain is degenerate and represents only a single value such as [3, 3]; for\n// example, a rect will span the full extent of the chart along a collapsed\n// dimension (whereas a dot will simply be drawn in the center).\nexport function isCollapsed(scale) {\n if (scale === undefined) return true; // treat missing scale as collapsed\n const domain = scale.domain();\n const value = scale(domain[0]);\n for (let i = 1, n = domain.length; i < n; ++i) {\n if (scale(domain[i]) - value) {\n return false;\n }\n }\n return true;\n}\n\n// Mutates channel.value!\nfunction coerceType(channels, {domain, ...options}, coerceValues) {\n for (const c of channels) {\n if (c.value !== undefined) {\n c.value = coerceValues(c.value);\n }\n }\n return {\n domain: domain === undefined ? domain : coerceValues(domain),\n ...options\n };\n}\n\nfunction coerceSymbols(values) {\n return map(values, maybeSymbol);\n}\n\nexport function scale(options = {}) {\n let scale;\n for (const key in options) {\n if (!registry.has(key)) continue; // ignore unknown properties\n if (!isScaleOptions(options[key])) continue; // e.g., ignore {color: \"red\"}\n if (scale !== undefined) throw new Error(\"ambiguous scale definition; multiple scales found\");\n scale = exposeScale(normalizeScale(key, options[key]));\n }\n if (scale === undefined) throw new Error(\"invalid scale definition; no scale found\");\n return scale;\n}\n\nexport function exposeScales(scaleDescriptors) {\n return (key) => {\n if (!registry.has((key = `${key}`))) throw new Error(`unknown scale: ${key}`);\n return key in scaleDescriptors ? exposeScale(scaleDescriptors[key]) : undefined;\n };\n}\n\n// Note: axis- and legend-related properties (such as label, ticks and\n// tickFormat) are not included here as they do not affect the scale’s behavior.\nfunction exposeScale({scale, type, domain, range, interpolate, interval, transform, percent, pivot}) {\n if (type === \"identity\") return {type: \"identity\", apply: (d) => d, invert: (d) => d};\n const unknown = scale.unknown ? scale.unknown() : undefined;\n return {\n type,\n domain: slice(domain), // defensive copy\n ...(range !== undefined && {range: slice(range)}), // defensive copy\n ...(transform !== undefined && {transform}),\n ...(percent && {percent}), // only exposed if truthy\n ...(unknown !== undefined && {unknown}),\n ...(interval !== undefined && {interval}),\n\n // quantitative\n ...(interpolate !== undefined && {interpolate}),\n ...(scale.clamp && {clamp: scale.clamp()}),\n\n // diverging (always asymmetric; we never want to apply the symmetric transform twice)\n ...(pivot !== undefined && {pivot, symmetric: false}),\n\n // log, diverging-log\n ...(scale.base && {base: scale.base()}),\n\n // pow, diverging-pow\n ...(scale.exponent && {exponent: scale.exponent()}),\n\n // symlog, diverging-symlog\n ...(scale.constant && {constant: scale.constant()}),\n\n // band, point\n ...(scale.align && {align: scale.align(), round: scale.round()}),\n ...(scale.padding &&\n (scale.paddingInner\n ? {paddingInner: scale.paddingInner(), paddingOuter: scale.paddingOuter()}\n : {padding: scale.padding()})),\n ...(scale.bandwidth && {bandwidth: scale.bandwidth(), step: scale.step()}),\n\n // utilities\n apply: (t) => scale(t),\n ...(scale.invert && {invert: (t) => scale.invert(t)})\n };\n}\n","// @ts-ignore\nimport { scale } from '@observablehq/plot';\nimport { OptionsType } from './options/Options';\nimport { SCALE_BASE_OPACITY_COLOR } from './constant';\n\nimport type { SubDomain } from './index';\n\ntype ValueType = string | number | undefined;\n\nexport function normalizedScale(scaleOptions: OptionsType['scale']): any {\n try {\n const scaleType = Object.keys(scaleOptions!)[0];\n\n return scale({\n [scaleType]: {\n ...scaleOptions![scaleType as 'color' | 'opacity'],\n clamp: true,\n },\n });\n } catch (error) {\n return null;\n }\n}\n\nfunction scaleStyle(_scale: any, scaleOptions: OptionsType['scale']) {\n const styles: { fill?: Function; 'fill-opacity'?: Function } = {};\n\n if (scaleOptions!.hasOwnProperty('opacity')) {\n styles.fill = () =>\n // eslint-disable-next-line implicit-arrow-linebreak\n scaleOptions!.opacity!.baseColor || SCALE_BASE_OPACITY_COLOR;\n styles['fill-opacity'] = (d: ValueType) => _scale?.apply(d);\n } else {\n styles.fill = (d: ValueType) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n (typeof d === 'string' && d?.startsWith('#') ? d : _scale?.apply(d));\n }\n\n return styles;\n}\n\nexport function applyScaleStyle(\n elem: any,\n _scale: any,\n scaleOptions: OptionsType['scale'],\n keyname?: string,\n) {\n Object.entries(scaleStyle(_scale, scaleOptions)).forEach(([prop, val]) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n elem.style(prop, (d: SubDomain | string) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n val(keyname ? (d as SubDomain)[keyname as keyof SubDomain] : d)));\n}\n","import isFunction from 'lodash-es/isFunction';\nimport { hcl } from 'd3-color';\nimport { normalizedScale, applyScaleStyle } from '../scale';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport type { SubDomain, Timestamp } from '../index';\n\nexport default class Populator {\n calendar: CalHeatmap;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n }\n\n populate(): void {\n const { calendar } = this;\n const { scale, subDomain } = calendar.options.options;\n const colorScale = normalizedScale(scale);\n\n calendar.calendarPainter\n .root!.selectAll('.ch-domain')\n .selectAll('svg')\n .selectAll('g')\n .data((d: Timestamp) => calendar.domainCollection.get(d) || [])\n .call((element: any) => {\n applyScaleStyle(element.select('rect'), colorScale, scale!, 'v');\n })\n .call((element: any) => {\n element\n .select('text')\n .attr('style', (d: SubDomain) => {\n const defaultColor =\n hcl(colorScale?.apply(d.v)).l > 60 ? '#000' : '#fff';\n let color = subDomain.color || (d.v ? defaultColor : null);\n\n if (isFunction(color)) {\n color = color(d.t, d.v, colorScale?.apply(d.v));\n }\n\n if (!color) {\n return null;\n }\n\n return `fill: ${color};`;\n })\n .text((d: SubDomain, i: number, nodes: any[]) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n calendar.dateHelper.format(d.t, subDomain.label, d.v, nodes[i]));\n })\n .call(() => {\n calendar.eventEmitter.emit('fill');\n });\n }\n}\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nexport default eq;\n","import eq from './eq.js';\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nexport default assocIndexOf;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nexport default listCacheDelete;\n","import listCacheClear from './_listCacheClear.js';\nimport listCacheDelete from './_listCacheDelete.js';\nimport listCacheGet from './_listCacheGet.js';\nimport listCacheHas from './_listCacheHas.js';\nimport listCacheSet from './_listCacheSet.js';\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nexport default ListCache;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nexport default listCacheClear;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nexport default listCacheGet;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nexport default listCacheHas;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nexport default listCacheSet;\n","import root from './_root.js';\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nexport default coreJsData;\n","import coreJsData from './_coreJsData.js';\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nexport default isMasked;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nexport default toSource;\n","import isFunction from './isFunction.js';\nimport isMasked from './_isMasked.js';\nimport isObject from './isObject.js';\nimport toSource from './_toSource.js';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nexport default baseIsNative;\n","import baseIsNative from './_baseIsNative.js';\nimport getValue from './_getValue.js';\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nexport default getNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nexport default getValue;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nexport default Map;\n","import getNative from './_getNative.js';\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nexport default nativeCreate;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nexport default hashGet;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nexport default hashHas;\n","import hashClear from './_hashClear.js';\nimport hashDelete from './_hashDelete.js';\nimport hashGet from './_hashGet.js';\nimport hashHas from './_hashHas.js';\nimport hashSet from './_hashSet.js';\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nexport default Hash;\n","import isKeyable from './_isKeyable.js';\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nexport default getMapData;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nexport default isKeyable;\n","import mapCacheClear from './_mapCacheClear.js';\nimport mapCacheDelete from './_mapCacheDelete.js';\nimport mapCacheGet from './_mapCacheGet.js';\nimport mapCacheHas from './_mapCacheHas.js';\nimport mapCacheSet from './_mapCacheSet.js';\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nexport default MapCache;\n","import nativeCreate from './_nativeCreate.js';\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nexport default hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default hashDelete;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nexport default hashSet;\n","import Hash from './_Hash.js';\nimport ListCache from './_ListCache.js';\nimport Map from './_Map.js';\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nexport default mapCacheClear;\n","import getMapData from './_getMapData.js';\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default mapCacheDelete;\n","import getMapData from './_getMapData.js';\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nexport default mapCacheGet;\n","import getMapData from './_getMapData.js';\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nexport default mapCacheHas;\n","import getMapData from './_getMapData.js';\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nexport default mapCacheSet;\n","import ListCache from './_ListCache.js';\nimport stackClear from './_stackClear.js';\nimport stackDelete from './_stackDelete.js';\nimport stackGet from './_stackGet.js';\nimport stackHas from './_stackHas.js';\nimport stackSet from './_stackSet.js';\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nexport default Stack;\n","import ListCache from './_ListCache.js';\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nexport default stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nexport default stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nexport default stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nexport default stackHas;\n","import ListCache from './_ListCache.js';\nimport Map from './_Map.js';\nimport MapCache from './_MapCache.js';\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nexport default stackSet;\n","import getNative from './_getNative.js';\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nexport default defineProperty;\n","import defineProperty from './_defineProperty.js';\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nexport default baseAssignValue;\n","import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nexport default assignMergeValue;\n","import createBaseFor from './_createBaseFor.js';\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nexport default baseFor;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nexport default createBaseFor;\n","import root from './_root.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nexport default cloneBuffer;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nexport default Uint8Array;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nexport default cloneTypedArray;\n","import Uint8Array from './_Uint8Array.js';\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nexport default cloneArrayBuffer;\n","import isObject from './isObject.js';\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nexport default baseCreate;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nexport default overArg;\n","import overArg from './_overArg.js';\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nexport default getPrototype;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nexport default isPrototype;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nexport default baseIsArguments;\n","import baseIsArguments from './_baseIsArguments.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nexport default isArguments;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nexport default isLength;\n","import isFunction from './isFunction.js';\nimport isLength from './isLength.js';\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nexport default isArrayLike;\n","import root from './_root.js';\nimport stubFalse from './stubFalse.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nexport default isBuffer;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nexport default stubFalse;\n","import baseGetTag from './_baseGetTag.js';\nimport getPrototype from './_getPrototype.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nexport default isPlainObject;\n","import baseGetTag from './_baseGetTag.js';\nimport isLength from './isLength.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nexport default baseIsTypedArray;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nexport default nodeUtil;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nexport default baseUnary;\n","import baseIsTypedArray from './_baseIsTypedArray.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nexport default isTypedArray;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nexport default safeGet;\n","import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nexport default assignValue;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nexport default isIndex;\n","import baseTimes from './_baseTimes.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isIndex from './_isIndex.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default arrayLikeKeys;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nexport default baseTimes;\n","import isObject from './isObject.js';\nimport isPrototype from './_isPrototype.js';\nimport nativeKeysIn from './_nativeKeysIn.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeysIn;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default nativeKeysIn;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeysIn from './_baseKeysIn.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nexport default keysIn;\n","import copyObject from './_copyObject.js';\nimport keysIn from './keysIn.js';\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nexport default toPlainObject;\n","import assignValue from './_assignValue.js';\nimport baseAssignValue from './_baseAssignValue.js';\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nexport default copyObject;\n","import assignMergeValue from './_assignMergeValue.js';\nimport cloneBuffer from './_cloneBuffer.js';\nimport cloneTypedArray from './_cloneTypedArray.js';\nimport copyArray from './_copyArray.js';\nimport initCloneObject from './_initCloneObject.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isArrayLikeObject from './isArrayLikeObject.js';\nimport isBuffer from './isBuffer.js';\nimport isFunction from './isFunction.js';\nimport isObject from './isObject.js';\nimport isPlainObject from './isPlainObject.js';\nimport isTypedArray from './isTypedArray.js';\nimport safeGet from './_safeGet.js';\nimport toPlainObject from './toPlainObject.js';\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nexport default baseMergeDeep;\n","import isArrayLike from './isArrayLike.js';\nimport isObjectLike from './isObjectLike.js';\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nexport default isArrayLikeObject;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nexport default copyArray;\n","import baseCreate from './_baseCreate.js';\nimport getPrototype from './_getPrototype.js';\nimport isPrototype from './_isPrototype.js';\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nexport default initCloneObject;\n","import Stack from './_Stack.js';\nimport assignMergeValue from './_assignMergeValue.js';\nimport baseFor from './_baseFor.js';\nimport baseMergeDeep from './_baseMergeDeep.js';\nimport isObject from './isObject.js';\nimport keysIn from './keysIn.js';\nimport safeGet from './_safeGet.js';\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nexport default baseMerge;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nexport default identity;\n","import apply from './_apply.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nexport default overRest;\n","import constant from './constant.js';\nimport defineProperty from './_defineProperty.js';\nimport identity from './identity.js';\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nexport default baseSetToString;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nexport default constant;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nexport default shortOut;\n","import baseSetToString from './_baseSetToString.js';\nimport shortOut from './_shortOut.js';\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nexport default setToString;\n","import identity from './identity.js';\nimport overRest from './_overRest.js';\nimport setToString from './_setToString.js';\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nexport default baseRest;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nexport default apply;\n","import baseMerge from './_baseMerge.js';\nimport createAssigner from './_createAssigner.js';\n\n/**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * if (_.isArray(objValue)) {\n * return objValue.concat(srcValue);\n * }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\nvar mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n baseMerge(object, source, srcIndex, customizer);\n});\n\nexport default mergeWith;\n","import baseRest from './_baseRest.js';\nimport isIterateeCall from './_isIterateeCall.js';\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nexport default createAssigner;\n","import eq from './eq.js';\nimport isArrayLike from './isArrayLike.js';\nimport isIndex from './_isIndex.js';\nimport isObject from './isObject.js';\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nexport default isIterateeCall;\n","import MapCache from './_MapCache.js';\nimport setCacheAdd from './_setCacheAdd.js';\nimport setCacheHas from './_setCacheHas.js';\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nexport default SetCache;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nexport default arraySome;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nexport default setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nexport default setCacheHas;\n","import SetCache from './_SetCache.js';\nimport arraySome from './_arraySome.js';\nimport cacheHas from './_cacheHas.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nexport default equalArrays;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nexport default cacheHas;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nexport default mapToArray;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nexport default setToArray;\n","import Symbol from './_Symbol.js';\nimport Uint8Array from './_Uint8Array.js';\nimport eq from './eq.js';\nimport equalArrays from './_equalArrays.js';\nimport mapToArray from './_mapToArray.js';\nimport setToArray from './_setToArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nexport default equalByTag;\n","import arrayFilter from './_arrayFilter.js';\nimport stubArray from './stubArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nexport default getSymbols;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nexport default arrayFilter;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nexport default stubArray;\n","import overArg from './_overArg.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nexport default nativeKeys;\n","import isPrototype from './_isPrototype.js';\nimport nativeKeys from './_nativeKeys.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeys;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeys from './_baseKeys.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nexport default keys;\n","import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbols from './_getSymbols.js';\nimport keys from './keys.js';\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nexport default getAllKeys;\n","import arrayPush from './_arrayPush.js';\nimport isArray from './isArray.js';\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nexport default baseGetAllKeys;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nexport default arrayPush;\n","import getAllKeys from './_getAllKeys.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nexport default equalObjects;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nexport default DataView;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nexport default Promise;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nexport default Set;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nexport default WeakMap;\n","import DataView from './_DataView.js';\nimport Map from './_Map.js';\nimport Promise from './_Promise.js';\nimport Set from './_Set.js';\nimport WeakMap from './_WeakMap.js';\nimport baseGetTag from './_baseGetTag.js';\nimport toSource from './_toSource.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nexport default getTag;\n","import Stack from './_Stack.js';\nimport equalArrays from './_equalArrays.js';\nimport equalByTag from './_equalByTag.js';\nimport equalObjects from './_equalObjects.js';\nimport getTag from './_getTag.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nexport default baseIsEqualDeep;\n","import baseIsEqualDeep from './_baseIsEqualDeep.js';\nimport isObjectLike from './isObjectLike.js';\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nexport default baseIsEqual;\n","import baseIsEqual from './_baseIsEqual.js';\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nexport default isEqual;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n}\n\nexport default baseHas;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","import isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nexport default isKey;\n","import MapCache from './_MapCache.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nexport default memoize;\n","import memoizeCapped from './_memoizeCapped.js';\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nexport default stringToPath;\n","import memoize from './memoize.js';\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nexport default memoizeCapped;\n","import Symbol from './_Symbol.js';\nimport arrayMap from './_arrayMap.js';\nimport isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default baseToString;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nexport default arrayMap;\n","import isArray from './isArray.js';\nimport isKey from './_isKey.js';\nimport stringToPath from './_stringToPath.js';\nimport toString from './toString.js';\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nexport default castPath;\n","import baseToString from './_baseToString.js';\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nexport default toString;\n","import isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default toKey;\n","import baseHas from './_baseHas.js';\nimport hasPath from './_hasPath.js';\n\n/**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\nfunction has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n}\n\nexport default has;\n","import castPath from './_castPath.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isIndex from './_isIndex.js';\nimport isLength from './isLength.js';\nimport toKey from './_toKey.js';\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nexport default hasPath;\n","import baseGet from './_baseGet.js';\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nexport default get;\n","import castPath from './_castPath.js';\nimport toKey from './_toKey.js';\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nexport default baseGet;\n","import baseSet from './_baseSet.js';\n\n/**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\nfunction set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n}\n\nexport default set;\n","import assignValue from './_assignValue.js';\nimport castPath from './_castPath.js';\nimport isIndex from './_isIndex.js';\nimport isObject from './isObject.js';\nimport toKey from './_toKey.js';\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n}\n\nexport default baseSet;\n","import castArray from 'lodash-es/castArray';\nimport isFunction from 'lodash-es/isFunction';\nimport isString from 'lodash-es/isString';\nimport type { SubDomainOptions } from './Options';\n\nexport default {\n range: (value: number): number => Math.max(+value, 1),\n 'date.highlight': (args: Date[] | Date): Date[] => castArray(args),\n 'subDomain.label': (\n value: SubDomainOptions['label'],\n ): string | Function | null =>\n // eslint-disable-next-line\n ((isString(value) && value !== '') || isFunction(value) ? value : null),\n};\n","'use strict';\n/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */\n/* eslint-disable regexp/no-useless-quantifier -- testing */\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar regexpFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar shared = require('../internals/shared');\nvar create = require('../internals/object-create');\nvar getInternalState = require('../internals/internal-state').get;\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\nvar nativeExec = RegExp.prototype.exec;\nvar patchedExec = nativeExec;\nvar charAt = uncurryThis(''.charAt);\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n call(nativeExec, re1, 'a');\n call(nativeExec, re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;\n\nif (PATCH) {\n patchedExec = function exec(string) {\n var re = this;\n var state = getInternalState(re);\n var str = toString(string);\n var raw = state.raw;\n var result, reCopy, lastIndex, match, i, object, group;\n\n if (raw) {\n raw.lastIndex = re.lastIndex;\n result = call(patchedExec, raw, str);\n re.lastIndex = raw.lastIndex;\n return result;\n }\n\n var groups = state.groups;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = call(regexpFlags, re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = replace(flags, 'y', '');\n if (indexOf(flags, 'g') === -1) {\n flags += 'g';\n }\n\n strCopy = stringSlice(str, re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = call(nativeExec, sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = stringSlice(match.input, charsAdded);\n match[0] = stringSlice(match[0], charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn't work for /(.?)?/\n call(nativeReplace, match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n if (match && groups) {\n match.groups = object = create(null);\n for (i = 0; i < groups.length; i++) {\n group = groups[i];\n object[group[0]] = match[group[1]];\n }\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","import baseGetTag from './_baseGetTag.js';\nimport isArray from './isArray.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nexport default isString;\n","import mergeWith from 'lodash-es/mergeWith';\nimport isEqual from 'lodash-es/isEqual';\nimport has from 'lodash-es/has';\nimport get from 'lodash-es/get';\nimport set from 'lodash-es/set';\nimport type { Ls } from 'dayjs';\nimport type { DomainType, Timestamp } from '../index';\nimport {\n OPTIONS_DEFAULT_DOMAIN_TYPE,\n OPTIONS_DEFAULT_SUBDOMAIN_TYPE,\n OPTIONS_DEFAULT_SUBDOMAIN_WIDTH,\n OPTIONS_DEFAULT_SUBDOMAIN_HEIGHT,\n OPTIONS_DEFAULT_SUBDOMAIN_GUTTER,\n OPTIONS_DEFAULT_SUBDOMAIN_RADIUS,\n OPTIONS_DEFAULT_THEME,\n OPTIONS_DEFAULT_ANIMATION_DURATION,\n OPTIONS_DEFAULT_ITEM_SELECTOR,\n OPTIONS_DEFAULT_RANGE,\n SCALE_BASE_COLOR_SCHEME,\n SCALE_BASE_COLOR_TYPE,\n SCALE_BASE_COLOR_DOMAIN,\n OPTIONS_DEFAULT_LOCALE,\n} from '../constant';\n\nimport OptionsPreProcessors from './OptionsPreProcessors';\n\ntype SortOrder = 'asc' | 'desc';\nexport type TextAlign = 'start' | 'middle' | 'end';\nexport type Padding = [number, number, number, number];\n\nexport type DomainOptions = {\n type: DomainType;\n gutter: number;\n padding: Padding;\n dynamicDimension: boolean;\n label: LabelOptions;\n sort: SortOrder;\n};\n\ntype LabelOptions = {\n text?:\n | string\n | null\n | ((timestamp: Timestamp, element: SVGElement) => string);\n position: 'top' | 'right' | 'bottom' | 'left';\n textAlign: TextAlign;\n offset: {\n x: number;\n y: number;\n };\n rotate: null | 'left' | 'right';\n width: number;\n height: number;\n};\n\nexport type SubDomainOptions = {\n type: string;\n width: number;\n height: number;\n gutter: number;\n radius: number;\n label:\n | string\n | null\n | ((timestamp: Timestamp, value: number, element: SVGElement) => string);\n color?:\n | string\n | ((\n timestamp: Timestamp,\n value: number | string | null | undefined,\n backgroundColor: string,\n ) => string);\n sort: SortOrder;\n};\n\nexport type DataGroupType = 'sum' | 'count' | 'min' | 'max' | 'average';\n\ntype DateOptions = {\n start: Date;\n min?: Date;\n max?: Date;\n highlight: Date[];\n locale: string | Partial<(typeof Ls)[0]>;\n timezone?: string;\n};\n\nexport type DataRecord = Record;\nexport type DataOptions = {\n source: string | DataRecord[];\n type: 'json' | 'csv' | 'tsv' | 'txt';\n requestInit: object;\n x: string | ((datum: DataRecord) => number);\n y: string | ((datum: DataRecord) => number);\n groupY:\n | DataGroupType\n | ((values: (string | number | null)[]) => string | number | null);\n defaultValue: null | number | string;\n};\n\ntype ScaleOptions = {\n opacity?: {\n domain: number[];\n type?: string;\n baseColor: string;\n };\n color?: {\n domain: number[];\n scheme?: string;\n range?: string[];\n interpolate?: any;\n type?: string;\n };\n};\n\nexport type OptionsType = {\n itemSelector: string;\n range: number;\n domain: DomainOptions;\n subDomain: SubDomainOptions;\n date: DateOptions;\n data: DataOptions;\n scale?: ScaleOptions;\n animationDuration: number;\n verticalOrientation: boolean;\n theme: 'light' | 'dark';\n};\n\ntype InternalOptionsType = {\n x: {\n domainHorizontalLabelWidth: number;\n domainVerticalLabelHeight: number;\n };\n};\n\nexport default class Options {\n options: OptionsType & InternalOptionsType;\n\n preProcessors: {\n [key: string]: (value: any) => any;\n };\n\n constructor(processors = OptionsPreProcessors) {\n this.preProcessors = processors;\n\n this.options = {\n // selector string of the container to append the graph to\n // Accept any string value accepted by document.querySelector or CSS3\n // or an Element object\n itemSelector: OPTIONS_DEFAULT_ITEM_SELECTOR,\n\n // Number of domain to display on the graph\n range: OPTIONS_DEFAULT_RANGE,\n\n domain: {\n type: OPTIONS_DEFAULT_DOMAIN_TYPE,\n\n // Space between each domain, in pixel\n gutter: 4,\n\n padding: [0, 0, 0, 0],\n\n // Whether to enable dynamic domain size\n // The width/height on a domain depends on the number of\n // subDomains items count\n dynamicDimension: true,\n\n // Whether to show most recent date first\n sort: 'asc',\n\n label: {\n // Formatting of the domain label\n // @default: undefined, will use the formatting\n // according to domain type\n // Accept any string accepted by dayjs.format()\n // or a function\n //\n // Refer to https://day.js.org/docs/en/display/format\n // for list of accepted string tokens used by dayjs.format()\n text: undefined,\n\n // valid: top, right, bottom, left\n position: 'bottom',\n\n // Valid are the direct svg values: start, middle, end\n textAlign: 'middle',\n\n // By default, there is no margin/padding around the label\n offset: {\n x: 0,\n y: 0,\n },\n\n rotate: null,\n\n // Used only on vertical orientation\n width: 100,\n\n // Used only on horizontal orientation\n height: 25,\n },\n },\n\n subDomain: {\n type: OPTIONS_DEFAULT_SUBDOMAIN_TYPE,\n\n // Width of each subDomain cell, in pixel\n width: OPTIONS_DEFAULT_SUBDOMAIN_WIDTH,\n\n // Height of each subDomain cell, in pixel\n height: OPTIONS_DEFAULT_SUBDOMAIN_HEIGHT,\n\n // Space between each subDomain cell, in pixel\n gutter: OPTIONS_DEFAULT_SUBDOMAIN_GUTTER,\n\n // Radius of each subDomain cell, in pixel\n radius: OPTIONS_DEFAULT_SUBDOMAIN_RADIUS,\n\n // Formatting of the text inside each subDomain cell\n // @default: null, no text\n // Accept any string accepted by dayjs.format()\n // or a function\n //\n // Refer to https://day.js.org/docs/en/display/format\n // for list of accepted string tokens used by dayjs.format()\n label: null,\n\n color: undefined,\n\n sort: 'asc',\n },\n\n date: {\n // Start date of the graph\n // @default now\n start: new Date(),\n\n min: undefined,\n\n max: undefined,\n\n // List of dates to highlight\n // Valid values:\n // - []: don't highlight anything\n // - an array of Date objects: highlight the specified dates\n highlight: [],\n\n locale: OPTIONS_DEFAULT_LOCALE,\n\n timezone: undefined,\n },\n\n // Calendar orientation\n // false: display domains side by side\n // true : display domains one under the other\n verticalOrientation: false,\n\n data: {\n // Data source\n // URL, where to fetch the original datas\n source: '',\n\n // Data type\n // Default: json\n type: 'json',\n\n requestInit: {},\n\n // keyname of the time property\n x: '',\n\n // keyname of the value property\n y: '',\n\n // Grouping function of the values\n groupY: 'sum',\n\n defaultValue: null,\n },\n\n scale: undefined,\n\n // Animation duration, in ms\n animationDuration: OPTIONS_DEFAULT_ANIMATION_DURATION,\n\n // Theme mode: dark/light\n theme: OPTIONS_DEFAULT_THEME,\n\n // Internally used options, do not edit not set\n x: {\n domainHorizontalLabelWidth: 0,\n domainVerticalLabelHeight: 0,\n },\n };\n }\n\n /**\n * Set a new value for an option, only if unchanged\n * @param {string} key Name of the option\n * @param {any} value Value of the option\n * @return {boolean} Whether the option have been changed\n */\n set(key: string, value: any): boolean {\n if (!has(this.options, key) || isEqual(get(this.options, key), value)) {\n return false;\n }\n\n set(\n this.options,\n key,\n has(this.preProcessors, key) ?\n get(this.preProcessors, key)(value) :\n value,\n );\n\n return true;\n }\n\n init(opts?: CalHeatmap.DeepPartial): void {\n this.options = {\n // eslint-disable-next-line arrow-body-style\n ...mergeWith(this.options, opts, (_, srcValue) => {\n return Array.isArray(srcValue) ? srcValue : undefined;\n }),\n };\n\n const { options } = this;\n\n Object.keys(this.preProcessors).forEach((key) => {\n set(options, key, get(this.preProcessors, key)(get(options, key)));\n });\n\n if (typeof options.scale === 'undefined') {\n this.initScale();\n }\n\n options.x.domainVerticalLabelHeight = options.domain.label.height;\n\n // When the label is affecting the height\n if (\n options.domain.label.position === 'top' ||\n options.domain.label.position === 'bottom'\n ) {\n options.x.domainHorizontalLabelWidth = 0;\n } else {\n options.x.domainVerticalLabelHeight = 0;\n options.x.domainHorizontalLabelWidth = options.domain.label.width;\n }\n\n if (\n options.domain.label.text === null ||\n options.domain.label.text === ''\n ) {\n options.x.domainVerticalLabelHeight = 0;\n options.x.domainHorizontalLabelWidth = 0;\n }\n }\n\n initScale() {\n this.options.scale = {\n color: {\n scheme: SCALE_BASE_COLOR_SCHEME,\n type: SCALE_BASE_COLOR_TYPE,\n domain: SCALE_BASE_COLOR_DOMAIN,\n },\n };\n }\n}\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.hasIndices) result += 'd';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.unicodeSets) result += 'v';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nvar UNSUPPORTED_Y = fails(function () {\n var re = $RegExp('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') !== null;\n});\n\n// UC Browser bug\n// https://github.com/zloirock/core-js/issues/1008\nvar MISSED_STICKY = UNSUPPORTED_Y || fails(function () {\n return !$RegExp('a', 'y').sticky;\n});\n\nvar BROKEN_CARET = UNSUPPORTED_Y || fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = $RegExp('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') !== null;\n});\n\nmodule.exports = {\n BROKEN_CARET: BROKEN_CARET,\n MISSED_STICKY: MISSED_STICKY,\n UNSUPPORTED_Y: UNSUPPORTED_Y\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('.', 's');\n return !(re.dotAll && re.test('\\n') && re.flags === 's');\n});\n","'use strict';\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?b)', 'g') -> /(?b)/g and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('(?b)', 'g');\n return re.exec('b').groups.a !== 'b' ||\n 'b'.replace(re, '$c') !== 'bc';\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (KEY, exec, FORCED, SHAM) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) !== 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () {\n execCalled = true;\n return null;\n };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n FORCED\n ) {\n var uncurriedNativeRegExpMethod = uncurryThis(/./[SYMBOL]);\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n var uncurriedNativeMethod = uncurryThis(nativeMethod);\n var $exec = regexp.exec;\n if ($exec === regexpExec || $exec === RegExpPrototype.exec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: uncurriedNativeRegExpMethod(regexp, str, arg2) };\n }\n return { done: true, value: uncurriedNativeMethod(str, regexp, arg2) };\n }\n return { done: false };\n });\n\n defineBuiltIn(String.prototype, KEY, methods[0]);\n defineBuiltIn(RegExpPrototype, SYMBOL, methods[1]);\n }\n\n if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n// eslint-disable-next-line redos/no-vulnerable -- safe\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace(replacement, symbols, function (match, ch) {\n var capture;\n switch (charAt(ch, 0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return stringSlice(str, 0, position);\n case \"'\": return stringSlice(str, tailPos);\n case '<':\n capture = namedCaptures[stringSlice(ch, 1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar regexpExec = require('../internals/regexp-exec');\n\nvar $TypeError = TypeError;\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (isCallable(exec)) {\n var result = call(exec, R, S);\n if (result !== null) anObject(result);\n return result;\n }\n if (classof(R) === 'RegExp') return call(regexpExec, R, S);\n throw new $TypeError('RegExp#exec called on incompatible receiver');\n};\n","'use strict';\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getMethod = require('../internals/get-method');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar max = Math.max;\nvar min = Math.min;\nvar concat = uncurryThis([].concat);\nvar push = uncurryThis([].push);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive\n return ''.replace(re, '$') !== '7';\n});\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = isNullOrUndefined(searchValue) ? undefined : getMethod(searchValue, REPLACE);\n return replacer\n ? call(replacer, searchValue, O, replaceValue)\n : call(nativeReplace, toString(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (string, replaceValue) {\n var rx = anObject(this);\n var S = toString(string);\n\n if (\n typeof replaceValue == 'string' &&\n stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 &&\n stringIndexOf(replaceValue, '$<') === -1\n ) {\n var res = maybeCallNative(nativeReplace, rx, S, replaceValue);\n if (res.done) return res.value;\n }\n\n var functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n\n var global = rx.global;\n var fullUnicode;\n if (global) {\n fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n\n var results = [];\n var result;\n while (true) {\n result = regExpExec(rx, S);\n if (result === null) break;\n\n push(results, result);\n if (!global) break;\n\n var matchStr = toString(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = toString(result[0]);\n var position = max(min(toIntegerOrInfinity(result.index), S.length), 0);\n var captures = [];\n var replacement;\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) push(captures, maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = concat([matched], captures, position, S);\n if (namedCaptures !== undefined) push(replacerArgs, namedCaptures);\n replacement = toString(apply(replaceValue, undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n\n return accumulatedResult + stringSlice(S, nextSourcePosition);\n }\n ];\n}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);\n","import {\n json, csv, dsv, text,\n} from 'd3-fetch';\n\nimport type { DataOptions, DataRecord } from './options/Options';\nimport type { Timestamp } from './index';\nimport type CalHeatmap from './CalHeatmap';\n\nexport default class DataFetcher {\n calendar: CalHeatmap;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n }\n\n /**\n * Fetch and interpret data from the datasource\n *\n * @param {string|object} source\n * @param {number} startTimestamp\n * @param {number} endTimestamp\n *\n * @return {Promize} A promise, that will return the final data when resolved\n */\n async getDatas(\n source: DataOptions['source'],\n startTimestamp: Timestamp,\n endTimestamp: Timestamp,\n ): Promise {\n if (typeof source === 'string' && source.length > 0) {\n return this.#fetch(source, startTimestamp, endTimestamp);\n }\n\n let d: DataRecord[] = [];\n if (Array.isArray(source)) {\n d = source;\n }\n\n return new Promise((resolve) => {\n resolve(d);\n });\n }\n\n parseURI(\n str: string,\n startTimestamp: Timestamp,\n endTimestamp: Timestamp,\n ): string {\n let newUri = str.replace(/\\{\\{start=(.*?)\\}\\}/g, (_, format) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n this.calendar.dateHelper.date(startTimestamp).format(format));\n newUri = newUri.replace(/\\{\\{end=(.*?)\\}\\}/g, (_, format) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n this.calendar.dateHelper.date(endTimestamp).format(format));\n\n return newUri;\n }\n\n #fetch(\n source: DataOptions['source'],\n startTimestamp: Timestamp,\n endTimestamp: Timestamp,\n ): Promise {\n const { type, requestInit } = this.calendar.options.options.data;\n\n const url = this.parseURI(source as string, startTimestamp, endTimestamp);\n\n switch (type) {\n case 'json':\n return json(url, requestInit);\n case 'csv':\n return csv(url, requestInit);\n case 'tsv':\n return dsv('\\t', url, requestInit);\n case 'txt':\n return text(url, requestInit);\n default:\n return new Promise((resolve) => {\n resolve([]);\n });\n }\n }\n}\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FUNCTION_NAME_EXISTS = require('../internals/function-name').EXISTS;\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\n\nvar FunctionPrototype = Function.prototype;\nvar functionToString = uncurryThis(FunctionPrototype.toString);\nvar nameRE = /function\\b(?:\\s|\\/\\*[\\S\\s]*?\\*\\/|\\/\\/[^\\n\\r]*[\\n\\r]+)*([^\\s(/]*)/;\nvar regExpExec = uncurryThis(nameRE.exec);\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !FUNCTION_NAME_EXISTS) {\n defineBuiltInAccessor(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return regExpExec(nameRE, functionToString(this))[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)25){var f=r(this).startOf(t).add(1,t).date(n),s=r(this).endOf(e);if(f.isBefore(s))return 1}var a=r(this).startOf(t).date(n).startOf(e).subtract(1,\"millisecond\"),o=this.diff(a,e,!0);return o<0?r(this).startOf(\"week\").week():Math.ceil(o)},f.weeks=function(e){return void 0===e&&(e=null),this.week(e)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_dayOfYear=t()}(this,(function(){\"use strict\";return function(e,t,n){t.prototype.dayOfYear=function(e){var t=Math.round((n(this).startOf(\"day\")-n(this).startOf(\"year\"))/864e5)+1;return null==e?t:this.add(e-t,\"day\")}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekday=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.weekday=function(e){var t=this.$locale().weekStart||0,i=this.$W,n=(i0&&(n=n[0]);t=(n=n.filter((function(e){return e})))[0];for(var i=1;i4&&(o+=7),n.add(o,e));return r.diff(u,\"week\")+1},d.isoWeekday=function(e){return this.$utils().u(e)?this.day()||7:this.day(this.day()%7?e:e-7)};var n=d.startOf;d.startOf=function(e,t){var i=this.$utils(),s=!!i.u(t)||t;return\"isoweek\"===i.p(e)?s?this.date(this.date()-(this.isoWeekday()-1)).startOf(\"day\"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf(\"day\"):n.bind(this)(e,t)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isLeapYear=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.isLeapYear=function(){return this.$y%4==0&&this.$y%100!=0||this.$y%400==0}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_advancedFormat=t()}(this,(function(){\"use strict\";return function(e,t){var r=t.prototype,n=r.format;r.format=function(e){var t=this,r=this.$locale();if(!this.isValid())return n.bind(this)(e);var s=this.$utils(),a=(e||\"YYYY-MM-DDTHH:mm:ssZ\").replace(/\\[([^\\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(e){switch(e){case\"Q\":return Math.ceil((t.$M+1)/3);case\"Do\":return r.ordinal(t.$D);case\"gggg\":return t.weekYear();case\"GGGG\":return t.isoWeekYear();case\"wo\":return r.ordinal(t.week(),\"W\");case\"w\":case\"ww\":return s.s(t.week(),\"w\"===e?1:2,\"0\");case\"W\":case\"WW\":return s.s(t.isoWeek(),\"W\"===e?1:2,\"0\");case\"k\":case\"kk\":return s.s(String(0===t.$H?24:t.$H),\"k\"===e?1:2,\"0\");case\"X\":return Math.floor(t.$d.getTime()/1e3);case\"x\":return t.$d.getTime();case\"z\":return\"[\"+t.offsetName()+\"]\";case\"zzz\":return\"[\"+t.offsetName(\"long\")+\"]\";default:return e}}));return n.bind(this)(a)}}}));","!function(t,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_utc=i()}(this,(function(){\"use strict\";var t=\"minute\",i=/[+-]\\d\\d(?::?\\d\\d)?/g,e=/([+-]|\\d\\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t)};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else r.call(this)};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if(\"string\"==typeof s&&(s=function(t){void 0===t&&(t=\"\");var s=t.match(i);if(!s)return null;var f=(\"\"+s[0]).match(e)||[\"-\",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:\"+\"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?\"YYYY-MM-DDTHH:mm:ss[Z]\":\"\");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return\"s\"===t&&this.$offset?n(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)}}}));","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_timezone=e()}(this,(function(){\"use strict\";var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(n,i,o){var r,a=function(t,n,i){void 0===i&&(i={});var o=new Date(t),r=function(t,n){void 0===n&&(n={});var i=n.timeZoneName||\"short\",o=t+\"|\"+i,r=e[o];return r||(r=new Intl.DateTimeFormat(\"en-US\",{hour12:!1,timeZone:t,year:\"numeric\",month:\"2-digit\",day:\"2-digit\",hour:\"2-digit\",minute:\"2-digit\",second:\"2-digit\",timeZoneName:i}),e[o]=r),r}(n,i);return r.formatToParts(o)},u=function(e,n){for(var i=a(e,n),r=[],u=0;u=0&&(r[c]=parseInt(m,10))}var d=r[3],l=24===d?0:d,h=r[0]+\"-\"+r[1]+\"-\"+r[2]+\" \"+l+\":\"+r[4]+\":\"+r[5]+\":000\",v=+e;return(o.utc(h).valueOf()-(v-=v%1e3))/6e4},f=i.prototype;f.tz=function(t,e){void 0===t&&(t=r);var n=this.utcOffset(),i=this.toDate(),a=i.toLocaleString(\"en-US\",{timeZone:t}),u=Math.round((i-new Date(a))/1e3/60),f=o(a,{locale:this.$L}).$set(\"millisecond\",this.$ms).utcOffset(15*-Math.round(i.getTimezoneOffset()/15)-u,!0);if(e){var s=f.utcOffset();f=f.add(n-s,\"minute\")}return f.$x.$timezone=t,f},f.offsetName=function(t){var e=this.$x.$timezone||o.tz.guess(),n=a(this.valueOf(),e,{timeZoneName:t}).find((function(t){return\"timezonename\"===t.type.toLowerCase()}));return n&&n.value};var s=f.startOf;f.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return s.call(this,t,e);var n=o(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\"),{locale:this.$L});return s.call(n,t,e).tz(this.$x.$timezone,!0)},o.tz=function(t,e,n){var i=n&&e,a=n||e||r,f=u(+o(),a);if(\"string\"!=typeof t)return o(t).tz(a);var s=function(t,e,n){var i=t-60*e*1e3,o=u(i,n);if(e===o)return[i,e];var r=u(i-=60*(o-e)*1e3,n);return o===r?[i,o]:[t-60*Math.min(o,r)*1e3,Math.max(o,r)]}(o.utc(t,i).valueOf(),f,a),m=s[0],c=s[1],d=o(m).utcOffset(c);return d.$x.$timezone=a,d},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(t){r=t}}}));","!function(n,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(n=\"undefined\"!=typeof globalThis?globalThis:n||self).dayjs_plugin_localeData=e()}(this,(function(){\"use strict\";return function(n,e,t){var r=e.prototype,o=function(n){return n&&(n.indexOf?n:n.s)},u=function(n,e,t,r,u){var i=n.name?n:n.$locale(),a=o(i[e]),s=o(i[t]),f=a||s.map((function(n){return n.slice(0,r)}));if(!u)return f;var d=i.weekStart;return f.map((function(n,e){return f[(e+(d||0))%7]}))},i=function(){return t.Ls[t.locale()]},a=function(n,e){return n.formats[e]||function(n){return n.replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(n,e,t){return e||t.slice(1)}))}(n.formats[e.toUpperCase()])},s=function(){var n=this;return{months:function(e){return e?e.format(\"MMMM\"):u(n,\"months\")},monthsShort:function(e){return e?e.format(\"MMM\"):u(n,\"monthsShort\",\"months\",3)},firstDayOfWeek:function(){return n.$locale().weekStart||0},weekdays:function(e){return e?e.format(\"dddd\"):u(n,\"weekdays\")},weekdaysMin:function(e){return e?e.format(\"dd\"):u(n,\"weekdaysMin\",\"weekdays\",2)},weekdaysShort:function(e){return e?e.format(\"ddd\"):u(n,\"weekdaysShort\",\"weekdays\",3)},longDateFormat:function(e){return a(n.$locale(),e)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};r.localeData=function(){return s.bind(this)()},t.localeData=function(){var n=i();return{firstDayOfWeek:function(){return n.weekStart||0},weekdays:function(){return t.weekdays()},weekdaysShort:function(){return t.weekdaysShort()},weekdaysMin:function(){return t.weekdaysMin()},months:function(){return t.months()},monthsShort:function(){return t.monthsShort()},longDateFormat:function(e){return a(n,e)},meridiem:n.meridiem,ordinal:n.ordinal}},t.months=function(){return u(i(),\"months\")},t.monthsShort=function(){return u(i(),\"monthsShort\",\"months\",3)},t.weekdays=function(n){return u(i(),\"weekdays\",null,null,n)},t.weekdaysShort=function(n){return u(i(),\"weekdaysShort\",\"weekdays\",3,n)},t.weekdaysMin=function(n){return u(i(),\"weekdaysMin\",\"weekdays\",2,n)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_localizedFormat=t()}(this,(function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"};return function(t,o,n){var r=o.prototype,i=r.format;n.en.formats=e,r.format=function(t){void 0===t&&(t=\"YYYY-MM-DDTHH:mm:ssZ\");var o=this.$locale().formats,n=function(t,o){return t.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var i=r&&r.toUpperCase();return n||o[r]||e[r]||o[i].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,o){return t||o.slice(1)}))}))}(t,void 0===o?{}:o);return i.call(this,n)}}}));","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_updateLocale=n()}(this,(function(){\"use strict\";return function(e,n,t){t.updateLocale=function(e,n){var o=t.Ls[e];if(o)return(n?Object.keys(n):[]).forEach((function(e){o[e]=n[e]})),o}}}));","import dayjs from 'dayjs';\nimport weekOfYear from 'dayjs/plugin/weekOfYear';\nimport dayOfYear from 'dayjs/plugin/dayOfYear';\nimport weekday from 'dayjs/plugin/weekday';\nimport minMax from 'dayjs/plugin/minMax';\nimport isoWeeksInYear from 'dayjs/plugin/isoWeeksInYear';\nimport isoWeek from 'dayjs/plugin/isoWeek';\nimport isLeapYear from 'dayjs/plugin/isLeapYear';\nimport advancedFormat from 'dayjs/plugin/advancedFormat';\nimport utc from 'dayjs/plugin/utc';\nimport timezone from 'dayjs/plugin/timezone';\nimport localeData from 'dayjs/plugin/localeData';\nimport localizedFormat from 'dayjs/plugin/localizedFormat';\nimport updateLocale from 'dayjs/plugin/updateLocale';\n\nimport type { ManipulateType, PluginFunc, Ls } from 'dayjs';\nimport type { OptionsType } from '../options/Options';\nimport type { Timestamp, DomainType } from '../index';\n\ndayjs.extend(weekOfYear);\ndayjs.extend(isoWeeksInYear);\ndayjs.extend(isoWeek);\ndayjs.extend(isLeapYear);\ndayjs.extend(dayOfYear);\ndayjs.extend(weekday);\ndayjs.extend(minMax);\ndayjs.extend(advancedFormat);\ndayjs.extend(utc);\ndayjs.extend(timezone);\ndayjs.extend(localeData);\ndayjs.extend(localizedFormat);\ndayjs.extend(updateLocale);\n\nconst DEFAULT_LOCALE = 'en';\n\nexport default class DateHelper {\n locale: OptionsType['date']['locale'];\n\n timezone: string;\n\n constructor() {\n this.locale = DEFAULT_LOCALE;\n this.timezone = dayjs.tz.guess();\n if (typeof window === 'object') {\n (window as any).dayjs ||= dayjs;\n }\n }\n\n async setup({ options }: { options: OptionsType }) {\n this.timezone = options.date.timezone || dayjs.tz.guess();\n const userLocale = options.date.locale;\n\n if (typeof userLocale === 'string' && userLocale !== DEFAULT_LOCALE) {\n let locale;\n if (typeof window === 'object') {\n locale =\n (window as any)[`dayjs_locale_${userLocale}`] ||\n (await this.loadBrowserLocale(userLocale));\n } else {\n locale = await this.loadNodeLocale(userLocale);\n }\n dayjs.locale(userLocale);\n this.locale = locale;\n }\n\n if (typeof userLocale === 'object') {\n if (userLocale.hasOwnProperty('name')) {\n dayjs.locale(userLocale.name, userLocale);\n this.locale = userLocale;\n } else {\n this.locale = dayjs.updateLocale(DEFAULT_LOCALE, userLocale);\n }\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n extend(dayjsPlugin: PluginFunc): dayjs.Dayjs {\n return dayjs.extend(dayjsPlugin);\n }\n\n /**\n * Return the week number, relative to its month\n *\n * @param {number|Date} d Date or timestamp in milliseconds\n * @returns {number} The week number, relative to the month [0-5]\n */\n getMonthWeekNumber(d: Timestamp | dayjs.Dayjs): number {\n const dayjsDate = this.date(d);\n const date = dayjsDate.startOf('day');\n const endOfWeek = dayjsDate.startOf('month').endOf('week');\n\n if (date <= endOfWeek) {\n return 1;\n }\n return Math.ceil(date.diff(endOfWeek, 'weeks', true)) + 1;\n }\n\n /**\n * Return the number of weeks in the given month\n *\n * As there is no fixed standard to specify which month a partial week should\n * belongs to, the ISO week date standard is used, where:\n * - the first week of the month should have at least 4 days\n *\n * @see https://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Timestamp | dayjs.Dayjs} d Datejs object or timestamp\n * @return {number} The number of weeks\n */\n getWeeksCountInMonth(d: Timestamp | dayjs.Dayjs): number {\n const pivotDate = this.date(d);\n\n return (\n this.getLastWeekOfMonth(pivotDate).diff(\n this.getFirstWeekOfMonth(pivotDate),\n 'week',\n ) + 1\n );\n }\n\n /**\n * Return the start of the first week of the month\n *\n * @see getWeeksCountInMonth() about standard warning\n * @return {dayjs.Dayjs} A dayjs object representing the start of the\n * first week\n */\n getFirstWeekOfMonth(d: Timestamp | dayjs.Dayjs): dayjs.Dayjs {\n const startOfMonth = this.date(d).startOf('month');\n let startOfFirstWeek = startOfMonth.startOf('week');\n if (startOfMonth.weekday() > 4) {\n startOfFirstWeek = startOfFirstWeek.add(1, 'week');\n }\n\n return startOfFirstWeek;\n }\n\n /**\n * Return the end of the last week of the month\n *\n * @see getWeeksCountInMonth() about standard warning\n * @return {dayjs.Dayjs} A dayjs object representing the end of the last week\n */\n getLastWeekOfMonth(d: Timestamp | dayjs.Dayjs): dayjs.Dayjs {\n const endOfMonth = this.date(d).endOf('month');\n let endOfLastWeek = endOfMonth.endOf('week');\n if (endOfMonth.weekday() < 4) {\n endOfLastWeek = endOfLastWeek.subtract(1, 'week');\n }\n\n return endOfLastWeek;\n }\n\n date(d: Timestamp | Date | dayjs.Dayjs | string = new Date()): dayjs.Dayjs {\n if (dayjs.isDayjs(d)) {\n return d;\n }\n\n return dayjs(d)\n .tz(this.timezone)\n .utcOffset(0)\n .locale(this.locale as (typeof Ls)[0] | string);\n }\n\n format(\n timestamp: Timestamp,\n formatter: null | string | Function,\n ...args: any\n ): string | null {\n if (typeof formatter === 'function') {\n return formatter(timestamp, ...args);\n }\n\n if (typeof formatter === 'string') {\n return this.date(timestamp).format(formatter);\n }\n\n return null;\n }\n\n /**\n * Return an array of time interval\n *\n * @param {number|Date} date A random date included in the wanted interval\n * @param {number|Date} range Length of the wanted interval, or a stop date.\n * @param {boolean} range Whether the end date should be excluded\n * from the result\n * @returns {Array} Array of unix timestamp, in milliseconds\n */\n intervals(\n interval: DomainType,\n date: Timestamp | Date | dayjs.Dayjs,\n range: number | Date | dayjs.Dayjs,\n excludeEnd: boolean = true,\n ): Timestamp[] {\n let start = this.date(date);\n let end: dayjs.Dayjs;\n if (typeof range === 'number') {\n end = start.add(range, interval as ManipulateType);\n } else if (dayjs.isDayjs(range)) {\n end = range;\n } else {\n end = this.date(range);\n }\n\n start = start.startOf(interval as ManipulateType);\n\n end = end.startOf(interval as ManipulateType);\n let pivot = dayjs.min(start, end)!;\n end = dayjs.max(start, end)!;\n const result: Timestamp[] = [];\n\n if (!excludeEnd) {\n end = end.add(1, 'second');\n }\n\n do {\n result.push(+pivot);\n pivot = pivot.add(1, interval as ManipulateType);\n } while (pivot < end);\n\n return result;\n }\n\n // this function will work cross-browser for loading scripts asynchronously\n // eslint-disable-next-line class-methods-use-this\n loadBrowserLocale(userLocale: string): Promise {\n return new Promise((resolve, reject) => {\n const s = document.createElement('script');\n s.type = 'text/javascript';\n s.async = true;\n s.src = `https://cdn.jsdelivr.net/npm/dayjs@1/locale/${userLocale}.js`;\n s.onerror = (err) => {\n reject(err);\n };\n s.onload = () => {\n resolve((window as any)[`dayjs_locale_${userLocale}`]);\n };\n document.head.appendChild(s);\n });\n }\n\n // eslint-disable-next-line class-methods-use-this\n loadNodeLocale(userLocale: string): Promise {\n return import(`dayjs/locale/${userLocale}.js`);\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\nvar stringIndexOf = uncurryThis(''.indexOf);\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~stringIndexOf(\n toString(requireObjectCoercible(this)),\n toString(notARegExp(searchString)),\n arguments.length > 1 ? arguments[1] : undefined\n );\n }\n});\n","import type TemplateCollection from '../TemplateCollection';\nimport type { DomainOptions, SubDomainOptions, DataOptions } from './Options';\nimport type { DomainType } from '../index';\n\nconst ALLOWED_DATA_TYPES = ['json', 'csv', 'tsv', 'txt'];\n\n/**\n * Ensure that critical options are valid\n *\n * @throw {Error} on critical invalid options\n * @return {boolean} Returns true when there is not critical errors\n */\nexport default function validate(\n templateCollection: TemplateCollection,\n {\n domain,\n subDomain,\n data,\n }: {\n domain: Partial;\n subDomain: Partial;\n data: Partial;\n },\n): boolean {\n const domainType = domain.type as DomainType;\n const subDomainType = subDomain.type as string;\n\n if (!templateCollection.has(domainType)) {\n throw new Error(`'${domainType}' is not a valid domain type'`);\n }\n\n if (!templateCollection.has(subDomainType)) {\n throw new Error(`'${subDomainType}' is not a valid subDomain type'`);\n }\n\n if (data.type && !ALLOWED_DATA_TYPES.includes(data.type)) {\n throw new Error(`The data type '${data.type}' is not valid data type`);\n }\n\n if (\n !(templateCollection.get(subDomainType).allowedDomainType || []).includes(\n domainType,\n )\n ) {\n throw new Error(\n `The subDomain.type '${subDomainType}' can not be used together ` +\n `with the domain type ${domainType}`,\n );\n }\n\n return true;\n}\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.es/ecma262/#sec-set-objects\ncollection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","import isEqual from 'lodash-es/isEqual';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport {\n PluginDefinition,\n PluginOptions,\n IPluginContructor,\n IPlugin,\n} from '../index';\n\ntype PluginSetting = {\n options?: PluginOptions;\n dirty: boolean;\n};\n\nfunction createPlugin(\n Creator: IPluginContructor,\n calendar: CalHeatmap,\n): IPlugin {\n return new Creator(calendar);\n}\n\nfunction extractPluginName(\n PluginClass: IPluginContructor,\n options?: PluginOptions,\n): string {\n return `${new PluginClass().name}${options?.key || ''}`;\n}\n\nexport default class PluginManager {\n calendar: CalHeatmap;\n\n settings: Map;\n\n plugins: Map;\n\n pendingPaint: Set;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n this.settings = new Map();\n this.plugins = new Map();\n this.pendingPaint = new Set();\n }\n\n add(plugins: PluginDefinition[]): void {\n plugins.forEach(([PluginClass, pluginOptions]) => {\n const name = extractPluginName(PluginClass, pluginOptions);\n\n const existingPlugin = this.plugins.get(name);\n\n if (\n existingPlugin &&\n this.settings.get(name) &&\n isEqual(this.settings.get(name)!.options, pluginOptions)\n ) {\n return;\n }\n\n this.settings.set(name, {\n options: pluginOptions,\n dirty: true,\n });\n\n if (!this.plugins.has(name)) {\n this.plugins.set(name, createPlugin(PluginClass, this.calendar));\n }\n\n this.pendingPaint.add(this.plugins.get(name)!);\n });\n }\n\n setupAll(): void {\n this.plugins.forEach((pluginInstance, name) => {\n const settings = this.settings.get(name);\n\n if (typeof settings !== 'undefined') {\n if (settings.dirty) {\n pluginInstance.setup(settings.options);\n settings.dirty = false;\n\n this.settings.set(name, settings);\n }\n }\n });\n }\n\n paintAll(): Promise[] {\n return Array.from(this.pendingPaint.values()).map((p) => p.paint());\n }\n\n destroyAll(): Promise[] {\n return this.allPlugins().map((p) => p.destroy());\n }\n\n getFromPosition(position: PluginOptions['position']): IPlugin[] {\n return this.allPlugins().filter(\n (plugin) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n plugin.options?.position === position,\n );\n }\n\n getHeightFromPosition(position: PluginOptions['position']): number {\n return this.getFromPosition(position)\n .map((d) => d.options.dimensions!.height)\n .reduce((a, b) => a + b, 0);\n }\n\n getWidthFromPosition(position: PluginOptions['position']): number {\n return this.getFromPosition(position)\n .map((d) => d.options.dimensions!.width)\n .reduce((a, b) => a + b, 0);\n }\n\n allPlugins(): IPlugin[] {\n return Array.from(this.plugins.values());\n }\n}\n","import minuteTemplate from './minute';\nimport hourTemplate from './hour';\nimport dayTemplate from './day';\nimport xDayTemplate from './xDay';\nimport ghDayTemplate from './ghDay';\nimport weekTemplate from './week';\nimport monthTemplate from './month';\nimport yearTemplate from './year';\n\nexport default [\n minuteTemplate,\n hourTemplate,\n dayTemplate,\n xDayTemplate,\n ghDayTemplate,\n weekTemplate,\n monthTemplate,\n yearTemplate,\n];\n","import type { Template, DomainType } from '../index';\n\nconst minuteTemplate: Template = (DateHelper) => {\n const COLUMNS_COUNT = 10;\n const ROWS_COUNT = 6;\n const ALLOWED_DOMAIN_TYPE: DomainType[] = ['day', 'hour'];\n\n return {\n name: 'minute',\n allowedDomainType: ALLOWED_DOMAIN_TYPE,\n rowsCount: () => COLUMNS_COUNT,\n columnsCount: () => ROWS_COUNT,\n mapping: (startTimestamp, endTimestamp) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n DateHelper.intervals(\n 'minute',\n startTimestamp,\n DateHelper.date(endTimestamp),\n ).map((ts, index: number) => ({\n t: ts,\n x: Math.floor(index / COLUMNS_COUNT),\n y: index % COLUMNS_COUNT,\n })),\n extractUnit: (ts) => DateHelper.date(ts).startOf('minute').valueOf(),\n };\n};\n\nexport default minuteTemplate;\n","import type { DomainOptions } from '../options/Options';\nimport type { Template, DomainType } from '../index';\n\nconst hourTemplate: Template = (\n DateHelper,\n { domain }: { domain: DomainOptions },\n) => {\n const TOTAL_ITEMS = 24;\n const ROWS_COUNT = 6;\n const ALLOWED_DOMAIN_TYPE: DomainType[] = ['month', 'week', 'day'];\n\n return {\n name: 'hour',\n allowedDomainType: ALLOWED_DOMAIN_TYPE,\n rowsCount: () => ROWS_COUNT,\n columnsCount: (ts) => {\n switch (domain.type) {\n case 'week':\n return (TOTAL_ITEMS / ROWS_COUNT) * 7;\n case 'month':\n return (\n (TOTAL_ITEMS / ROWS_COUNT) *\n (domain.dynamicDimension ? DateHelper.date(ts).daysInMonth() : 31)\n );\n case 'day':\n default:\n return TOTAL_ITEMS / ROWS_COUNT;\n }\n },\n mapping: (startTimestamp, endTimestamp) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n DateHelper.intervals(\n 'hour',\n startTimestamp,\n DateHelper.date(endTimestamp),\n ).map((ts) => {\n const date = DateHelper.date(ts);\n const hour = date.hour();\n const monthDate = date.date();\n let baseX = Math.floor(hour / ROWS_COUNT);\n const columnOffset = TOTAL_ITEMS / ROWS_COUNT;\n\n if (domain.type === 'month') {\n baseX += (monthDate - 1) * columnOffset;\n }\n if (domain.type === 'week') {\n baseX += +date.format('d') * columnOffset;\n }\n\n return {\n t: ts,\n x: baseX,\n y: Math.floor(hour % ROWS_COUNT),\n };\n }),\n extractUnit: (ts) => DateHelper.date(ts).startOf('hour').valueOf(),\n };\n};\n\nexport default hourTemplate;\n","import type { OptionsType, DomainOptions } from '../options/Options';\nimport type { Template, DomainType } from '../index';\n\nconst dayTemplate: Template = (\n DateHelper,\n {\n domain,\n verticalOrientation,\n }: {\n domain: DomainOptions;\n verticalOrientation: OptionsType['verticalOrientation'];\n },\n) => {\n const ROWS_COUNT = 7;\n const ALLOWED_DOMAIN_TYPE: DomainType[] = ['year', 'month', 'week'];\n\n return {\n name: 'day',\n allowedDomainType: ALLOWED_DOMAIN_TYPE,\n rowsCount: () => (domain.type === 'week' ? 1 : ROWS_COUNT),\n columnsCount: (ts) => {\n switch (domain.type) {\n case 'month':\n return Math.ceil(\n domain.dynamicDimension && !verticalOrientation ?\n DateHelper.getMonthWeekNumber(\n DateHelper.date(ts).endOf('month'),\n ) :\n 6, // In rare case, when the first week contains less than 3 days\n );\n case 'year':\n return Math.ceil(\n domain.dynamicDimension ?\n DateHelper.date(ts).endOf('year').dayOfYear() / ROWS_COUNT :\n 54,\n );\n case 'week':\n default:\n return ROWS_COUNT;\n }\n },\n mapping: (startTimestamp, endTimestamp) => {\n let weekNumber = 0;\n let x = -1;\n\n return DateHelper.intervals(\n 'day',\n startTimestamp,\n DateHelper.date(endTimestamp),\n ).map((ts) => {\n const date = DateHelper.date(ts);\n\n switch (domain.type) {\n case 'month':\n x = DateHelper.getMonthWeekNumber(ts) - 1;\n break;\n case 'year':\n if (weekNumber !== date.week()) {\n weekNumber = date.week();\n x += 1;\n }\n break;\n case 'week':\n x = date.weekday();\n break;\n default:\n }\n\n return {\n t: ts,\n x,\n y: domain.type === 'week' ? 0 : date.weekday(),\n };\n });\n },\n extractUnit: (ts) => DateHelper.date(ts).startOf('day').valueOf(),\n };\n};\n\nexport default dayTemplate;\n","import type { OptionsType, DomainOptions } from '../options/Options';\nimport type { Template, DomainType } from '../index';\n\nconst dayTemplate: Template = (\n DateHelper,\n {\n domain,\n verticalOrientation,\n }: {\n domain: DomainOptions;\n verticalOrientation: OptionsType['verticalOrientation'];\n },\n) => {\n const COLUMNS_COUNT = 7;\n const ALLOWED_DOMAIN_TYPE: DomainType[] = ['year', 'month', 'week'];\n\n return {\n name: 'xDay',\n allowedDomainType: ALLOWED_DOMAIN_TYPE,\n rowsCount: (ts) => {\n switch (domain.type) {\n case 'month':\n return Math.ceil(\n domain.dynamicDimension && !verticalOrientation ?\n DateHelper.getMonthWeekNumber(\n DateHelper.date(ts).endOf('month'),\n ) :\n 6, // In rare case, when the first week contains less than 3 days\n );\n case 'year':\n return Math.ceil(\n domain.dynamicDimension ?\n DateHelper.date(ts).endOf('year').dayOfYear() / COLUMNS_COUNT :\n 54,\n );\n case 'week':\n default:\n return COLUMNS_COUNT;\n }\n },\n columnsCount: () => {\n if (domain.type === 'week') {\n return 1;\n }\n return COLUMNS_COUNT;\n },\n mapping: (startTimestamp, endTimestamp) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n DateHelper.intervals(\n 'day',\n startTimestamp,\n DateHelper.date(endTimestamp),\n ).map((ts) => {\n const date = DateHelper.date(ts);\n const endWeekNumber = date.endOf('year').week();\n let x = 0;\n\n switch (domain.type) {\n case 'month':\n x = DateHelper.getMonthWeekNumber(ts) - 1;\n break;\n case 'year':\n if (endWeekNumber === 1 && date.week() === endWeekNumber) {\n x = date.subtract(1, 'week').week() + 1;\n }\n\n x = date.week() - 1;\n break;\n case 'week':\n x = date.weekday();\n break;\n default:\n }\n\n return {\n t: ts,\n y: x,\n x: domain.type === 'week' ? 0 : date.weekday(),\n };\n }),\n extractUnit: (ts) => DateHelper.date(ts).startOf('day').valueOf(),\n };\n};\n\nexport default dayTemplate;\n","import type { Template, DomainType } from '../index';\n\nconst dayTemplate: Template = (DateHelper) => {\n const ROWS_COUNT = 7;\n const ALLOWED_DOMAIN_TYPE: DomainType[] = ['month'];\n\n return {\n name: 'ghDay',\n allowedDomainType: ALLOWED_DOMAIN_TYPE,\n rowsCount: () => ROWS_COUNT,\n columnsCount: (ts) => DateHelper.getWeeksCountInMonth(ts),\n mapping: (startTimestamp, endTimestamp) => {\n const clampStart = DateHelper.getFirstWeekOfMonth(startTimestamp);\n const clampEnd = DateHelper.getFirstWeekOfMonth(endTimestamp);\n\n let x = -1;\n const pivotDay = clampStart.weekday();\n\n return DateHelper.intervals('day', clampStart, clampEnd).map((ts) => {\n const weekday = DateHelper.date(ts).weekday();\n if (weekday === pivotDay) {\n x += 1;\n }\n\n return {\n t: ts,\n x,\n y: weekday,\n };\n });\n },\n extractUnit: (ts) => DateHelper.date(ts).startOf('day').valueOf(),\n };\n};\n\nexport default dayTemplate;\n","import type { DomainOptions } from '../options/Options';\nimport type { Template, DomainType } from '../index';\n\nconst weekTemplate: Template = (\n DateHelper,\n { domain }: { domain: DomainOptions },\n) => {\n const ALLOWED_DOMAIN_TYPE: DomainType[] = ['year', 'month'];\n\n return {\n name: 'week',\n allowedDomainType: ALLOWED_DOMAIN_TYPE,\n rowsCount: () => 1,\n columnsCount: (ts) => {\n switch (domain.type) {\n case 'year':\n return domain.dynamicDimension ?\n DateHelper.date(ts).endOf('year').isoWeeksInYear() :\n 53;\n case 'month':\n return domain.dynamicDimension ?\n DateHelper.getWeeksCountInMonth(ts) :\n 5;\n default:\n return 1;\n }\n },\n mapping: (startTimestamp, endTimestamp) => {\n const clampStart = DateHelper.getFirstWeekOfMonth(startTimestamp);\n const clampEnd = DateHelper.getFirstWeekOfMonth(endTimestamp);\n\n return DateHelper.intervals('week', clampStart, clampEnd).map(\n (ts, i) => ({\n t: ts,\n x: i,\n y: 0,\n }),\n );\n },\n extractUnit: (ts) => DateHelper.date(ts).startOf('week').valueOf(),\n };\n};\n\nexport default weekTemplate;\n","import type { Template, DomainType } from '../index';\n\nconst monthTemplate: Template = (DateHelper) => {\n const ALLOWED_DOMAIN_TYPE: DomainType[] = ['year'];\n\n return {\n name: 'month',\n allowedDomainType: ALLOWED_DOMAIN_TYPE,\n rowsCount: () => 1,\n columnsCount: () => 12,\n mapping: (startTimestamp, endTimestamp) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n DateHelper.intervals(\n 'month',\n startTimestamp,\n DateHelper.date(endTimestamp),\n ).map((ts) => ({\n t: ts,\n x: DateHelper.date(ts).month(),\n y: 0,\n })),\n extractUnit: (ts) => DateHelper.date(ts).startOf('month').valueOf(),\n };\n};\n\nexport default monthTemplate;\n","import type { Template, DomainType } from '../index';\n\nconst yearTemplate: Template = (DateHelper) => {\n const ALLOWED_DOMAIN_TYPE: DomainType[] = [];\n\n return {\n name: 'year',\n allowedDomainType: ALLOWED_DOMAIN_TYPE,\n rowsCount: () => 1,\n columnsCount: () => 1,\n mapping: (startTimestamp, endTimestamp) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n DateHelper.intervals(\n 'year',\n startTimestamp,\n DateHelper.date(endTimestamp),\n ).map((ts, index) => ({\n t: ts,\n x: index,\n y: 0,\n })),\n extractUnit: (ts) => DateHelper.date(ts).startOf('year').valueOf(),\n };\n};\n\nexport default yearTemplate;\n","import castArray from 'lodash-es/castArray';\n\nimport DefaultTemplates from './templates/index';\nimport type Options from './options/Options';\nimport type { Template, TemplateResult } from './index';\nimport type DateHelper from './helpers/DateHelper';\n\nexport default class TemplateCollection {\n dateHelper: DateHelper;\n\n options: Options;\n\n settings: Map;\n\n // Whether the default templates has been initiated\n initiated: boolean;\n\n constructor(dateHelper: DateHelper, options: Options) {\n this.settings = new Map();\n this.dateHelper = dateHelper;\n this.options = options;\n this.initiated = false;\n }\n\n get(subDomainType: string): TemplateResult {\n return this.settings.get(subDomainType)!;\n }\n\n has(subDomainType: string): boolean {\n return this.settings.has(subDomainType);\n }\n\n init() {\n if (!this.initiated) {\n this.initiated = true;\n this.add(DefaultTemplates);\n }\n }\n\n add(templates: Template | Template[]) {\n this.init();\n\n const tplWithParent: string[] = [];\n castArray(templates).forEach((f) => {\n const template = f(this.dateHelper, this.options.options);\n this.settings.set(template.name, template);\n\n if (template.hasOwnProperty('parent')) {\n tplWithParent.push(template.name);\n }\n });\n\n tplWithParent.forEach((name) => {\n const parentTemplate = this.settings.get(\n this.settings.get(name)!.parent!,\n );\n\n if (!parentTemplate) {\n return;\n }\n\n this.settings.set(name, {\n ...parentTemplate,\n ...this.settings.get(name),\n });\n });\n }\n}\n","import EventEmmiter from 'eventemitter3';\nimport castArray from 'lodash-es/castArray';\nimport type { PluginFunc } from 'dayjs';\nimport type dayjs from 'dayjs';\n\nimport Navigator from './calendar/Navigator';\nimport CalendarPainter from './calendar/CalendarPainter';\nimport Populator from './calendar/Populator';\nimport Options from './options/Options';\nimport DataFetcher from './DataFetcher';\nimport DomainCollection from './calendar/DomainCollection';\nimport DateHelper from './helpers/DateHelper';\nimport validate from './options/OptionsValidator';\nimport PluginManager from './plugins/PluginManager';\nimport VERSION from './version';\n\nimport './cal-heatmap.scss';\n\nimport TemplateCollection from './TemplateCollection';\n\nimport type { OptionsType } from './options/Options';\nimport type {\n Template,\n Dimensions,\n PluginDefinition,\n Timestamp,\n} from './index';\n\nimport { ScrollDirection } from './constant';\n\nexport default class CalHeatmap {\n static VERSION = VERSION;\n\n options: Options;\n\n calendarPainter: CalendarPainter;\n\n populator: Populator;\n\n navigator: Navigator;\n\n eventEmitter: EventEmmiter;\n\n dataFetcher: DataFetcher;\n\n domainCollection!: DomainCollection;\n\n templateCollection: TemplateCollection;\n\n dateHelper: DateHelper;\n\n pluginManager: PluginManager;\n\n constructor() {\n // Default options\n this.options = new Options();\n\n // Init the helpers with the default options\n this.dateHelper = new DateHelper();\n this.templateCollection = new TemplateCollection(\n this.dateHelper,\n this.options,\n );\n this.dataFetcher = new DataFetcher(this);\n this.navigator = new Navigator(this);\n this.populator = new Populator(this);\n\n this.calendarPainter = new CalendarPainter(this);\n this.eventEmitter = new EventEmmiter();\n this.pluginManager = new PluginManager(this);\n }\n\n createDomainCollection(\n startDate: Timestamp | Date,\n range: number | Date,\n excludeEnd: boolean = true,\n ): DomainCollection {\n return new DomainCollection(\n this.dateHelper,\n this.options.options.domain.type,\n startDate,\n range,\n excludeEnd,\n );\n }\n\n // =========================================================================\n // PUBLIC API\n // =========================================================================\n\n /**\n * Setup and paint the calendar with the given options\n *\n * @param {Object} options The Options object\n * @return A Promise, which will fulfill once all the underlying asynchronous\n * tasks settle, whether resolved or rejected.\n */\n async paint(\n options?: CalHeatmap.DeepPartial,\n plugins?: PluginDefinition[] | PluginDefinition,\n ): Promise {\n this.options.init(options);\n await this.dateHelper.setup(this.options);\n\n this.templateCollection.init();\n\n try {\n validate(this.templateCollection, this.options.options);\n } catch (error) {\n return Promise.reject(error);\n }\n\n if (plugins) {\n this.pluginManager.add(castArray(plugins as any) as PluginDefinition[]);\n }\n\n this.calendarPainter.setup();\n\n // Record all the valid domains\n // Each domain value is a timestamp in milliseconds\n this.domainCollection = new DomainCollection(this.dateHelper);\n this.navigator.loadNewDomains(\n this.createDomainCollection(\n this.options.options.date.start,\n this.options.options.range,\n ),\n );\n\n return Promise.allSettled([this.calendarPainter.paint(), this.fill()]);\n }\n\n /**\n * Add a new subDomainTemplate\n *\n * @since 4.0.0\n * @param {SubDomainTemplate[] | SubDomainTemplate} templates\n * A single, or an array of SubDomainTemplate object\n * @return void\n */\n addTemplates(templates: Template | Template[]): void {\n this.templateCollection.add(templates);\n }\n\n /**\n * Shift the calendar by n domains forward\n *\n * @param {number} n Number of domain intervals to shift forward\n * @return A Promise, which will fulfill once all the underlying asynchronous\n * tasks settle, whether resolved or rejected.\n */\n next(n: number = 1): Promise {\n const loadDirection = this.navigator.loadNewDomains(\n this.createDomainCollection(this.domainCollection.max, n + 1).slice(n),\n ScrollDirection.SCROLL_FORWARD,\n );\n\n return Promise.allSettled([\n this.calendarPainter.paint(loadDirection),\n this.fill(),\n ]);\n }\n\n /**\n * Shift the calendar by n domains backward\n *\n * @param {number} n Number of domain intervals to shift backward\n * @return A Promise, which will fulfill once all the underlying asynchronous\n * tasks settle, whether resolved or rejected.\n */\n previous(n: number = 1): Promise {\n const loadDirection = this.navigator.loadNewDomains(\n this.createDomainCollection(this.domainCollection.min, -n),\n ScrollDirection.SCROLL_BACKWARD,\n );\n\n return Promise.allSettled([\n this.calendarPainter.paint(loadDirection),\n this.fill(),\n ]);\n }\n\n /**\n * Jump directly to a specific date\n *\n * JumpTo will scroll the calendar until the wanted domain with the specified\n * date is visible. Unless you set reset to true, the wanted domain\n * will not necessarily be the first domain of the calendar.\n *\n * @param {Date} date Jump to the domain containing that date\n * @param {boolean} reset Whether the wanted domain\n * should be the first domain of the calendar\n * @return A Promise, which will fulfill once all the underlying asynchronous\n * tasks settle, whether resolved or rejected.\n */\n jumpTo(date: Date, reset: boolean = false): Promise {\n return Promise.allSettled([\n this.calendarPainter.paint(this.navigator.jumpTo(date, reset)),\n this.fill(),\n ]);\n }\n\n /**\n * Fill the calendar with the given data\n *\n * @param {Object|string} dataSource The calendar's datasource,\n * same type as `options.data.source`\n * @return A Promise, which will fulfill once all the underlying asynchronous\n * tasks settle, whether resolved or rejected.\n */\n fill(dataSource = this.options.options.data.source): Promise {\n const { options } = this.options;\n const template = this.templateCollection;\n const endDate = this.dateHelper.intervals(\n options.domain.type,\n this.domainCollection.max,\n 2,\n )[1];\n\n const dataPromise = this.dataFetcher.getDatas(\n dataSource,\n this.domainCollection.min,\n endDate,\n );\n\n return new Promise((resolve, reject) => {\n dataPromise.then(\n (data: any) => {\n this.domainCollection.fill(\n data,\n options.data,\n template.get(options.subDomain.type)!.extractUnit,\n );\n this.populator.populate();\n resolve(null);\n },\n (error) => {\n reject(error);\n },\n );\n });\n }\n\n /**\n * Listener for all events\n *\n * @since 4.0.0\n * @param {string} eventName Name of the event to listen to\n * @param {function} Callback function to execute on event trigger\n * @return void\n */\n on(name: string, fn: (...args: any[]) => any): void {\n this.eventEmitter.on(name, fn);\n }\n\n dimensions(): Dimensions {\n return this.calendarPainter.dimensions;\n }\n\n /**\n * Destroy the calendar\n *\n * @since 3.3.6\n * @return A Promise, which will fulfill once all the underlying asynchronous\n * tasks settle, whether resolved or rejected.\n */\n destroy(): Promise {\n return this.calendarPainter.destroy();\n }\n\n extendDayjs(plugin: PluginFunc): dayjs.Dayjs {\n return this.dateHelper.extend(plugin);\n }\n}\n","const VERSION = '4.2.4';\nexport default VERSION;\n"],"names":["check","it","Math","global","globalThis","window","self","this","Function","shared$4","exports","require$$0","defineProperty","Object","defineGlobalProperty","key","value","configurable","writable","error","require$$1","SHARED","sharedStore","store","sharedModule","undefined","push","version","mode","copyright","license","source","match","fails","exec","functionBindNative","test","bind","hasOwnProperty","NATIVE_BIND","FunctionPrototype","prototype","call","uncurryThisWithBind","functionUncurryThis","fn","apply","arguments","isNullOrUndefined","$TypeError","TypeError","requireObjectCoercible","$Object","toObject","argument","hasOwnProperty_1","hasOwn","uncurryThis","id","postfix","random","toString","uid","engineUserAgent","navigator","String","userAgent","process","Deno","versions","v8","split","engineV8Version","V8_VERSION","$String","require$$2","symbolConstructorDetection","getOwnPropertySymbols","symbol","Symbol","sham","useSymbolAsUid","iterator","shared","require$$3","NATIVE_SYMBOL","require$$4","USE_SYMBOL_AS_UID","require$$5","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","wellKnownSymbol","name","toStringTagSupport","documentAll","document","all","documentAll_1","IS_HTMLDDA","isCallable","objectDefineProperty","descriptors","get","isObject","EXISTS","createElement","documentCreateElement","ie8DomDefine","a","v8PrototypeDefineBug","anObject","functionCall","getBuiltIn","namespace","method","length","objectIsPrototypeOf","isPrototypeOf","isSymbol","$Symbol","tryToString","aCallable","getMethod","V","P","func","ordinaryToPrimitive","input","pref","val","valueOf","TO_PRIMITIVE","toPrimitive","result","exoticToPrim","toPropertyKey","DESCRIPTORS","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","$defineProperty","$getOwnPropertyDescriptor","getOwnPropertyDescriptor","ENUMERABLE","CONFIGURABLE","WRITABLE","f","O","Attributes","current","enumerable","makeBuiltIn$3","getDescriptor","functionName","PROPER","functionToString","inspectSource","set","has","WeakMap","weakMapBasicDetection","createPropertyDescriptor","bitmap","definePropertyModule","createNonEnumerableProperty","object","keys","sharedKey","hiddenKeys","NATIVE_WEAK_MAP","require$$6","require$$7","OBJECT_ALREADY_INITIALIZED","state","metadata","facade","STATE","internalState","enforce","getterFor","TYPE","type","CONFIGURABLE_FUNCTION_NAME","enforceInternalState","getInternalState","stringSlice","slice","replace","join","CONFIGURABLE_LENGTH","TEMPLATE","makeBuiltIn","makeBuiltInModule","options","getter","setter","arity","constructor","defineBuiltIn","simple","unsafe","nonConfigurable","nonWritable","classofRaw","TO_STRING_TAG_SUPPORT","TO_STRING_TAG","CORRECT_ARGUMENTS","classof","tag","tryGet","callee","objectGetOwnPropertyDescriptor","objectPropertyIsEnumerable","$propertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","descriptor","indexedObject","IndexedObject","toIndexedObject","propertyIsEnumerableModule","objectGetOwnPropertyNames","ceil","floor","trunc","x","n","toIntegerOrInfinity","number","max","min","toAbsoluteIndex","index","integer","toLength","lengthOfArrayLike","obj","createMethod","IS_INCLUDES","$this","el","fromIndex","arrayIncludes","includes","indexOf","objectKeysInternal","names","i","enumBugKeys","internalObjectKeys","concat","getOwnPropertyNames","objectGetOwnPropertySymbols","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","ownKeys","getOwnPropertyDescriptorModule","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","toLowerCase","isForced_1","copyConstructorProperties","target","exceptions","_export","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","forced","engineIsNode","uncurryThisAccessor","aPossiblePrototype","objectSetPrototypeOf","setPrototypeOf","CORRECT_SETTER","Array","proto","__proto__","setToStringTag","TAG","defineBuiltInAccessor","SPECIES","setSpecies","CONSTRUCTOR_NAME","Constructor","anInstance","Prototype","noop","empty","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","$location","defer","channel","port","isConstructor","called","aConstructor","functionApply","Reflect","functionUncurryThisClause","functionBindContext","that","html","arraySlice","engineIsIos","require$$8","validateArgumentsLength","passed","required","IS_IOS","require$$10","IS_NODE","require$$11","setImmediate","clear","clearImmediate","Dispatch","MessageChannel","counter","queue","ONREADYSTATECHANGE","location","run","runner","eventListener","event","globalPostMessageDefer","postMessage","protocol","host","handler","args","nextTick","now","port2","port1","onmessage","addEventListener","importScripts","appendChild","removeChild","setTimeout","task","Queue","head","tail","add","item","entry","next","notify","toggle","node","promise","then","engineIsIosPebble","Pebble","engineIsWebosWebkit","macrotask","IS_IOS_PEBBLE","IS_WEBOS_WEBKIT","MutationObserver","WebKitMutationObserver","Promise","queueMicrotaskDescriptor","microtask","flush","parent","domain","exit","enter","resolve","createTextNode","observe","characterData","microtask_1","perform","promiseNativeConstructor","engineIsDeno","engineIsBrowser","NativePromiseConstructor","IS_BROWSER","IS_DENO","require$$9","SUBCLASSING","NATIVE_PROMISE_REJECTION_EVENT","PromiseRejectionEvent","FORCED_PROMISE_CONSTRUCTOR","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","FakePromise","promiseConstructorDetection","CONSTRUCTOR","REJECTION_EVENT","newPromiseCapability$2","PromiseCapability","C","reject","$$resolve","$$reject","newPromiseCapability","Internal","OwnPromiseCapability","nativeThen","$","require$$12","speciesConstructor","defaultConstructor","S","require$$14","require$$15","hostReportErrors","b","console","require$$17","require$$18","InternalStateModule","require$$19","require$$20","newPromiseCapabilityModule","require$$22","PROMISE","require$$21","NATIVE_PROMISE_SUBCLASSING","getInternalPromiseState","setInternalState","NativePromisePrototype","PromiseConstructor","PromisePrototype","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","isThenable","callReaction","reaction","exited","ok","fail","rejection","onHandleUnhandled","isReject","notified","reactions","onUnhandled","reason","initEvent","isUnhandled","emit","unwrap","internalReject","done","internalResolve","wrapper","executor","onFulfilled","onRejected","PromiseWrapper","wrap","iterators","Iterators","ITERATOR","ArrayPrototype","isArrayIteratorMethod","getIteratorMethod","getIterator","usingIterator","iteratorMethod","iteratorClose","kind","innerResult","innerError","Result","stopped","ResultPrototype","iterate","iterable","unboundFunction","iterFn","step","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","stop","condition","callFn","SAFE_CLOSING","iteratorWithReturn","return","from","checkCorrectnessOfIteration","SKIP_CLOSING","ITERATION_SUPPORT","promiseStaticsIncorrectIteration","capability","$promiseResolve","values","remaining","alreadyCalled","real","catch","race","r","promiseResolve","promiseCapability","objectDefineProperties","objectKeys","defineProperties","Properties","props","activeXDocument","definePropertiesModule","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","JS","style","display","src","contentWindow","open","F","objectCreate","create","UNSCOPABLES","IteratorPrototype","PrototypeOfArrayIteratorPrototype","arrayIterator","addToUnscopables","correctPrototypeGetter","getPrototypeOf","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","objectGetPrototypeOf","BUGGY_SAFARI_ITERATORS","NEW_ITERATOR_PROTOTYPE","iteratorsCore","returnThis","createIteratorConstructor","IteratorConstructor","NAME","ENUMERABLE_NEXT","PROPER_FUNCTION_NAME","require$$13","KEYS","VALUES","ENTRIES","iteratorDefine","Iterable","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","createIterResultObject","defineIterator","ARRAY_ITERATOR","es_array_iterator","iterated","Arguments","allSettled","status","charAt","charCodeAt","CONVERT_TO_STRING","pos","first","second","position","size","stringMultibyte","codeAt","STRING_ITERATOR","point","domIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","classList","DOMTokenListPrototype","domTokenListPrototype","DOMIterables","ArrayIteratorMethods","ArrayValues","handlePrototype","CollectionPrototype","COLLECTION_NAME","METHOD_NAME","fill","argumentsLength","end","endPos","isArray","createProperty","propertyKey","arrayMethodHasSpeciesSupport","array","foo","Boolean","nativeSlice","HAS_SPECIES_SUPPORT","$Array","__awaiter","thisArg","_arguments","generator","fulfilled","e","rejected","__classPrivateFieldGet","receiver","start","k","fin","prefix","Events","EE","context","once","addListener","emitter","listener","evt","_events","_eventsCount","clearEvent","EventEmitter","eventNames","events","listeners","handlers","l","ee","listenerCount","a1","a2","a3","a4","a5","len","removeListener","j","on","removeAllListeners","off","prefixed","module","isArray$3","castArray","arraySpeciesConstructor","originalArray","arraySpeciesCreate","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","callbackfn","specificCreate","boundFunction","arrayIteration","forEach","map","filter","some","every","find","findIndex","filterReject","$map","$assign","assign","objectAssign","A","B","alphabet","chr","T","internalMetadata","objectGetOwnPropertyNamesExternal","arraySliceSimple","$getOwnPropertyNames","windowNames","getWindowNames","arrayBufferNonExtensible","ArrayBuffer","buffer","isExtensible","ARRAY_BUFFER_NON_EXTENSIBLE","$isExtensible","objectIsExtensible","freezing","preventExtensions","getOwnPropertyNamesExternalModule","FREEZING","REQUIRED","METADATA","setMetadata","objectID","weakData","meta","internalMetadataModule","enable","splice","fastKey","getWeakData","onFreeze","InternalMetadataModule","inheritIfRequired","dummy","Wrapper","NewTarget","NewTargetPrototype","collection","common","IS_WEAK","ADDER","NativeConstructor","NativePrototype","exported","fixMethod","uncurriedNativeMethod","getConstructor","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","setStrong","defineBuiltIns","internalStateGetterFor","uncaughtFrozenStore","frozen","UncaughtFrozenStore","findUncaughtFrozen","delete","ScrollDirection","Position","collectionWeak","define","init","SCALE_BASE_OPACITY_COLOR","SCALE_BASE_COLOR_DOMAIN","Navigator","calendar","_classCallCheck","maxDomainReached","minDomainReached","_createClass","newDomainCollection","_this","direction","SCROLL_NONE","templatesClt","templateCollection","minDate","date","extractUnit","maxDate","domainCollection","_Navigator_instances","_Navigator_isDomainBoundaryReached","clamp","range","SCROLL_FORWARD","merge","domainKey","subDomainEndDate","at","dateHelper","intervals","pop","subDomain","mapping","d","v","defaultValue","_Navigator_setDomainsBoundaryReached","SCROLL_BACKWARD","eventEmitter","reset","_this$calendar","Date","loadNewDomains","createDomainCollection","WeakSet","lowerBound","upperBound","reached","doesNotExceedSafeInteger","IS_CONCAT_SPREADABLE","IS_CONCAT_SPREADABLE_SUPPORT","isConcatSpreadable","spreadable","arg","E","arrayMethodIsStrict","nativeJoin","separator","collectionStrong","last","previous","getEntry","removed","prev","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","mergeSort","comparefn","middle","insertionSort","element","left","right","llength","rlength","lindex","rindex","arraySort","firefox","engineFfVersion","engineIsIeOrEdge","webkit","engineWebkitVersion","deletePropertyOrThrow","internalSort","FF","IE_OR_EDGE","V8","WEBKIT","nativeSort","sort","FAILS_ON_UNDEFINED","FAILS_ON_NULL","STRICT_METHOD","STABLE_SORT","code","fromCharCode","itemsLength","items","arrayLength","y","getSortCompare","$forEach","isVertical","horizontalPadding","padding","LEFT","RIGHT","verticalPadding","TOP","BOTTOM","DomainCoordinates","domainPainter","Map","scrollDirection","_this$calendar$option","verticalOrientation","dimensions","width","height","exitingTotal","scrollFactor","reverse","yankedDomains","coor","w","_DomainCoordinates_instances","_DomainCoordinates_getWidth","h","_DomainCoordinates_getHeight","pre_x","pre_y","inner_width","gutter","inner_height","_this$calendar$option2","columnsCount","subDomainWidth","domainHorizontalLabelWidth","_this$calendar$option3","rowsCount","subDomainHeight","domainVerticalLabelHeight","DEFAULT_SELECTOR","DomainPainter","coordinates","root","rootNode","animationDuration","t","transition","duration","update","promises","selectAll","append","attr","enterSelection","updateSelection","exitSelection","remove","classname","helper","hour","format","week","month","year","$includes","$filter","callWithSafeIterationClosing","arrayLike","IS_CONSTRUCTOR","mapfn","DOMAIN_FORMAT","xDay","ghDay","day","minute","DomainCollection","interval","excludeEnd","ts","_DomainCollection_instances","_DomainCollection_refreshKeys","callback","newCollection","limit","createValueCallback","_this2","keyToRemove","_this3","fromBeginning","_ref","subDomainKeyExtractor","_this4","groupY","groupedRecords","groupRecords","records","_DomainCollection_setSubDomainValues","_this5","results","validSubDomainTimestamp","timestamp","extractTimestamp","groupFn","cleanedValues","reduce","_toConsumableArray","datum","extractorFn","_this6","groupValues","_DomainCollection_extractValues","parseInt","DomainLabelPainter","label","text","textAlign","_DomainLabelPainter_instances","_DomainLabelPainter_textVerticalAlign","nodes","selection","_DomainLabelPainter_domainRotate","rotate","_this$calendar$option4","offset","_DomainLabelPainter_getDomainInsideWidth","_this$calendar$option5","_this$calendar$option6","_this$calendar$option7","_DomainLabelPainter_getDomainInsideHeight","_this$calendar$option8","calendarPainter","domainsContainerPainter","_this$calendar$option9","_this$calendar$option10","_this$calendar$option11","labelWidth","domainWidth","domainHeight","s","whitespaces","ltrim","RegExp","rtrim","stringTrim","trim","$trim","forcedStringTrimMethod","SubDomainPainter","containerClassname","subDomainSvgGroup","_SubDomainPainter_instances","_SubDomainPainter_setPositions","radius","subDomainsCollection","abs","insert","_SubDomainPainter_classname","ev","_SubDomainPainter_appendText","_options$domain","highlight","unitFn","_len","otherClasses","_key","elem","_SubDomainPainter_getCoordinates","axis","BASE_SELECTOR","TRANSITION_CLASSNAME","DomainsContainerPainter","subDomainPainter","domainLabelPainter","transitionsQueueCount","_DomainsContainerPainter_instances","_DomainsContainerPainter_startAnimation","paint","_DomainsContainerPainter_recomputeDimensions","_DomainsContainerPainter_endAnimation","_a","topHeight","pluginManager","getHeightFromPosition","leftWidth","getWidthFromPosition","select","parentNode","classed","domainsDimensions","PluginPainter","paintAll","setPluginsPosition","top","getFromPosition","bottom","topOffset","plugin","leftOffset","CalendarPainter","pluginPainter","itemSelector","theme","setup","setupAll","navigationDir","transitions","updatePosition","_CalendarPainter_instances","_CalendarPainter_resize","destroyAll","destroy","insideHeight","_CalendarPainter_getWidth","insideWidth","newWidth","newHeight","freeGlobal$1","freeSelf","root$1","freeGlobal","Symbol$2","objectProto","nativeObjectToString","symToStringTag","toStringTag","nullTag","undefinedTag","baseGetTag","isOwn","unmasked","getRawTag","objectToString","asyncTag","funcTag","genTag","proxyTag","isFunction","nativeKeys","MATCH","isRegExp","notARegexp","correctIsRegexpLogic","regexp","error1","error2","notARegExp","correctIsRegExpLogic","nativeStartsWith","startsWith","CORRECT_IS_REGEXP_LOGIC","searchString","search","IE_BUG","TO_ENTRIES","IE_WORKAROUND","$entries","defined","Number","isNaN","ascendingDefined","ascending","finite","isFinite","NaN","positive","negative","re","parse","fallback","timeIntervals","timeSecond","timeMinute","timeHour","timeDay","timeWeek","timeMonth","timeYear","timeMonday","timeTuesday","timeWednesday","timeThursday","timeFriday","timeSaturday","timeSunday","utcIntervals","utcSecond","utcMinute","utcHour","utcDay","utcWeek","utcMonth","utcYear","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","utcSunday","maybeTimeInterval","Error","maybeUtcInterval","TypedArray","Uint8Array","constant","coerceNumbers","coerceNumber","Float64Array","coerceDates","coerceDate","isoParse","arrayify","isScaleOptions","option","maybeInterval","isInteger","lo","hi","rangei","maybeRangeInterval","isOrdinal","isTemporal","isTemporalString","isNumericString","orderof","descending","color","opacity","registry","sqrt4_3","sqrt","symbols","symbolAsterisk","symbolCircle","symbolCross","symbolDiamond","symbolDiamond2","draw","rx","PI","ry","hy","moveTo","lineTo","closePath","symbolPlus","symbolSquare","symbolSquare2","symbolStar","symbolTimes","symbolTriangle","symbolTriangle2","symbolWye","maybeSymbol","isSymbolObject","warn","message","ordinalSchemes","schemeAccent","schemeCategory10","schemeDark2","schemePaired","schemePastel1","schemePastel2","schemeSet1","schemeSet2","schemeSet3","schemeTableau10","scheme11","schemeBrBG","interpolateBrBG","schemePRGn","interpolatePRGn","schemePiYG","interpolatePiYG","schemePuOr","interpolatePuOr","schemeRdBu","interpolateRdBu","schemeRdGy","interpolateRdGy","schemeRdYlBu","interpolateRdYlBu","schemeRdYlGn","interpolateRdYlGn","schemeSpectral","interpolateSpectral","scheme11r","scheme9","schemeBlues","interpolateBlues","schemeGreens","interpolateGreens","schemeGreys","interpolateGreys","schemeOranges","interpolateOranges","schemePurples","interpolatePurples","schemeReds","interpolateReds","schemei","interpolateTurbo","interpolateViridis","interpolateMagma","interpolateInferno","interpolatePlasma","interpolateCividis","interpolateCubehelixDefault","interpolateWarm","interpolateCool","schemeBuGn","interpolateBuGn","schemeBuPu","interpolateBuPu","schemeGnBu","interpolateGnBu","schemeOrRd","interpolateOrRd","schemePuBu","interpolatePuBu","schemePuBuGn","interpolatePuBuGn","schemePuRd","interpolatePuRd","schemeRdPu","interpolateRdPu","schemeYlGn","interpolateYlGn","schemeYlGnBu","interpolateYlGnBu","schemeYlOrBr","interpolateYlOrBr","schemeYlOrRd","interpolateYlOrRd","schemeicyclical","interpolateRainbow","interpolateSinebow","scheme","interpolate","quantize","ordinalScheme","ordinalRange","quantitativeSchemes","quantitativeScheme","divergingSchemes","Set","isDivergingScheme","flip","unit","interpolators","interpolateNumber","interpolateRgb","interpolateHsl","interpolateHcl","interpolateLab","maybeInterpolator","createScaleQ","scale","channels","nice","zero","inferAutoDomain","unknown","round","inferRadialRange","inferLengthRange","interpolateRound","_","interpolatePiecewise","extent","sign","reverseof","maybeNiceInterval","maybeNice","createScalePow","exponent","scalePow","createScaleThreshold","isOrdered","scaleThreshold","inferDomain","inferZeroDomain","hint","h25","quantile","h50","median","inferLogDomain","inferQuantileDomain","createScaleD","transform","pivot","symmetric","piecewise","mid","mindelta","maxdelta","invert","interpolator","createScaleDivergingPow","scaleDivergingPow","transformSqrt","pow","transformPow","createScaleDivergingSymlog","scaleDivergingSymlog","log1p","expm1","transformSymlog","transformIdentity","transformLog","log","exp","createScaleT","ordinalImplicit","createScaleO","createScaleOrdinal","inferHint","stroke","inferSymbolHint","isNone","symbolsStroke","symbolsFill","inferSymbolRange","maybeBooleanRange","t0","scaleImplicit","scaleOrdinal","maybeRound","InternSet","candidate","normalizeScale","projection","typeProjection","asOrdinalType","inferScaleType","isOrdinalScale","formatScaleType","coerceType","coerceSymbols","scaleDiverging","createScaleDiverging","createScaleDivergingSqrt","base","scaleDivergingLog","createScaleDivergingLog","scaleLinear","createScaleLinear","createScaleSqrt","quantiles","scaleQuantile","createScaleQuantile","thresholds","ticks","createScaleQuantize","scaleLog","createScaleLog","scaleSymlog","createScaleSymlog","scaleUtc","createScaleUtc","scaleTime","createScaleTime","align","scalePoint","createScalePoint","paddingInner","paddingOuter","scaleBand","createScaleBand","scaleIdentity","createScale","description","coerceValues","c","exposeScale","percent","bandwidth","normalizedScale","scaleOptions","scaleType","applyScaleStyle","_scale","keyname","styles","baseColor","scaleStyle","_ref2","_slicedToArray","prop","Populator","_calendar$options$opt","colorScale","defaultColor","hcl","eq","other","assocIndexOf","ListCache","__data__","coreJsData$1","maskSrcKey","coreJsData","funcToString","toSource","reIsHostCtor","funcProto","reIsNative","baseIsNative","getNative","getValue","Map$2","nativeCreate$1","Hash","getMapData","MapCache","nativeCreate","hash","Stack","pairs","LARGE_ARRAY_SIZE","defineProperty$1","baseAssignValue","assignMergeValue","fromRight","baseFor","iteratee","keysFunc","baseFor$1","freeExports","nodeType","freeModule","Buffer","allocUnsafe","Uint8Array$2","cloneTypedArray","typedArray","isDeep","arrayBuffer","byteLength","byteOffset","baseCreate$1","overArg","getPrototype$1","isPrototype","Ctor","isObjectLike","baseIsArguments","isArguments$1","MAX_SAFE_INTEGER","isLength","isArrayLike","isBuffer$1","isBuffer","objectTag","objectCtorString","typedArrayTags","freeProcess","nodeUtil","types","require","binding","nodeIsTypedArray","isTypedArray","isTypedArray$1","safeGet","assignValue","objValue","reIsUint","isIndex","arrayLikeKeys","inherited","isArr","isArg","isArguments","isBuff","isType","skipIndexes","baseTimes","baseKeysIn","nativeKeysIn","isProto","keysIn","toPlainObject","customizer","isNew","newValue","copyObject","baseMergeDeep","srcIndex","mergeFunc","stack","srcValue","stacked","isCommon","isTyped","copyArray","copy","cloneBuffer","getPrototype","isPlainObject","baseCreate","initCloneObject","baseMerge","identity","nativeMax","baseSetToString","baseSetToString$1","nativeNow","setToString","count","lastCalled","stamp","shortOut","setToString$1","baseRest","otherArgs","overRest","assigner","mergeWith","sources","guard","isIterateeCall","mergeWith$1","SetCache","arraySome","predicate","COMPARE_PARTIAL_FLAG","COMPARE_UNORDERED_FLAG","equalArrays","bitmask","equalFunc","isPartial","arrLength","othLength","arrStacked","othStacked","seen","arrValue","othValue","compared","othIndex","mapToArray","setToArray","boolTag","dateTag","errorTag","mapTag","numberTag","regexpTag","setTag","stringTag","symbolTag","arrayBufferTag","dataViewTag","symbolProto","symbolValueOf","nativeGetSymbols","getSymbols","resIndex","arrayFilter","getSymbols$1","nativeKeys$1","baseKeys","getAllKeys","symbolsFunc","arrayPush","baseGetAllKeys","DataView$1","Promise$2","Set$2","WeakMap$1","promiseTag","weakMapTag","dataViewCtorString","DataView","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","getTag","ctorString","getTag$1","argsTag","arrayTag","baseIsEqualDeep","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","convert","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","objProps","objLength","objStacked","skipCtor","objCtor","othCtor","equalObjects","baseIsEqual","isEqual","baseHas","reIsDeepProp","reIsPlainProp","FUNC_ERROR_TEXT","memoize","resolver","memoized","cache","Cache","rePropName","reEscapeChar","stringToPath","memoizeCapped","quote","subString","stringToPath$1","INFINITY","symbolToString","baseToString","arrayMap","castPath","isKey","toKey","path","hasFunc","hasPath","baseGet","lastIndex","nested","baseSet","re1","re2","OptionsPreProcessors","isString","Options","processors","preProcessors","dynamicDimension","locale","timezone","requestInit","opts","initScale","$RegExp","UNSUPPORTED_Y","MISSED_STICKY","sticky","BROKEN_CARET","regexpStickyHelpers","regexpUnsupportedDotAll","dotAll","flags","regexpUnsupportedNcg","groups","regexpFlags","hasIndices","ignoreCase","multiline","unicode","unicodeSets","stickyHelpers","UNSUPPORTED_DOT_ALL","UNSUPPORTED_NCG","nativeReplace","nativeExec","patchedExec","UPDATES_LAST_INDEX_WRONG","NPCG_INCLUDED","reCopy","group","str","raw","charsAdded","strCopy","regexpExec","RegExpPrototype","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","fixRegExpWellKnownSymbolLogic","SHAM","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","uncurriedNativeRegExpMethod","nativeMethod","arg2","forceStringMethod","$exec","advanceStringIndex","getSubstitution","matched","captures","namedCaptures","tailPos","m","ch","capture","regExpExec","R","REPLACE","require$$16","stringIndexOf","REPLACE_KEEPS_$0","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","REPLACE_SUPPORTS_NAMED_GROUPS","maybeCallNative","UNSAFE_SUBSTITUTE","searchValue","replaceValue","replacer","res","functionalReplace","fullUnicode","accumulatedResult","nextSourcePosition","replacerArgs","DataFetcher","startTimestamp","endTimestamp","_context","abrupt","_DataFetcher_instances","_DataFetcher_fetch","_callee","newUri","url","parseURI","json","csv","dsv","FUNCTION_NAME_EXISTS","nameRE","dayjs_min","u","o","M","weekdays","months","ordinal","z","utcOffset","clone","p","D","ms","Q","g","$L","utc","$u","$x","$offset","$d","substring","UTC","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","isSame","startOf","endOf","isAfter","isBefore","$g","unix","getTime","toDate","$locale","weekStart","$set","daysInMonth","subtract","invalidDate","meridiem","monthsShort","weekdaysMin","weekdaysShort","getTimezoneOffset","diff","toJSON","toISOString","toUTCString","extend","$i","isDayjs","en","Ls","yearStart","weeks","dayOfYear","weekday","isoWeeksInYear","isLeapYear","isoWeekday","isoWeekYear","isoWeek","weekYear","offsetName","local","getUTCFullYear","getUTCMonth","getUTCDate","getUTCDay","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","$localOffset","isUTC","timeZoneName","Intl","DateTimeFormat","hour12","timeZone","formatToParts","tz","toLocaleString","$timezone","guess","resolvedOptions","setDefault","formats","toUpperCase","firstDayOfWeek","longDateFormat","localeData","LTS","L","LL","LLL","LLLL","updateLocale","dayjs","weekOfYear","minMax","advancedFormat","localizedFormat","DEFAULT_LOCALE","DateHelper","_typeof","userLocale","loadBrowserLocale","sent","loadNodeLocale","dayjsPlugin","dayjsDate","endOfWeek","pivotDate","getLastWeekOfMonth","getFirstWeekOfMonth","startOfMonth","startOfFirstWeek","endOfMonth","endOfLastWeek","formatter","async","onerror","err","onload","import","ALLOWED_DATA_TYPES","validate","domainType","subDomainType","allowedDomainType","PluginManager","settings","plugins","pendingPaint","Creator","PluginClass","pluginOptions","extractPluginName","dirty","pluginInstance","allPlugins","TOTAL_ITEMS","monthDate","baseX","getMonthWeekNumber","weekNumber","endWeekNumber","getWeeksCountInMonth","clampStart","clampEnd","pivotDay","TemplateCollection","initiated","DefaultTemplates","templates","tplWithParent","template","parentTemplate","CalHeatmap","dataFetcher","populator","EventEmmiter","startDate","loadDirection","jumpTo","dataSource","endDate","dataPromise","getDatas","populate","VERSION"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,159,161,162,163,164,165,166,167,168,169,170,171,172,173,174,178,179,180,181,182,185,186,187,188,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,355,356,358,359,360,361,362,363,364,365,366,367,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,385,387]}
diff --git a/src/agenda_culturel/static/cal-heatmap/cal-heatmap.min.js.map b/src/agenda_culturel/static/cal-heatmap/cal-heatmap.min.js.map
index bef459c..6e43c83 100644
--- a/src/agenda_culturel/static/cal-heatmap/cal-heatmap.min.js.map
+++ b/src/agenda_culturel/static/cal-heatmap/cal-heatmap.min.js.map
@@ -1 +1 @@
-{"version":3,"file":"cal-heatmap.min.js","sources":["../node_modules/core-js/internals/global.js","../node_modules/core-js/internals/define-global-property.js","../node_modules/core-js/internals/shared-store.js","../node_modules/core-js/internals/shared.js","../node_modules/core-js/internals/engine-v8-version.js","../node_modules/core-js/internals/fails.js","../node_modules/core-js/internals/function-bind-native.js","../node_modules/core-js/internals/function-uncurry-this.js","../node_modules/core-js/internals/is-null-or-undefined.js","../node_modules/core-js/internals/require-object-coercible.js","../node_modules/core-js/internals/to-object.js","../node_modules/core-js/internals/has-own-property.js","../node_modules/core-js/internals/uid.js","../node_modules/core-js/internals/engine-user-agent.js","../node_modules/core-js/internals/symbol-constructor-detection.js","../node_modules/core-js/internals/use-symbol-as-uid.js","../node_modules/core-js/internals/well-known-symbol.js","../node_modules/core-js/internals/to-string-tag-support.js","../node_modules/core-js/internals/document-all.js","../node_modules/core-js/internals/is-callable.js","../node_modules/core-js/internals/descriptors.js","../node_modules/core-js/internals/is-object.js","../node_modules/core-js/internals/document-create-element.js","../node_modules/core-js/internals/ie8-dom-define.js","../node_modules/core-js/internals/v8-prototype-define-bug.js","../node_modules/core-js/internals/an-object.js","../node_modules/core-js/internals/function-call.js","../node_modules/core-js/internals/get-built-in.js","../node_modules/core-js/internals/object-is-prototype-of.js","../node_modules/core-js/internals/is-symbol.js","../node_modules/core-js/internals/try-to-string.js","../node_modules/core-js/internals/a-callable.js","../node_modules/core-js/internals/get-method.js","../node_modules/core-js/internals/ordinary-to-primitive.js","../node_modules/core-js/internals/to-primitive.js","../node_modules/core-js/internals/to-property-key.js","../node_modules/core-js/internals/object-define-property.js","../node_modules/core-js/internals/function-name.js","../node_modules/core-js/internals/inspect-source.js","../node_modules/core-js/internals/internal-state.js","../node_modules/core-js/internals/weak-map-basic-detection.js","../node_modules/core-js/internals/create-property-descriptor.js","../node_modules/core-js/internals/create-non-enumerable-property.js","../node_modules/core-js/internals/shared-key.js","../node_modules/core-js/internals/hidden-keys.js","../node_modules/core-js/internals/make-built-in.js","../node_modules/core-js/internals/define-built-in.js","../node_modules/core-js/internals/classof-raw.js","../node_modules/core-js/internals/classof.js","../node_modules/core-js/internals/object-to-string.js","../node_modules/core-js/modules/es.object.to-string.js","../node_modules/core-js/internals/object-property-is-enumerable.js","../node_modules/core-js/internals/indexed-object.js","../node_modules/core-js/internals/to-indexed-object.js","../node_modules/core-js/internals/object-get-own-property-descriptor.js","../node_modules/core-js/internals/math-trunc.js","../node_modules/core-js/internals/to-integer-or-infinity.js","../node_modules/core-js/internals/to-absolute-index.js","../node_modules/core-js/internals/to-length.js","../node_modules/core-js/internals/length-of-array-like.js","../node_modules/core-js/internals/array-includes.js","../node_modules/core-js/internals/object-keys-internal.js","../node_modules/core-js/internals/enum-bug-keys.js","../node_modules/core-js/internals/object-get-own-property-names.js","../node_modules/core-js/internals/object-get-own-property-symbols.js","../node_modules/core-js/internals/own-keys.js","../node_modules/core-js/internals/copy-constructor-properties.js","../node_modules/core-js/internals/is-forced.js","../node_modules/core-js/internals/export.js","../node_modules/core-js/internals/engine-is-node.js","../node_modules/core-js/internals/function-uncurry-this-accessor.js","../node_modules/core-js/internals/a-possible-prototype.js","../node_modules/core-js/internals/object-set-prototype-of.js","../node_modules/core-js/internals/set-to-string-tag.js","../node_modules/core-js/internals/define-built-in-accessor.js","../node_modules/core-js/internals/set-species.js","../node_modules/core-js/internals/an-instance.js","../node_modules/core-js/internals/is-constructor.js","../node_modules/core-js/internals/task.js","../node_modules/core-js/internals/a-constructor.js","../node_modules/core-js/internals/species-constructor.js","../node_modules/core-js/internals/function-apply.js","../node_modules/core-js/internals/function-uncurry-this-clause.js","../node_modules/core-js/internals/function-bind-context.js","../node_modules/core-js/internals/html.js","../node_modules/core-js/internals/array-slice.js","../node_modules/core-js/internals/validate-arguments-length.js","../node_modules/core-js/internals/engine-is-ios.js","../node_modules/core-js/internals/queue.js","../node_modules/core-js/internals/microtask.js","../node_modules/core-js/internals/engine-is-ios-pebble.js","../node_modules/core-js/internals/engine-is-webos-webkit.js","../node_modules/core-js/internals/perform.js","../node_modules/core-js/internals/promise-native-constructor.js","../node_modules/core-js/internals/engine-is-deno.js","../node_modules/core-js/internals/engine-is-browser.js","../node_modules/core-js/internals/promise-constructor-detection.js","../node_modules/core-js/internals/new-promise-capability.js","../node_modules/core-js/modules/es.promise.constructor.js","../node_modules/core-js/internals/host-report-errors.js","../node_modules/core-js/internals/iterators.js","../node_modules/core-js/internals/is-array-iterator-method.js","../node_modules/core-js/internals/get-iterator-method.js","../node_modules/core-js/internals/get-iterator.js","../node_modules/core-js/internals/iterator-close.js","../node_modules/core-js/internals/iterate.js","../node_modules/core-js/internals/check-correctness-of-iteration.js","../node_modules/core-js/internals/promise-statics-incorrect-iteration.js","../node_modules/core-js/modules/es.promise.all.js","../node_modules/core-js/modules/es.promise.catch.js","../node_modules/core-js/modules/es.promise.race.js","../node_modules/core-js/modules/es.promise.reject.js","../node_modules/core-js/internals/promise-resolve.js","../node_modules/core-js/modules/es.promise.resolve.js","../node_modules/core-js/internals/object-keys.js","../node_modules/core-js/internals/object-define-properties.js","../node_modules/core-js/internals/object-create.js","../node_modules/core-js/internals/add-to-unscopables.js","../node_modules/core-js/internals/iterators-core.js","../node_modules/core-js/internals/correct-prototype-getter.js","../node_modules/core-js/internals/object-get-prototype-of.js","../node_modules/core-js/internals/iterator-create-constructor.js","../node_modules/core-js/internals/iterator-define.js","../node_modules/core-js/internals/create-iter-result-object.js","../node_modules/core-js/modules/es.array.iterator.js","../node_modules/core-js/modules/es.promise.all-settled.js","../node_modules/core-js/internals/to-string.js","../node_modules/core-js/internals/string-multibyte.js","../node_modules/core-js/modules/es.string.iterator.js","../node_modules/core-js/internals/dom-iterables.js","../node_modules/core-js/internals/dom-token-list-prototype.js","../node_modules/core-js/modules/web.dom-collections.iterator.js","../node_modules/core-js/internals/array-fill.js","../node_modules/core-js/modules/es.array.fill.js","../node_modules/core-js/internals/is-array.js","../node_modules/core-js/internals/create-property.js","../node_modules/core-js/internals/array-method-has-species-support.js","../node_modules/core-js/modules/es.array.slice.js","../node_modules/tslib/tslib.es6.js","../node_modules/eventemitter3/index.js","../node_modules/lodash-es/isArray.js","../node_modules/lodash-es/castArray.js","../node_modules/core-js/internals/array-species-constructor.js","../node_modules/core-js/internals/array-species-create.js","../node_modules/core-js/internals/array-iteration.js","../node_modules/core-js/modules/es.array.map.js","../node_modules/core-js/internals/object-assign.js","../node_modules/core-js/modules/es.object.assign.js","../node_modules/core-js/internals/array-slice-simple.js","../node_modules/core-js/internals/object-get-own-property-names-external.js","../node_modules/core-js/internals/array-buffer-non-extensible.js","../node_modules/core-js/internals/object-is-extensible.js","../node_modules/core-js/internals/freezing.js","../node_modules/core-js/internals/internal-metadata.js","../node_modules/core-js/internals/inherit-if-required.js","../node_modules/core-js/internals/collection.js","../node_modules/core-js/internals/define-built-ins.js","../node_modules/core-js/internals/collection-weak.js","../../src/constant.ts","../node_modules/core-js/modules/es.weak-set.constructor.js","../../src/calendar/Navigator.ts","../node_modules/core-js/internals/does-not-exceed-safe-integer.js","../node_modules/core-js/modules/es.array.concat.js","../node_modules/core-js/internals/array-method-is-strict.js","../node_modules/core-js/modules/es.array.join.js","../node_modules/core-js/internals/collection-strong.js","../node_modules/core-js/modules/es.map.constructor.js","../node_modules/core-js/internals/delete-property-or-throw.js","../node_modules/core-js/internals/array-sort.js","../node_modules/core-js/internals/engine-ff-version.js","../node_modules/core-js/internals/engine-is-ie-or-edge.js","../node_modules/core-js/internals/engine-webkit-version.js","../node_modules/core-js/modules/es.array.sort.js","../node_modules/core-js/internals/array-for-each.js","../node_modules/core-js/modules/web.dom-collections.for-each.js","../../src/helpers/PositionHelper.ts","../../src/domain/DomainCoordinates.ts","../../src/domain/DomainPainter.ts","../node_modules/core-js/modules/es.array.includes.js","../node_modules/core-js/modules/es.array.filter.js","../node_modules/core-js/internals/call-with-safe-iteration-closing.js","../node_modules/core-js/internals/array-from.js","../node_modules/core-js/modules/es.array.from.js","../../src/calendar/DomainCollection.ts","../../src/domain/DomainLabelPainter.ts","../node_modules/core-js/internals/whitespaces.js","../node_modules/core-js/internals/string-trim.js","../node_modules/core-js/internals/string-trim-forced.js","../node_modules/core-js/modules/es.string.trim.js","../../src/subDomain/SubDomainPainter.ts","../../src/domain/DomainsContainerPainter.ts","../../src/plugins/PluginPainter.ts","../../src/calendar/CalendarPainter.ts","../node_modules/lodash-es/_freeGlobal.js","../node_modules/lodash-es/_root.js","../node_modules/lodash-es/_Symbol.js","../node_modules/lodash-es/_getRawTag.js","../node_modules/lodash-es/_objectToString.js","../node_modules/lodash-es/_baseGetTag.js","../node_modules/lodash-es/isObject.js","../node_modules/lodash-es/isFunction.js","../node_modules/core-js/modules/es.object.keys.js","../node_modules/core-js/internals/is-regexp.js","../node_modules/core-js/modules/es.string.starts-with.js","../node_modules/core-js/internals/not-a-regexp.js","../node_modules/core-js/internals/correct-is-regexp-logic.js","../node_modules/core-js/internals/object-to-array.js","../node_modules/core-js/modules/es.object.entries.js","../node_modules/@observablehq/plot/src/defined.js","../node_modules/isoformat/src/parse.js","../node_modules/@observablehq/plot/src/time.js","../node_modules/@observablehq/plot/src/options.js","../node_modules/@observablehq/plot/src/scales/index.js","../node_modules/@observablehq/plot/src/symbol.js","../node_modules/@observablehq/plot/src/warnings.js","../node_modules/@observablehq/plot/src/scales/schemes.js","../node_modules/@observablehq/plot/src/scales/quantitative.js","../node_modules/@observablehq/plot/src/scales/diverging.js","../node_modules/@observablehq/plot/src/scales/temporal.js","../node_modules/@observablehq/plot/src/scales/ordinal.js","../node_modules/@observablehq/plot/src/scales.js","../../src/scale.ts","../../src/calendar/Populator.ts","../node_modules/lodash-es/eq.js","../node_modules/lodash-es/_assocIndexOf.js","../node_modules/lodash-es/_listCacheDelete.js","../node_modules/lodash-es/_ListCache.js","../node_modules/lodash-es/_listCacheClear.js","../node_modules/lodash-es/_listCacheGet.js","../node_modules/lodash-es/_listCacheHas.js","../node_modules/lodash-es/_listCacheSet.js","../node_modules/lodash-es/_coreJsData.js","../node_modules/lodash-es/_isMasked.js","../node_modules/lodash-es/_toSource.js","../node_modules/lodash-es/_baseIsNative.js","../node_modules/lodash-es/_getNative.js","../node_modules/lodash-es/_getValue.js","../node_modules/lodash-es/_Map.js","../node_modules/lodash-es/_nativeCreate.js","../node_modules/lodash-es/_hashGet.js","../node_modules/lodash-es/_hashHas.js","../node_modules/lodash-es/_Hash.js","../node_modules/lodash-es/_getMapData.js","../node_modules/lodash-es/_isKeyable.js","../node_modules/lodash-es/_MapCache.js","../node_modules/lodash-es/_hashClear.js","../node_modules/lodash-es/_hashDelete.js","../node_modules/lodash-es/_hashSet.js","../node_modules/lodash-es/_mapCacheClear.js","../node_modules/lodash-es/_mapCacheDelete.js","../node_modules/lodash-es/_mapCacheGet.js","../node_modules/lodash-es/_mapCacheHas.js","../node_modules/lodash-es/_mapCacheSet.js","../node_modules/lodash-es/_Stack.js","../node_modules/lodash-es/_stackClear.js","../node_modules/lodash-es/_stackDelete.js","../node_modules/lodash-es/_stackGet.js","../node_modules/lodash-es/_stackHas.js","../node_modules/lodash-es/_stackSet.js","../node_modules/lodash-es/_defineProperty.js","../node_modules/lodash-es/_baseAssignValue.js","../node_modules/lodash-es/_assignMergeValue.js","../node_modules/lodash-es/_baseFor.js","../node_modules/lodash-es/_createBaseFor.js","../node_modules/lodash-es/_cloneBuffer.js","../node_modules/lodash-es/_Uint8Array.js","../node_modules/lodash-es/_cloneTypedArray.js","../node_modules/lodash-es/_cloneArrayBuffer.js","../node_modules/lodash-es/_baseCreate.js","../node_modules/lodash-es/_overArg.js","../node_modules/lodash-es/_getPrototype.js","../node_modules/lodash-es/_isPrototype.js","../node_modules/lodash-es/isObjectLike.js","../node_modules/lodash-es/_baseIsArguments.js","../node_modules/lodash-es/isArguments.js","../node_modules/lodash-es/isLength.js","../node_modules/lodash-es/isArrayLike.js","../node_modules/lodash-es/isBuffer.js","../node_modules/lodash-es/stubFalse.js","../node_modules/lodash-es/isPlainObject.js","../node_modules/lodash-es/_baseIsTypedArray.js","../node_modules/lodash-es/_nodeUtil.js","../node_modules/lodash-es/_baseUnary.js","../node_modules/lodash-es/isTypedArray.js","../node_modules/lodash-es/_safeGet.js","../node_modules/lodash-es/_assignValue.js","../node_modules/lodash-es/_isIndex.js","../node_modules/lodash-es/_arrayLikeKeys.js","../node_modules/lodash-es/_baseTimes.js","../node_modules/lodash-es/_baseKeysIn.js","../node_modules/lodash-es/_nativeKeysIn.js","../node_modules/lodash-es/keysIn.js","../node_modules/lodash-es/toPlainObject.js","../node_modules/lodash-es/_copyObject.js","../node_modules/lodash-es/_baseMergeDeep.js","../node_modules/lodash-es/isArrayLikeObject.js","../node_modules/lodash-es/_copyArray.js","../node_modules/lodash-es/_initCloneObject.js","../node_modules/lodash-es/_baseMerge.js","../node_modules/lodash-es/identity.js","../node_modules/lodash-es/_overRest.js","../node_modules/lodash-es/_baseSetToString.js","../node_modules/lodash-es/constant.js","../node_modules/lodash-es/_shortOut.js","../node_modules/lodash-es/_setToString.js","../node_modules/lodash-es/_baseRest.js","../node_modules/lodash-es/_apply.js","../node_modules/lodash-es/mergeWith.js","../node_modules/lodash-es/_createAssigner.js","../node_modules/lodash-es/_isIterateeCall.js","../node_modules/lodash-es/_SetCache.js","../node_modules/lodash-es/_arraySome.js","../node_modules/lodash-es/_setCacheAdd.js","../node_modules/lodash-es/_setCacheHas.js","../node_modules/lodash-es/_equalArrays.js","../node_modules/lodash-es/_cacheHas.js","../node_modules/lodash-es/_mapToArray.js","../node_modules/lodash-es/_setToArray.js","../node_modules/lodash-es/_equalByTag.js","../node_modules/lodash-es/_getSymbols.js","../node_modules/lodash-es/_arrayFilter.js","../node_modules/lodash-es/stubArray.js","../node_modules/lodash-es/_nativeKeys.js","../node_modules/lodash-es/_baseKeys.js","../node_modules/lodash-es/keys.js","../node_modules/lodash-es/_getAllKeys.js","../node_modules/lodash-es/_baseGetAllKeys.js","../node_modules/lodash-es/_arrayPush.js","../node_modules/lodash-es/_equalObjects.js","../node_modules/lodash-es/_DataView.js","../node_modules/lodash-es/_Promise.js","../node_modules/lodash-es/_Set.js","../node_modules/lodash-es/_WeakMap.js","../node_modules/lodash-es/_getTag.js","../node_modules/lodash-es/_baseIsEqualDeep.js","../node_modules/lodash-es/_baseIsEqual.js","../node_modules/lodash-es/isEqual.js","../node_modules/lodash-es/_baseHas.js","../node_modules/lodash-es/isSymbol.js","../node_modules/lodash-es/_isKey.js","../node_modules/lodash-es/memoize.js","../node_modules/lodash-es/_stringToPath.js","../node_modules/lodash-es/_memoizeCapped.js","../node_modules/lodash-es/_baseToString.js","../node_modules/lodash-es/_arrayMap.js","../node_modules/lodash-es/_castPath.js","../node_modules/lodash-es/toString.js","../node_modules/lodash-es/_toKey.js","../node_modules/lodash-es/has.js","../node_modules/lodash-es/_hasPath.js","../node_modules/lodash-es/get.js","../node_modules/lodash-es/_baseGet.js","../node_modules/lodash-es/set.js","../node_modules/lodash-es/_baseSet.js","../../src/options/OptionsPreProcessors.ts","../node_modules/core-js/internals/regexp-exec.js","../node_modules/lodash-es/isString.js","../../src/options/Options.ts","../node_modules/core-js/internals/regexp-flags.js","../node_modules/core-js/internals/regexp-sticky-helpers.js","../node_modules/core-js/internals/regexp-unsupported-dot-all.js","../node_modules/core-js/internals/regexp-unsupported-ncg.js","../node_modules/core-js/modules/es.regexp.exec.js","../node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","../node_modules/core-js/internals/advance-string-index.js","../node_modules/core-js/internals/get-substitution.js","../node_modules/core-js/internals/regexp-exec-abstract.js","../node_modules/core-js/modules/es.string.replace.js","../../src/DataFetcher.ts","../node_modules/core-js/modules/es.function.name.js","../node_modules/dayjs/dayjs.min.js","../node_modules/dayjs/plugin/weekOfYear.js","../node_modules/dayjs/plugin/dayOfYear.js","../node_modules/dayjs/plugin/weekday.js","../node_modules/dayjs/plugin/minMax.js","../node_modules/dayjs/plugin/isoWeeksInYear.js","../node_modules/dayjs/plugin/isoWeek.js","../node_modules/dayjs/plugin/isLeapYear.js","../node_modules/dayjs/plugin/advancedFormat.js","../node_modules/dayjs/plugin/utc.js","../node_modules/dayjs/plugin/timezone.js","../node_modules/dayjs/plugin/localeData.js","../node_modules/dayjs/plugin/localizedFormat.js","../node_modules/dayjs/plugin/updateLocale.js","../../src/helpers/DateHelper.ts","../node_modules/core-js/modules/es.string.includes.js","../../src/options/OptionsValidator.ts","../node_modules/core-js/modules/es.set.constructor.js","../../src/plugins/PluginManager.ts","../../src/templates/index.ts","../../src/templates/minute.ts","../../src/templates/hour.ts","../../src/templates/day.ts","../../src/templates/xDay.ts","../../src/templates/ghDay.ts","../../src/templates/week.ts","../../src/templates/month.ts","../../src/templates/year.ts","../../src/TemplateCollection.ts","../../src/CalHeatmap.ts","../../src/version.ts"],"sourcesContent":["'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.34.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.34.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","'use strict';\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nvar global = require('../internals/global');\nvar classof = require('../internals/classof-raw');\n\nmodule.exports = classof(global.process) === 'process';\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineBuiltInAccessor(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar Dispatch = global.Dispatch;\nvar Function = global.Function;\nvar MessageChannel = global.MessageChannel;\nvar String = global.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar $location, defer, channel, port;\n\nfails(function () {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n $location = global.location;\n});\n\nvar run = function (id) {\n if (hasOwn(queue, id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar eventListener = function (event) {\n run(event.data);\n};\n\nvar globalPostMessageDefer = function (id) {\n // old engines have not location.origin\n global.postMessage(String(id), $location.protocol + '//' + $location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = eventListener;\n defer = bind(port.postMessage, port);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n isCallable(global.postMessage) &&\n !global.importScripts &&\n $location && $location.protocol !== 'file:' &&\n !fails(globalPostMessageDefer)\n ) {\n defer = globalPostMessageDefer;\n global.addEventListener('message', eventListener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","'use strict';\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw new $TypeError('Not enough arguments');\n return passed;\n};\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\n// eslint-disable-next-line redos/no-vulnerable -- safe\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","'use strict';\nvar Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n var tail = this.tail;\n if (tail) tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n var next = this.head = entry.next;\n if (next === null) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","'use strict';\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar Queue = require('../internals/queue');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/engine-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar microtask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\nvar notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!microtask) {\n var queue = new Queue();\n\n var flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (fn = queue.get()) try {\n fn();\n } catch (error) {\n if (queue.head) notify();\n throw error;\n }\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = bind(promise.then, promise);\n notify = function () {\n then(flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessage\n // - onreadystatechange\n // - setTimeout\n } else {\n // `webpack` dev server bug on IE global methods - use bind(fn, global)\n macrotask = bind(macrotask, global);\n notify = function () {\n macrotask(flush);\n };\n }\n\n microtask = function (fn) {\n if (!queue.head) notify();\n queue.add(fn);\n };\n}\n\nmodule.exports = microtask;\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined';\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict';\nvar global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","'use strict';\n/* global Deno -- Deno case */\nmodule.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object';\n","'use strict';\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nmodule.exports = !IS_DENO && !IS_NODE\n && typeof window == 'object'\n && typeof document == 'object';\n","'use strict';\nvar global = require('../internals/global');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {\n // Detect correctness of subclassing with @@species support\n var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n } return !GLOBAL_CORE_JS_PROMISE && (IS_BROWSER || IS_DENO) && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n SUBCLASSING: SUBCLASSING\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/engine-is-node');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state === FULFILLED;\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(new TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n call(then, result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw new TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n call(then, value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalPromiseState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n\n PromisePrototype = PromiseConstructor.prototype;\n\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: new Queue(),\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state === PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n });\n\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalPromiseState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!NATIVE_PROMISE_SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromisePrototype);\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","'use strict';\nmodule.exports = function (a, b) {\n try {\n // eslint-disable-next-line no-console -- safe\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n } catch (error) { /* empty */ }\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n try {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n } catch (error) { return false; } // workaround of old WebKit + `eval` bug\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","'use strict';\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call($promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['catch'];\n if (NativePromisePrototype['catch'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n reject: function reject(r) {\n var capability = newPromiseCapabilityModule.f(this);\n call(capability.reject, undefined, r);\n return capability.promise;\n }\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] === undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND];\n\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n }\n\n return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\n// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n return { value: value, done: done };\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return createIterResultObject(undefined, true);\n }\n switch (state.kind) {\n case 'keys': return createIterResultObject(index, false);\n case 'values': return createIterResultObject(target[index], false);\n } return createIterResultObject([index, target[index]], false);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.allSettled` method\n// https://tc39.es/ecma262/#sec-promise.allsettled\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n allSettled: function allSettled(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call(promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'fulfilled', value: value };\n --remaining || resolve(values);\n }, function (error) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'rejected', reason: error };\n --remaining || resolve(values);\n });\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return createIterResultObject(undefined, true);\n point = charAt(string, index);\n state.index += point.length;\n return createIterResultObject(point, false);\n});\n","'use strict';\n// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","'use strict';\n// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","'use strict';\nvar global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nvar handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n setToStringTag(CollectionPrototype, COLLECTION_NAME, true);\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype, COLLECTION_NAME);\n}\n\nhandlePrototype(DOMTokenListPrototype, 'DOMTokenList');\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = lengthOfArrayLike(O);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar fill = require('../internals/array-fill');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.fill` method\n// https://tc39.es/ecma262/#sec-array.prototype.fill\n$({ target: 'Array', proto: true }, {\n fill: fill\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('fill');\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar nativeSlice = require('../internals/array-slice');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (isConstructor(Constructor) && (Constructor === $Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === $Array || Constructor === undefined) {\n return nativeSlice(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? $Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport default {\r\n __extends,\r\n __assign,\r\n __rest,\r\n __decorate,\r\n __param,\r\n __metadata,\r\n __awaiter,\r\n __generator,\r\n __createBinding,\r\n __exportStar,\r\n __values,\r\n __read,\r\n __spread,\r\n __spreadArrays,\r\n __spreadArray,\r\n __await,\r\n __asyncGenerator,\r\n __asyncDelegator,\r\n __asyncValues,\r\n __makeTemplateObject,\r\n __importStar,\r\n __importDefault,\r\n __classPrivateFieldGet,\r\n __classPrivateFieldSet,\r\n __classPrivateFieldIn,\r\n};\r\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nexport default isArray;\n","import isArray from './isArray.js';\n\n/**\n * Casts `value` as an array if it's not one.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Lang\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast array.\n * @example\n *\n * _.castArray(1);\n * // => [1]\n *\n * _.castArray({ 'a': 1 });\n * // => [{ 'a': 1 }]\n *\n * _.castArray('abc');\n * // => ['abc']\n *\n * _.castArray(null);\n * // => [null]\n *\n * _.castArray(undefined);\n * // => [undefined]\n *\n * _.castArray();\n * // => []\n *\n * var array = [1, 2, 3];\n * console.log(_.castArray(array) === array);\n * // => true\n */\nfunction castArray() {\n if (!arguments.length) {\n return [];\n }\n var value = arguments[0];\n return isArray(value) ? value : [value];\n}\n\nexport default castArray;\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? $Array : C;\n};\n","'use strict';\nvar arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE === 1;\n var IS_FILTER = TYPE === 2;\n var IS_SOME = TYPE === 3;\n var IS_EVERY = TYPE === 4;\n var IS_FIND_INDEX = TYPE === 6;\n var IS_FILTER_REJECT = TYPE === 7;\n var NO_HOLES = TYPE === 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(self);\n var boundFunction = bind(callbackfn, that);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol('assign detection');\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\nvar $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar $Array = Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = $Array(max(fin - k, 0));\n var n = 0;\n for (; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","'use strict';\n/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) === 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","'use strict';\n// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it\nvar fails = require('../internals/fails');\n\nmodule.exports = fails(function () {\n if (typeof ArrayBuffer == 'function') {\n var buffer = new ArrayBuffer(8);\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe\n if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });\n }\n});\n","'use strict';\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external');\nvar isExtensible = require('../internals/object-is-extensible');\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar REQUIRED = false;\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + id++, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar enable = function () {\n meta.enable = function () { /* empty */ };\n REQUIRED = true;\n var getOwnPropertyNames = getOwnPropertyNamesModule.f;\n var splice = uncurryThis([].splice);\n var test = {};\n test[METADATA] = 1;\n\n // prevent exposing of metadata key\n if (getOwnPropertyNames(test).length) {\n getOwnPropertyNamesModule.f = function (it) {\n var result = getOwnPropertyNames(it);\n for (var i = 0, length = result.length; i < length; i++) {\n if (result[i] === METADATA) {\n splice(result, i, 1);\n break;\n }\n } return result;\n };\n\n $({ target: 'Object', stat: true, forced: true }, {\n getOwnPropertyNames: getOwnPropertyNamesExternalModule.f\n });\n }\n};\n\nvar meta = module.exports = {\n enable: enable,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n defineBuiltIn(NativePrototype, KEY,\n KEY === 'add' ? function add(value) {\n uncurriedNativeMethod(this, value === 0 ? 0 : value);\n return this;\n } : KEY === 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY === 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY === 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.enable();\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) !== instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, NativePrototype);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, constructor: true, forced: Constructor !== NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) defineBuiltIn(target, key, src[key], options);\n return target;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar getWeakData = require('../internals/internal-metadata').getWeakData;\nvar anInstance = require('../internals/an-instance');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isObject = require('../internals/is-object');\nvar iterate = require('../internals/iterate');\nvar ArrayIterationModule = require('../internals/array-iteration');\nvar hasOwn = require('../internals/has-own-property');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar splice = uncurryThis([].splice);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (state) {\n return state.frozen || (state.frozen = new UncaughtFrozenStore());\n};\n\nvar UncaughtFrozenStore = function () {\n this.entries = [];\n};\n\nvar findUncaughtFrozen = function (store, key) {\n return find(store.entries, function (it) {\n return it[0] === key;\n });\n};\n\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.entries.push([key, value]);\n },\n 'delete': function (key) {\n var index = findIndex(this.entries, function (it) {\n return it[0] === key;\n });\n if (~index) splice(this.entries, index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n id: id++,\n frozen: undefined\n });\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var data = getWeakData(anObject(key), true);\n if (data === true) uncaughtFrozenStore(state).set(key, value);\n else data[state.id] = value;\n return that;\n };\n\n defineBuiltIns(Prototype, {\n // `{ WeakMap, WeakSet }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-weakmap.prototype.delete\n // https://tc39.es/ecma262/#sec-weakset.prototype.delete\n 'delete': function (key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state)['delete'](key);\n return data && hasOwn(data, state.id) && delete data[state.id];\n },\n // `{ WeakMap, WeakSet }.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-weakmap.prototype.has\n // https://tc39.es/ecma262/#sec-weakset.prototype.has\n has: function has(key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).has(key);\n return data && hasOwn(data, state.id);\n }\n });\n\n defineBuiltIns(Prototype, IS_MAP ? {\n // `WeakMap.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-weakmap.prototype.get\n get: function get(key) {\n var state = getInternalState(this);\n if (isObject(key)) {\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).get(key);\n return data ? data[state.id] : undefined;\n }\n },\n // `WeakMap.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-weakmap.prototype.set\n set: function set(key, value) {\n return define(this, key, value);\n }\n } : {\n // `WeakSet.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-weakset.prototype.add\n add: function add(value) {\n return define(this, value, true);\n }\n });\n\n return Constructor;\n }\n};\n","export enum ScrollDirection {\n SCROLL_NONE,\n SCROLL_BACKWARD,\n SCROLL_FORWARD,\n}\n\nexport enum Position {\n TOP,\n RIGHT,\n BOTTOM,\n LEFT,\n}\n\nexport const OPTIONS_DEFAULT_DOMAIN_TYPE = 'hour';\n\nexport const OPTIONS_DEFAULT_SUBDOMAIN_TYPE = 'minute';\nexport const OPTIONS_DEFAULT_SUBDOMAIN_WIDTH = 10;\nexport const OPTIONS_DEFAULT_SUBDOMAIN_HEIGHT = 10;\nexport const OPTIONS_DEFAULT_SUBDOMAIN_GUTTER = 2;\nexport const OPTIONS_DEFAULT_SUBDOMAIN_RADIUS = 0;\nexport const OPTIONS_DEFAULT_ANIMATION_DURATION = 200;\nexport const OPTIONS_DEFAULT_RANGE = 12;\nexport const OPTIONS_DEFAULT_ITEM_SELECTOR = '#cal-heatmap';\nexport const OPTIONS_DEFAULT_THEME = 'light';\nexport const OPTIONS_DEFAULT_LOCALE = 'en';\n\nexport const SCALE_BASE_OPACITY_COLOR = 'red';\nexport const SCALE_BASE_COLOR_SCHEME = 'YlOrBr';\nexport const SCALE_BASE_COLOR_TYPE = 'quantize';\nexport const SCALE_BASE_COLOR_DOMAIN = [0, 100];\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\n\n// `WeakSet` constructor\n// https://tc39.es/ecma262/#sec-weakset-constructor\ncollection('WeakSet', function (init) {\n return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionWeak);\n","import { ScrollDirection } from '../constant';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport type DomainCollection from './DomainCollection';\nimport type { Timestamp } from '../index';\n\nexport default class Navigator {\n calendar: CalHeatmap;\n\n minDomainReached: boolean;\n\n maxDomainReached: boolean;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n this.maxDomainReached = false;\n this.minDomainReached = false;\n }\n\n loadNewDomains(\n newDomainCollection: DomainCollection,\n direction: ScrollDirection = ScrollDirection.SCROLL_NONE,\n ): ScrollDirection {\n const { options } = this.calendar.options;\n const templatesClt = this.calendar.templateCollection;\n const minDate = options.date.min ?\n templatesClt.get(options.domain.type)!.extractUnit(+options.date.min) :\n undefined;\n const maxDate = options.date.max ?\n templatesClt.get(options.domain.type)!.extractUnit(+options.date.max) :\n undefined;\n const { domainCollection } = this.calendar;\n\n if (\n this.#isDomainBoundaryReached(\n newDomainCollection,\n minDate,\n maxDate,\n direction,\n )\n ) {\n return ScrollDirection.SCROLL_NONE;\n }\n\n if (direction !== ScrollDirection.SCROLL_NONE) {\n newDomainCollection\n .clamp(minDate, maxDate)\n .slice(options.range, direction === ScrollDirection.SCROLL_FORWARD);\n }\n\n domainCollection.merge(\n newDomainCollection,\n options.range,\n (domainKey: Timestamp, index: number) => {\n let subDomainEndDate = null;\n if (newDomainCollection.at(index + 1)) {\n subDomainEndDate = newDomainCollection.at(index + 1);\n } else {\n subDomainEndDate = this.calendar.dateHelper\n .intervals(options.domain.type, domainKey, 2)\n .pop();\n }\n return templatesClt\n .get(options.subDomain.type)!\n .mapping(domainKey, subDomainEndDate!)\n .map((d) => ({ ...d, v: options.data.defaultValue }));\n },\n );\n\n this.#setDomainsBoundaryReached(\n domainCollection.min,\n domainCollection.max,\n minDate,\n maxDate,\n );\n\n if (direction === ScrollDirection.SCROLL_BACKWARD) {\n this.calendar.eventEmitter.emit('domainsLoaded', [domainCollection.min]);\n } else if (direction === ScrollDirection.SCROLL_FORWARD) {\n this.calendar.eventEmitter.emit('domainsLoaded', [domainCollection.max]);\n }\n\n return direction;\n }\n\n jumpTo(date: Date, reset: boolean): ScrollDirection {\n const { domainCollection, options } = this.calendar;\n const minDate = new Date(domainCollection.min!);\n const maxDate = new Date(domainCollection.max!);\n\n if (date < minDate) {\n return this.loadNewDomains(\n this.calendar.createDomainCollection(date, minDate, false),\n ScrollDirection.SCROLL_BACKWARD,\n );\n }\n if (reset) {\n return this.loadNewDomains(\n this.calendar.createDomainCollection(date, options.options.range),\n minDate < date ?\n ScrollDirection.SCROLL_FORWARD :\n ScrollDirection.SCROLL_BACKWARD,\n );\n }\n\n if (date > maxDate) {\n return this.loadNewDomains(\n this.calendar.createDomainCollection(maxDate, date, false),\n ScrollDirection.SCROLL_FORWARD,\n );\n }\n\n return ScrollDirection.SCROLL_NONE;\n }\n\n #isDomainBoundaryReached(\n newDomainCollection: DomainCollection,\n minDate?: Timestamp,\n maxDate?: Timestamp,\n direction?: ScrollDirection,\n ): boolean {\n if (\n maxDate &&\n newDomainCollection.max! >= maxDate &&\n this.maxDomainReached &&\n direction === ScrollDirection.SCROLL_FORWARD\n ) {\n return true;\n }\n\n if (\n minDate &&\n newDomainCollection.min! <= minDate &&\n this.minDomainReached &&\n direction === ScrollDirection.SCROLL_BACKWARD\n ) {\n return true;\n }\n\n return false;\n }\n\n #setDomainsBoundaryReached(\n lowerBound: Timestamp,\n upperBound: Timestamp,\n min?: Timestamp,\n max?: Timestamp,\n ): void {\n if (min) {\n const reached = lowerBound <= min;\n this.calendar.eventEmitter.emit(\n reached ? 'minDateReached' : 'minDateNotReached',\n );\n this.minDomainReached = reached;\n }\n if (max) {\n const reached = upperBound >= max;\n this.calendar.eventEmitter.emit(\n reached ? 'maxDateReached' : 'maxDateNotReached',\n );\n this.maxDomainReached = reached;\n }\n }\n}\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !arrayMethodHasSpeciesSupport('concat');\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = lengthOfArrayLike(E);\n doesNotExceedSafeInteger(n + len);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n doesNotExceedSafeInteger(n + 1);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call -- required for testing\n method.call(null, argument || function () { return 1; }, 1);\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = uncurryThis([].join);\n\nvar ES3_STRINGS = IndexedObject !== Object;\nvar FORCED = ES3_STRINGS || !arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: FORCED }, {\n join: function join(separator) {\n return nativeJoin(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar create = require('../internals/object-create');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key === key) return entry;\n }\n };\n\n defineBuiltIns(Prototype, {\n // `{ Map, Set }.prototype.clear()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.clear\n // https://tc39.es/ecma262/#sec-set.prototype.clear\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // `{ Map, Set }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.delete\n // https://tc39.es/ecma262/#sec-set.prototype.delete\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first === entry) state.first = next;\n if (state.last === entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.foreach\n // https://tc39.es/ecma262/#sec-set.prototype.foreach\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // `{ Map, Set}.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.has\n // https://tc39.es/ecma262/#sec-set.prototype.has\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n defineBuiltIns(Prototype, IS_MAP ? {\n // `Map.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-map.prototype.get\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // `Map.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-map.prototype.set\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // `Set.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-set.prototype.add\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineBuiltInAccessor(Prototype, 'size', {\n configurable: true,\n get: function () {\n return getInternalState(this).size;\n }\n });\n return Constructor;\n },\n setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.entries\n // https://tc39.es/ecma262/#sec-map.prototype.keys\n // https://tc39.es/ecma262/#sec-map.prototype.values\n // https://tc39.es/ecma262/#sec-map.prototype-@@iterator\n // https://tc39.es/ecma262/#sec-set.prototype.entries\n // https://tc39.es/ecma262/#sec-set.prototype.keys\n // https://tc39.es/ecma262/#sec-set.prototype.values\n // https://tc39.es/ecma262/#sec-set.prototype-@@iterator\n defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return createIterResultObject(undefined, true);\n }\n // return step by kind\n if (kind === 'keys') return createIterResultObject(entry.key, false);\n if (kind === 'values') return createIterResultObject(entry.value, false);\n return createIterResultObject([entry.key, entry.value], false);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // `{ Map, Set }.prototype[@@species]` accessors\n // https://tc39.es/ecma262/#sec-get-map-@@species\n // https://tc39.es/ecma262/#sec-get-set-@@species\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\ncollection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (O, P) {\n if (!delete O[P]) throw new $TypeError('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O));\n};\n","'use strict';\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar floor = Math.floor;\n\nvar mergeSort = function (array, comparefn) {\n var length = array.length;\n var middle = floor(length / 2);\n return length < 8 ? insertionSort(array, comparefn) : merge(\n array,\n mergeSort(arraySlice(array, 0, middle), comparefn),\n mergeSort(arraySlice(array, middle), comparefn),\n comparefn\n );\n};\n\nvar insertionSort = function (array, comparefn) {\n var length = array.length;\n var i = 1;\n var element, j;\n\n while (i < length) {\n j = i;\n element = array[i];\n while (j && comparefn(array[j - 1], element) > 0) {\n array[j] = array[--j];\n }\n if (j !== i++) array[j] = element;\n } return array;\n};\n\nvar merge = function (array, left, right, comparefn) {\n var llength = left.length;\n var rlength = right.length;\n var lindex = 0;\n var rindex = 0;\n\n while (lindex < llength || rindex < rlength) {\n array[lindex + rindex] = (lindex < llength && rindex < rlength)\n ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]\n : lindex < llength ? left[lindex++] : right[rindex++];\n } return array;\n};\n\nmodule.exports = mergeSort;\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","'use strict';\nvar UA = require('../internals/engine-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar test = [];\nvar nativeSort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? nativeSort(array) : nativeSort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = lengthOfArrayLike(items);\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) deletePropertyOrThrow(array, index++);\n\n return array;\n }\n});\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","'use strict';\nvar global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar handlePrototype = function (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n if (DOMIterables[COLLECTION_NAME]) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype);\n }\n}\n\nhandlePrototype(DOMTokenListPrototype);\n","import { Position } from '../constant';\nimport type { Padding } from '../options/Options';\n\nexport function isHorizontal(position: string): boolean {\n return position === 'left' || position === 'right';\n}\n\nexport function isVertical(position: string): boolean {\n return position === 'top' || position === 'bottom';\n}\n\nexport function horizontalPadding(padding: Padding): number {\n return padding[Position.LEFT] + padding[Position.RIGHT];\n}\n\nexport function verticalPadding(padding: Padding): number {\n return padding[Position.TOP] + padding[Position.BOTTOM];\n}\n","import { ScrollDirection } from '../constant';\nimport { horizontalPadding, verticalPadding } from '../helpers/PositionHelper';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport type DomainPainter from './DomainPainter';\nimport type DomainCollection from '../calendar/DomainCollection';\nimport type { SubDomain, Dimensions, Timestamp } from '../index';\n\ntype SubDomainWithCoordinates = Required & {\n pre_x: number;\n pre_y: number;\n width: number;\n height: number;\n inner_width: number;\n inner_height: number;\n};\n\nexport default class DomainCoordinates {\n calendar: CalHeatmap;\n\n domainPainter: DomainPainter;\n\n collection: Map;\n\n scrollDirection: ScrollDirection;\n\n constructor(calendar: CalHeatmap, domainPainter: DomainPainter) {\n this.calendar = calendar;\n this.domainPainter = domainPainter;\n this.collection = new Map();\n this.scrollDirection = ScrollDirection.SCROLL_FORWARD;\n }\n\n get(domainKey: Timestamp): SubDomainWithCoordinates | undefined {\n return this.collection.get(domainKey);\n }\n\n update(collection: DomainCollection, scrollDirection: ScrollDirection) {\n const { verticalOrientation, domain } = this.calendar.options.options;\n\n this.scrollDirection = scrollDirection;\n const dimensions: Dimensions = {\n width: 0,\n height: 0,\n };\n let exitingTotal = 0;\n let scrollFactor =\n scrollDirection === ScrollDirection.SCROLL_FORWARD ? -1 : 1;\n const { keys } = collection;\n if (this.calendar.options.options.domain.sort === 'desc') {\n keys.reverse();\n scrollFactor *= -1;\n }\n\n collection.yankedDomains.forEach((domainKey: Timestamp) => {\n exitingTotal +=\n this.collection.get(domainKey)![\n verticalOrientation ? 'height' : 'width'\n ];\n });\n collection.yankedDomains.forEach((domainKey: Timestamp) => {\n const coor = this.collection.get(domainKey)!;\n this.collection.set(domainKey, {\n ...coor,\n x: verticalOrientation ? coor.x : coor.x + exitingTotal * scrollFactor,\n y: verticalOrientation ? coor.y + exitingTotal * scrollFactor : coor.y,\n });\n });\n\n keys.forEach((domainKey: Timestamp) => {\n const w = this.#getWidth(domainKey);\n const h = this.#getHeight(domainKey);\n if (verticalOrientation) {\n dimensions.height += h;\n dimensions.width = Math.max(w, dimensions.width);\n } else {\n dimensions.width += w;\n dimensions.height = Math.max(h, dimensions.height);\n }\n\n const x = dimensions.width - w;\n const y = dimensions.height - h;\n\n this.collection.set(domainKey, {\n ...this.collection.get(domainKey)!,\n x: verticalOrientation ? 0 : x,\n y: verticalOrientation ? y : 0,\n pre_x: verticalOrientation ? x : x - exitingTotal * scrollFactor,\n pre_y: verticalOrientation ? y - exitingTotal * scrollFactor : y,\n width: w,\n height: h,\n inner_width: w - (verticalOrientation ? 0 : domain.gutter),\n inner_height: h - (!verticalOrientation ? 0 : domain.gutter),\n });\n });\n\n return dimensions;\n }\n\n /**\n * Return the full width of the domain block\n * @param {number} d Domain start timestamp\n * @return {number} The full width of the domain,\n * including all padding and gutter\n * Used to compute the x position of the domains on the x axis\n */\n #getWidth(d: Timestamp): number {\n const {\n domain, subDomain, x, verticalOrientation,\n } =\n this.calendar.options.options;\n const columnsCount = this.calendar.templateCollection\n .get(subDomain.type)!\n .columnsCount(d);\n\n const subDomainWidth =\n (subDomain.width + subDomain.gutter) * columnsCount - subDomain.gutter;\n\n return (\n horizontalPadding(domain.padding) +\n x.domainHorizontalLabelWidth +\n (verticalOrientation ? 0 : domain.gutter) +\n subDomainWidth\n );\n }\n\n /**\n * Return the full height of the domain block\n * @param {number} d Domain start timestamp\n * @return {number} The full height of the domain,\n * including all paddings and gutter.\n * Used to compute the y position of the domains on the y axis\n */\n #getHeight(d: Timestamp): number {\n const {\n domain, subDomain, x, verticalOrientation,\n } =\n this.calendar.options.options;\n const rowsCount = this.calendar.templateCollection\n .get(subDomain.type)!\n .rowsCount(d);\n\n const subDomainHeight =\n (subDomain.height + subDomain.gutter) * rowsCount - subDomain.gutter;\n\n return (\n verticalPadding(domain.padding) +\n subDomainHeight +\n (verticalOrientation ? domain.gutter : 0) +\n x.domainVerticalLabelHeight\n );\n }\n}\n","import DomainCoordinates from './DomainCoordinates';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport type { ScrollDirection } from '../constant';\nimport type { Dimensions, Timestamp } from '../index';\n\nconst DEFAULT_SELECTOR = '.ch-domain';\n\nexport default class DomainPainter {\n calendar: CalHeatmap;\n\n coordinates: DomainCoordinates;\n\n root: any;\n\n dimensions: Dimensions;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n this.coordinates = new DomainCoordinates(calendar, this);\n this.root = null;\n\n // Dimensions of the internal area containing all the domains\n // Excluding all surrounding margins\n this.dimensions = {\n width: 0,\n height: 0,\n };\n }\n\n paint(scrollDirection: ScrollDirection, rootNode: any): Promise[] {\n const { animationDuration } = this.calendar.options.options;\n const t = rootNode.transition().duration(animationDuration);\n const coor = this.coordinates;\n\n this.dimensions = coor.update(\n this.calendar.domainCollection,\n scrollDirection,\n );\n\n const promises: Promise[] = [];\n\n this.root = rootNode\n .selectAll(DEFAULT_SELECTOR)\n .data(this.calendar.domainCollection.keys, (d: Timestamp) => d)\n .join(\n (enter: any) => enter\n .append('svg')\n .attr('x', (d: Timestamp) => coor.get(d)!.pre_x)\n .attr('y', (d: Timestamp) => coor.get(d)!.pre_y)\n .attr('width', (d: Timestamp) => coor.get(d)!.inner_width)\n .attr('height', (d: Timestamp) => coor.get(d)!.inner_height)\n .attr('class', (d: Timestamp) => this.#getClassName(d))\n .call((enterSelection: any) => enterSelection\n .append('rect')\n .attr('width', (d: Timestamp) => coor.get(d)!.inner_width)\n .attr('height', (d: Timestamp) => coor.get(d)!.inner_height)\n .attr('class', `${DEFAULT_SELECTOR.slice(1)}-bg`))\n .call((enterSelection: any) => promises.push(\n enterSelection\n .transition(t)\n .attr('x', (d: Timestamp) => coor.get(d)!.x)\n .attr('y', (d: Timestamp) => coor.get(d)!.y)\n .end(),\n )),\n (update: any) => update\n .call((updateSelection: any) => promises.push(\n updateSelection\n .transition(t)\n .attr('x', (d: Timestamp) => coor.get(d)!.x)\n .attr('y', (d: Timestamp) => coor.get(d)!.y)\n .attr('width', (d: Timestamp) => coor.get(d)!.inner_width)\n .attr('height', (d: Timestamp) => coor.get(d)!.inner_height)\n .end(),\n ))\n .call((updateSelection: any) => promises.push(\n updateSelection\n .selectAll(`${DEFAULT_SELECTOR}-bg`)\n .transition(t)\n .attr('width', (d: Timestamp) => coor.get(d)!.inner_width)\n .attr('height', (d: Timestamp) => coor.get(d)!.inner_height)\n .end(),\n )),\n (exit: any) => exit.call((exitSelection: any) => promises.push(\n exitSelection\n .transition(t)\n .attr('x', (d: Timestamp) => coor.get(d)!.x)\n .attr('y', (d: Timestamp) => coor.get(d)!.y)\n .remove()\n .end(),\n )),\n );\n\n return promises;\n }\n\n #getClassName(d: Timestamp): string {\n let classname = DEFAULT_SELECTOR.slice(1);\n const helper = this.calendar.dateHelper.date(d);\n\n switch (this.calendar.options.options.domain.type) {\n case 'hour':\n classname += ` h_${helper.hour()}`;\n break;\n case 'day':\n classname += ` d_${helper.date()} dy_${helper.format('d') + 1}`;\n break;\n case 'week':\n classname += ` w_${helper.week()}`;\n break;\n case 'month':\n classname += ` m_${helper.month() + 1}`;\n break;\n case 'year':\n classname += ` y_${helper.year()}`;\n break;\n default:\n }\n return classname;\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar fails = require('../internals/fails');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// FF99+ bug\nvar BROKEN_ON_SPARSE = fails(function () {\n // eslint-disable-next-line es/no-array-prototype-includes -- detection\n return !Array(1).includes();\n});\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isConstructor = require('../internals/is-constructor');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $Array = Array;\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var IS_CONSTRUCTOR = isConstructor(this);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n result = IS_CONSTRUCTOR ? new this() : [];\n for (;!(step = call(next, iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = lengthOfArrayLike(O);\n result = IS_CONSTRUCTOR ? new this(length) : $Array(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n // eslint-disable-next-line es/no-array-from -- required for testing\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.es/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","import castArray from 'lodash-es/castArray';\n\nimport type { SubDomain } from '../index';\nimport type {\n DataOptions,\n DataGroupType,\n DataRecord,\n} from '../options/Options';\nimport { DomainType, Timestamp } from '../index';\nimport type DateHelper from '../helpers/DateHelper';\n\nexport const DOMAIN_FORMAT: Record = {\n year: 'YYYY',\n month: 'MMMM',\n week: 'wo [week] YYYY',\n xDay: 'Do MMM',\n ghDay: 'Do MMM',\n day: 'Do MMM',\n hour: 'HH:00',\n minute: 'HH:mm',\n};\n\ntype GroupedRecords = Map;\ntype ValueType = string | number | null;\n\nexport default class DomainCollection {\n collection: Map;\n\n dateHelper: DateHelper;\n\n min: Timestamp;\n\n max: Timestamp;\n\n keys: Timestamp[];\n\n yankedDomains: Timestamp[];\n\n constructor(\n dateHelper: DateHelper,\n interval?: DomainType,\n start?: Date | Timestamp,\n range?: Date | Timestamp,\n excludeEnd: boolean = false,\n ) {\n this.collection = new Map();\n this.dateHelper = dateHelper;\n\n if (interval && start && range) {\n const ts = this.dateHelper\n .intervals(interval, start, range, excludeEnd)\n .map((d: Timestamp) => castArray(d));\n\n // @ts-ignore\n this.collection = new Map(ts);\n }\n\n this.min = 0;\n this.max = 0;\n this.keys = [];\n this.yankedDomains = [];\n\n if (this.collection.size > 0) {\n this.#refreshKeys();\n }\n }\n\n has(key: Timestamp): boolean {\n return this.collection.has(key);\n }\n\n get(key: Timestamp) {\n return this.collection.get(key);\n }\n\n forEach(callback: any) {\n return this.collection.forEach(callback);\n }\n\n at(index: number): Timestamp {\n return this.keys[index];\n }\n\n clamp(minDate?: Timestamp, maxDate?: Timestamp): DomainCollection {\n if (minDate && this.min! < minDate) {\n this.keys\n .filter((key) => key < minDate)\n .forEach((d) => this.collection.delete(d));\n }\n\n if (maxDate && this.max! > maxDate) {\n this.keys\n .filter((key) => key > maxDate)\n .forEach((d) => this.collection.delete(d));\n }\n\n this.#refreshKeys();\n\n return this;\n }\n\n merge(\n newCollection: DomainCollection,\n limit: number,\n createValueCallback: Function,\n ): void {\n this.yankedDomains = [];\n\n newCollection.keys.forEach((domainKey, index) => {\n if (this.has(domainKey)) {\n return;\n }\n\n if (this.collection.size >= limit) {\n let keyToRemove = this.max;\n\n if (domainKey > this.max!) {\n keyToRemove = this.min;\n }\n\n if (keyToRemove && this.collection.delete(keyToRemove)) {\n this.yankedDomains.push(keyToRemove);\n }\n }\n this.collection.set(domainKey, createValueCallback(domainKey, index));\n this.#refreshKeys();\n });\n this.yankedDomains = this.yankedDomains.sort((a, b) => a - b);\n }\n\n slice(limit: number = 0, fromBeginning: boolean = true): DomainCollection {\n if (this.keys.length > limit) {\n const keysToDelete = fromBeginning ?\n this.keys.slice(0, -limit) :\n this.keys.slice(limit);\n\n keysToDelete.forEach((key) => {\n this.collection.delete(key);\n });\n\n this.#refreshKeys();\n }\n\n return this;\n }\n\n fill(\n data: DataRecord[],\n {\n x,\n y,\n groupY,\n defaultValue,\n }: {\n x: DataOptions['x'];\n y: DataOptions['y'];\n groupY: DataOptions['groupY'];\n defaultValue: DataOptions['defaultValue'];\n },\n subDomainKeyExtractor: Function,\n ): void {\n const groupedRecords: GroupedRecords = this.groupRecords(\n data,\n x,\n subDomainKeyExtractor,\n );\n\n this.keys.forEach((domainKey) => {\n const records = groupedRecords.get(domainKey) || {};\n this.#setSubDomainValues(domainKey, records, y, groupY, defaultValue);\n });\n }\n\n #setSubDomainValues(\n domainKey: Timestamp,\n records: { [key: string]: DataRecord[] },\n y: DataOptions['y'],\n groupY: DataOptions['groupY'],\n defaultValue: DataOptions['defaultValue'],\n ): void {\n this.get(domainKey)!.forEach((subDomain: SubDomain, index: number) => {\n let value: ValueType = defaultValue;\n if (records.hasOwnProperty(subDomain.t)) {\n value = this.groupValues(\n this.#extractValues(records[subDomain.t], y),\n groupY,\n );\n }\n\n this.get(domainKey)![index].v = value;\n });\n }\n\n groupRecords(\n data: DataRecord[],\n x: DataOptions['x'],\n subDomainKeyExtractor: Function,\n ): GroupedRecords {\n const results: GroupedRecords = new Map();\n const validSubDomainTimestamp: Map = new Map();\n this.keys.forEach((domainKey) => {\n this.get(domainKey)!.forEach((subDomain: SubDomain) => {\n validSubDomainTimestamp.set(subDomain.t, domainKey);\n });\n });\n\n data.forEach((d) => {\n const timestamp = this.extractTimestamp(d, x, subDomainKeyExtractor);\n\n if (validSubDomainTimestamp.has(timestamp)) {\n const domainKey = validSubDomainTimestamp.get(timestamp)!;\n const records = results.get(domainKey) || {};\n records[timestamp] ||= [];\n records[timestamp].push(d);\n\n results.set(domainKey, records);\n }\n });\n\n return results;\n }\n\n // eslint-disable-next-line class-methods-use-this\n #extractValues(data: DataRecord[], y: string | Function): ValueType[] {\n return data.map((d): ValueType => (typeof y === 'function' ? y(d) : d[y]));\n }\n\n // eslint-disable-next-line class-methods-use-this\n groupValues(\n values: ValueType[],\n groupFn: DataGroupType | ((values: ValueType[]) => ValueType),\n ): ValueType {\n const cleanedValues = values.filter((n) => n !== null);\n\n if (typeof groupFn === 'string') {\n if (cleanedValues.every((n) => typeof n === 'number')) {\n switch (groupFn) {\n case 'sum':\n return (cleanedValues as number[]).reduce((a, b) => a + b, 0);\n case 'count':\n return cleanedValues.length;\n case 'min':\n return Math.min(...(cleanedValues as number[])) || null;\n case 'max':\n return Math.max(...(cleanedValues as number[])) || null;\n case 'average':\n return cleanedValues.length > 0 ?\n (cleanedValues as number[]).reduce((a, b) => a + b, 0) /\n cleanedValues.length :\n null;\n default:\n return null;\n }\n }\n\n switch (groupFn) {\n case 'count':\n return cleanedValues.length;\n default:\n return null;\n }\n } else if (typeof groupFn === 'function') {\n return groupFn(cleanedValues);\n }\n\n return null;\n }\n\n // eslint-disable-next-line class-methods-use-this\n extractTimestamp(\n datum: DataRecord,\n x: string | Function,\n extractorFn: Function,\n ): Timestamp {\n let timestamp: string | Timestamp =\n typeof x === 'function' ? x(datum) : datum[x];\n\n if (typeof timestamp === 'string') {\n timestamp = +new Date(timestamp);\n }\n\n return extractorFn(timestamp);\n }\n\n #refreshKeys(): Timestamp[] {\n this.keys = Array.from(this.collection.keys())\n .map((d: any) => parseInt(d, 10))\n .sort((a, b) => a - b);\n\n const { keys } = this;\n // eslint-disable-next-line prefer-destructuring\n this.min = keys[0];\n this.max = keys[keys.length - 1];\n\n return this.keys;\n }\n}\n","import { Position } from '../constant';\nimport {\n isVertical,\n verticalPadding,\n horizontalPadding,\n} from '../helpers/PositionHelper';\nimport { DOMAIN_FORMAT } from '../calendar/DomainCollection';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport type { Timestamp } from '../index';\n\nconst DEFAULT_SELECTOR = '.ch-domain-text';\n\nexport default class DomainLabelPainter {\n calendar: CalHeatmap;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n }\n\n paint(root: any): void {\n const { label, type } = this.calendar.options.options.domain;\n const { dateHelper } = this.calendar;\n let format = label.text;\n if (format === null || format === '') {\n return;\n }\n\n if (typeof format === 'undefined') {\n format = DOMAIN_FORMAT[type];\n }\n\n root\n .selectAll(DEFAULT_SELECTOR)\n .data(\n (d: Timestamp) => [d],\n (d: Timestamp) => d,\n )\n .join(\n (enter: any) => enter\n .append('text')\n .attr('class', DEFAULT_SELECTOR.slice(1))\n .attr('x', (d: Timestamp) => this.#getX(d))\n .attr('y', (d: Timestamp) => this.#getY(d))\n .attr('text-anchor', label.textAlign)\n .attr('dominant-baseline', () => this.#textVerticalAlign())\n .text((d: Timestamp, i: number, nodes: any[]) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n dateHelper.format(d, format!, nodes[i]))\n .call((selection: any) => this.#domainRotate(selection)),\n (update: any) => {\n update\n .attr('x', (d: Timestamp) => this.#getX(d))\n .attr('y', (d: Timestamp) => this.#getY(d))\n .attr('text-anchor', label.textAlign)\n .attr('dominant-baseline', () => this.#textVerticalAlign())\n .text((d: Timestamp, i: number, nodes: any[]) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n dateHelper.format(d, format!, nodes[i]))\n .call((selection: any) => this.#domainRotate(selection));\n },\n );\n }\n\n #textVerticalAlign(): string {\n const { position, rotate } = this.calendar.options.options.domain.label;\n\n if (isVertical(position)) {\n return 'middle';\n }\n\n if (\n (rotate === 'left' && position === 'left') ||\n (rotate === 'right' && position === 'right')\n ) {\n return 'bottom';\n }\n\n return 'hanging';\n }\n\n #getX(d: Timestamp): number {\n const {\n padding,\n label: { position, textAlign, offset },\n } = this.calendar.options.options.domain;\n const { domainHorizontalLabelWidth } = this.calendar.options.options.x;\n\n let x = padding[Position.LEFT];\n\n if (position === 'right') {\n x += this.#getDomainInsideWidth(d);\n }\n\n if (textAlign === 'middle') {\n if (['top', 'bottom'].includes(position)) {\n x += this.#getDomainInsideWidth(d) / 2;\n } else {\n x += domainHorizontalLabelWidth / 2;\n }\n }\n\n if (textAlign === 'end') {\n if (isVertical(position)) {\n x += this.#getDomainInsideWidth(d);\n } else {\n x += domainHorizontalLabelWidth;\n }\n }\n\n return x + offset.x;\n }\n\n #getY(d: Timestamp): number {\n const {\n domain: {\n label: { position, offset },\n padding,\n },\n x,\n } = this.calendar.options.options;\n\n let y = padding[Position.TOP] + x.domainVerticalLabelHeight / 2;\n\n if (position === 'bottom') {\n y += this.#getDomainInsideHeight(d);\n }\n\n return y + offset.y;\n }\n\n #getDomainInsideWidth(d: Timestamp): number {\n const {\n domain: { padding },\n x: { domainHorizontalLabelWidth },\n } = this.calendar.options.options;\n const { coordinates } =\n this.calendar.calendarPainter.domainsContainerPainter.domainPainter;\n\n return (\n coordinates.get(d)!.inner_width -\n domainHorizontalLabelWidth -\n horizontalPadding(padding)\n );\n }\n\n #getDomainInsideHeight(d: Timestamp): number {\n const {\n x: { domainVerticalLabelHeight },\n domain: { padding },\n } = this.calendar.options.options;\n const { coordinates } =\n this.calendar.calendarPainter.domainsContainerPainter.domainPainter;\n\n return (\n coordinates.get(d)!.inner_height -\n domainVerticalLabelHeight -\n verticalPadding(padding)\n );\n }\n\n #domainRotate(selection: any) {\n const {\n domain: {\n label: { rotate, textAlign, position },\n },\n x,\n } = this.calendar.options.options;\n const labelWidth = x.domainHorizontalLabelWidth;\n\n switch (rotate) {\n // Rotating the text clockwise\n case 'right':\n selection.attr('transform', (d: Timestamp) => {\n const domainWidth = this.#getDomainInsideWidth(d);\n const domainHeight = this.#getDomainInsideHeight(d);\n const s = [\n `rotate(90, ${position === 'right' ? domainWidth : labelWidth}, 0)`,\n ];\n\n switch (position) {\n case 'right':\n if (textAlign === 'middle') {\n s.push(`translate(${domainHeight / 2 - labelWidth / 2})`);\n } else if (textAlign === 'end') {\n s.push(`translate(${domainHeight - labelWidth})`);\n }\n break;\n case 'left':\n if (textAlign === 'start') {\n s.push(`translate(${labelWidth})`);\n } else if (textAlign === 'middle') {\n s.push(`translate(${labelWidth / 2 + domainHeight / 2})`);\n } else if (textAlign === 'end') {\n s.push(`translate(${domainHeight})`);\n }\n break;\n default:\n }\n\n return s.join(',');\n });\n break;\n // Rotating the text anticlockwise\n case 'left':\n selection.attr('transform', (d: Timestamp) => {\n const domainWidth = this.#getDomainInsideWidth(d);\n const domainHeight = this.#getDomainInsideHeight(d);\n const s = [\n `rotate(270, ${\n position === 'right' ? domainWidth : labelWidth\n }, 0)`,\n ];\n\n switch (position) {\n case 'right':\n if (textAlign === 'start') {\n s.push(`translate(-${domainHeight})`);\n } else if (textAlign === 'middle') {\n s.push(`translate(-${domainHeight / 2 + labelWidth / 2})`);\n } else if (textAlign === 'end') {\n s.push(`translate(-${labelWidth})`);\n }\n break;\n case 'left':\n if (textAlign === 'start') {\n s.push(`translate(${labelWidth - domainHeight})`);\n } else if (textAlign === 'middle') {\n s.push(`translate(${labelWidth / 2 - domainHeight / 2})`);\n }\n break;\n default:\n }\n\n return s.join(',');\n });\n break;\n default:\n }\n }\n}\n","'use strict';\n// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar replace = uncurryThis(''.replace);\nvar ltrim = RegExp('^[' + whitespaces + ']+');\nvar rtrim = RegExp('(^|[^' + whitespaces + '])[' + whitespaces + ']+$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = replace(string, ltrim, '');\n if (TYPE & 2) string = replace(string, rtrim, '$1');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","'use strict';\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]()\n || non[METHOD_NAME]() !== non\n || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME);\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","import { Position } from '../constant';\nimport type CalHeatmap from '../CalHeatmap';\nimport type { Timestamp, SubDomain } from '../index';\n\nexport const DEFAULT_SELECTOR = '.ch-subdomain';\nconst HIGHLIGHT_CLASSNAME = 'highlight';\n\nexport default class SubDomainPainter {\n calendar: CalHeatmap;\n\n root: any;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n this.root = null;\n }\n\n paint(root: any): void {\n this.root = root || this.root;\n const containerClassname = `${DEFAULT_SELECTOR}-container`;\n\n const subDomainSvgGroup = this.root\n .selectAll(containerClassname)\n .data(\n (d: Timestamp) => [d],\n (d: Timestamp) => d,\n )\n .join(\n (enter: any) => enter\n .append('svg')\n .call((selection: any) => this.#setPositions(selection))\n .attr('class', containerClassname.slice(1)),\n\n (update: any) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n update.call((selection: any) => this.#setPositions(selection)),\n );\n\n const {\n subDomain: {\n radius, width, height, sort,\n },\n } = this.calendar.options.options;\n const evt = this.calendar.eventEmitter;\n\n subDomainSvgGroup\n .selectAll('g')\n .data((d: Timestamp) => {\n const subDomainsCollection: SubDomain[] =\n this.calendar.domainCollection.get(d)!;\n if (sort === 'desc') {\n const max = Math.max(\n ...subDomainsCollection.map((s: SubDomain) => s.x),\n );\n subDomainsCollection.forEach((s: SubDomain, i: number) => {\n subDomainsCollection[i].x = Math.abs(s.x - max);\n });\n }\n\n return subDomainsCollection;\n })\n .join(\n (enter: any) => enter\n .append('g')\n .call((selection: any) => selection\n .insert('rect')\n .attr('class', (d: SubDomain) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n this.#classname(d.t, `${DEFAULT_SELECTOR.slice(1)}-bg`))\n .attr('width', width)\n .attr('height', height)\n .attr('x', (d: SubDomain) => this.#getX(d))\n .attr('y', (d: SubDomain) => this.#getY(d))\n .on('click', (ev: PointerEvent, d: SubDomain) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n evt.emit('click', ev, d.t, d.v))\n .on('mouseover', (ev: PointerEvent, d: SubDomain) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n evt.emit('mouseover', ev, d.t, d.v))\n .on('mouseout', (ev: PointerEvent, d: SubDomain) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n evt.emit('mouseout', ev, d.t, d.v))\n .attr('rx', radius > 0 ? radius : null)\n .attr('ry', radius > 0 ? radius : null))\n .call((selection: any) => this.#appendText(selection)),\n (update: any) => update\n .selectAll('rect')\n .attr('class', (d: SubDomain) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n this.#classname(d.t, `${DEFAULT_SELECTOR.slice(1)}-bg`))\n .attr('width', width)\n .attr('height', height)\n .attr('x', (d: SubDomain) => this.#getX(d))\n .attr('y', (d: SubDomain) => this.#getY(d))\n .attr('rx', radius)\n .attr('ry', radius),\n );\n }\n\n /**\n * Set the subDomain group X and Y position\n * @param {d3-selection} selection A d3-selection object\n */\n #setPositions(selection: any): void {\n const { options } = this.calendar.options;\n const {\n padding,\n label: { position },\n } = options.domain;\n\n selection\n .attr('x', () => {\n let pos = padding[Position.LEFT];\n if (position === 'left') {\n pos += options.x.domainHorizontalLabelWidth;\n }\n return pos;\n })\n .attr('y', () => {\n let pos = padding[Position.TOP];\n if (position === 'top') {\n pos += options.x.domainVerticalLabelHeight;\n }\n return pos;\n });\n }\n\n /**\n * Return a classname if the specified date should be highlighted\n *\n * @param {number} timestamp Unix timestamp of the current subDomain\n * @return {String} the highlight class\n */\n #classname(timestamp: Timestamp, ...otherClasses: string[]): string {\n const {\n date: { highlight },\n subDomain: { type },\n } = this.calendar.options.options;\n let classname = '';\n\n if (highlight.length > 0) {\n highlight.forEach((d) => {\n const unitFn = this.calendar.templateCollection.get(type).extractUnit;\n\n if (unitFn(+d) === unitFn(timestamp)) {\n classname = HIGHLIGHT_CLASSNAME;\n }\n });\n }\n\n return [classname, ...otherClasses].join(' ').trim();\n }\n\n #appendText(elem: any) {\n const { width, height, label } = this.calendar.options.options.subDomain;\n\n if (!label) {\n return null;\n }\n\n return elem\n .append('text')\n .attr('class', (d: SubDomain) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n this.#classname(d.t, `${DEFAULT_SELECTOR.slice(1)}-text`))\n .attr('x', (d: SubDomain) => this.#getX(d) + width / 2)\n .attr('y', (d: SubDomain) => this.#getY(d) + height / 2)\n .attr('text-anchor', 'middle')\n .attr('dominant-baseline', 'central')\n .text((d: SubDomain, i: number, nodes: any[]) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n this.calendar.dateHelper.format(d.t, label, d.v, nodes[i]));\n }\n\n #getCoordinates(axis: 'x' | 'y', d: SubDomain): number {\n const { subDomain } = this.calendar.options.options;\n return (\n d[axis] *\n (subDomain[axis === 'x' ? 'width' : 'height'] + subDomain.gutter)\n );\n }\n\n #getX(d: SubDomain): number {\n return this.#getCoordinates('x', d);\n }\n\n #getY(d: SubDomain): number {\n return this.#getCoordinates('y', d);\n }\n}\n","import { select } from 'd3-selection';\nimport DomainPainter from './DomainPainter';\nimport DomainLabelPainter from './DomainLabelPainter';\nimport SubDomainPainter from '../subDomain/SubDomainPainter';\nimport { ScrollDirection } from '../constant';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport type { Dimensions } from '../index';\n\nconst BASE_SELECTOR = '.ch-domain-container';\nconst TRANSITION_CLASSNAME = 'in-transition';\n\nclass DomainsContainerPainter {\n calendar: CalHeatmap;\n\n domainPainter: DomainPainter;\n\n domainLabelPainter: DomainLabelPainter;\n\n subDomainPainter: SubDomainPainter;\n\n dimensions: Dimensions;\n\n root: any;\n\n transitionsQueueCount: number;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n\n this.domainPainter = new DomainPainter(calendar);\n this.subDomainPainter = new SubDomainPainter(calendar);\n this.domainLabelPainter = new DomainLabelPainter(calendar);\n this.dimensions = {\n width: 0,\n height: 0,\n };\n this.transitionsQueueCount = 0;\n }\n\n setup() {\n this.root = this.calendar.calendarPainter.root\n .attr('x', 0)\n .attr('y', 0)\n .append('svg')\n .attr('class', BASE_SELECTOR.slice(1))\n .append('svg')\n .attr('class', `${BASE_SELECTOR.slice(1)}-animation-wrapper`);\n }\n\n paint(scrollDirection: ScrollDirection): Promise[] {\n this.#startAnimation();\n\n const result = this.domainPainter.paint(scrollDirection, this.root);\n this.subDomainPainter.paint(this.domainPainter.root);\n this.domainLabelPainter.paint(this.domainPainter.root);\n\n this.#recomputeDimensions();\n\n Promise.allSettled(result).then(() => {\n this.#endAnimation();\n });\n\n return result;\n }\n\n updatePosition() {\n if (!this.root?.node()) {\n return Promise.resolve();\n }\n\n const { animationDuration } = this.calendar.options.options;\n const topHeight = this.calendar.pluginManager.getHeightFromPosition('top');\n const leftWidth = this.calendar.pluginManager.getWidthFromPosition('left');\n\n return [\n select(this.root.node().parentNode)\n .transition()\n .duration(animationDuration)\n .call((selection: any) => {\n selection.attr('x', leftWidth).attr('y', topHeight);\n })\n .end(),\n ];\n }\n\n width(): Dimensions['width'] {\n return this.dimensions.width;\n }\n\n height(): Dimensions['height'] {\n return this.dimensions.height;\n }\n\n destroy(): Promise {\n this.#startAnimation();\n\n return Promise.resolve();\n }\n\n #startAnimation() {\n if (this.root?.node()) {\n this.transitionsQueueCount += 1;\n select(this.root.node().parentNode).classed(TRANSITION_CLASSNAME, true);\n }\n }\n\n #endAnimation() {\n if (this.root?.node()) {\n this.transitionsQueueCount -= 1;\n\n if (this.transitionsQueueCount === 0) {\n select(this.root.node().parentNode).classed(\n TRANSITION_CLASSNAME,\n false,\n );\n }\n }\n }\n\n #recomputeDimensions(): void {\n const {\n animationDuration,\n verticalOrientation,\n domain: { gutter },\n } = this.calendar.options.options;\n const { dimensions: domainsDimensions } = this.domainPainter;\n\n this.dimensions = {\n width: domainsDimensions.width - (verticalOrientation ? 0 : gutter),\n height: domainsDimensions.height - (!verticalOrientation ? 0 : gutter),\n };\n\n this.root\n .transition()\n .duration(animationDuration)\n .attr('width', this.dimensions.width)\n .attr('height', this.dimensions.height);\n }\n}\n\nexport default DomainsContainerPainter;\n","import type CalHeatmap from '../CalHeatmap';\n\nclass PluginPainter {\n calendar: CalHeatmap;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n }\n\n paint(): Promise[] {\n let promises: Promise[] = [];\n\n promises = promises.concat(this.calendar.pluginManager.paintAll());\n promises = promises.concat(this.setPluginsPosition());\n\n return promises;\n }\n\n setPluginsPosition(): Promise[] {\n const { pluginManager } = this.calendar;\n const { animationDuration } = this.calendar.options.options;\n const { domainsContainerPainter } = this.calendar.calendarPainter;\n\n const top = pluginManager.getFromPosition('top');\n const right = pluginManager.getFromPosition('right');\n const bottom = pluginManager.getFromPosition('bottom');\n const left = pluginManager.getFromPosition('left');\n\n const topHeight = pluginManager.getHeightFromPosition('top');\n const leftWidth = pluginManager.getWidthFromPosition('left');\n\n const promises: Promise[] = [];\n\n let topOffset = 0;\n top.forEach((plugin) => {\n promises.push(\n plugin.root\n .transition()\n .duration(animationDuration)\n .attr('y', topOffset)\n .attr('x', leftWidth)\n .end(),\n );\n topOffset += plugin.options.dimensions!.height;\n });\n\n let leftOffset = 0;\n left.forEach((plugin) => {\n promises.push(\n plugin.root\n .transition()\n .duration(animationDuration)\n .attr('x', leftOffset)\n .attr('y', topHeight)\n .end(),\n );\n leftOffset += plugin.options.dimensions!.width;\n });\n\n bottom.forEach((plugin) => {\n promises.push(\n plugin.root\n .transition()\n .duration(animationDuration)\n .attr('x', leftWidth)\n .attr('y', topHeight + domainsContainerPainter.height())\n .end(),\n );\n });\n\n leftOffset += domainsContainerPainter.width();\n\n right.forEach((plugin) => {\n promises.push(\n plugin.root\n .transition()\n .duration(animationDuration)\n .attr('x', leftOffset)\n .attr('y', topHeight)\n .end(),\n );\n leftOffset += plugin.options.dimensions!.width;\n });\n\n return promises;\n }\n\n insideWidth() {\n return (\n this.calendar.pluginManager.getWidthFromPosition('left') +\n this.calendar.pluginManager.getWidthFromPosition('right')\n );\n }\n\n insideHeight() {\n return (\n this.calendar.pluginManager.getHeightFromPosition('top') +\n this.calendar.pluginManager.getHeightFromPosition('bottom')\n );\n }\n}\n\nexport default PluginPainter;\n","import { select } from 'd3-selection';\n\nimport DomainsContainerPainter from '../domain/DomainsContainerPainter';\nimport PluginPainter from '../plugins/PluginPainter';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport { ScrollDirection } from '../constant';\nimport type { Dimensions } from '../index';\n\nexport const DEFAULT_SELECTOR = '.ch-container';\n\nexport default class CalendarPainter {\n calendar: CalHeatmap;\n\n dimensions: Dimensions;\n\n root: any;\n\n domainsContainerPainter: DomainsContainerPainter;\n\n pluginPainter: PluginPainter;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n this.dimensions = {\n width: 0,\n height: 0,\n };\n this.root = null;\n this.domainsContainerPainter = new DomainsContainerPainter(calendar);\n this.pluginPainter = new PluginPainter(calendar);\n }\n\n setup(): boolean {\n const { itemSelector, theme } = this.calendar.options.options;\n\n if (!this.root) {\n this.root = select(itemSelector)\n .append('svg')\n .attr('data-theme', theme)\n .attr('class', DEFAULT_SELECTOR.slice(1));\n this.domainsContainerPainter.setup();\n }\n\n this.calendar.pluginManager.setupAll();\n\n return true;\n }\n\n paint(navigationDir: ScrollDirection = ScrollDirection.SCROLL_NONE) {\n const transitions = this.domainsContainerPainter\n .paint(navigationDir)\n .concat(this.pluginPainter.paint())\n .concat(this.domainsContainerPainter.updatePosition());\n\n this.#resize();\n\n return Promise.allSettled(transitions);\n }\n\n #getHeight(): Dimensions['height'] {\n return (\n this.domainsContainerPainter.height() + this.pluginPainter.insideHeight()\n );\n }\n\n #getWidth(): Dimensions['width'] {\n return (\n this.domainsContainerPainter.width() + this.pluginPainter.insideWidth()\n );\n }\n\n #resize(): void {\n const { options } = this.calendar.options;\n\n const newWidth = this.#getWidth();\n const newHeight = this.#getHeight();\n\n this.root\n .transition()\n .duration(options.animationDuration)\n .attr('width', newWidth)\n .attr('height', newHeight);\n\n if (\n newWidth !== this.dimensions.width ||\n newHeight !== this.dimensions.height\n ) {\n this.calendar.eventEmitter.emit(\n 'resize',\n newWidth,\n newHeight,\n this.dimensions.width,\n this.dimensions.height,\n );\n }\n\n this.dimensions = {\n width: newWidth,\n height: newHeight,\n };\n }\n\n destroy(): Promise {\n const result: Promise[] = this.calendar.pluginManager\n .destroyAll()\n .concat(this.domainsContainerPainter.destroy());\n\n if (!this.root) {\n return Promise.allSettled(result);\n }\n\n result.push(\n this.root\n .transition()\n .duration(this.calendar.options.options.animationDuration)\n .attr('width', 0)\n .attr('height', 0)\n .remove()\n .end(),\n );\n\n return Promise.allSettled(result);\n }\n}\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","import baseGetTag from './_baseGetTag.js';\nimport isObject from './isObject.js';\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nexport default isFunction;\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) === 'RegExp');\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es/no-string-prototype-startswith -- safe\nvar nativeStartsWith = uncurryThis(''.startsWith);\nvar stringSlice = uncurryThis(''.slice);\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = toString(searchString);\n return nativeStartsWith\n ? nativeStartsWith(that, search, index)\n : stringSlice(that, index, index + search.length) === search;\n }\n});\n","'use strict';\nvar isRegExp = require('../internals/is-regexp');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw new $TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (error1) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (error2) { /* empty */ }\n } return false;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar objectGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\nvar propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\nvar push = uncurryThis([].push);\n\n// in some IE versions, `propertyIsEnumerable` returns incorrect result on integer keys\n// of `null` prototype objects\nvar IE_BUG = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-create -- safe\n var O = Object.create(null);\n O[2] = 2;\n return !propertyIsEnumerable(O, 2);\n});\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var IE_WORKAROUND = IE_BUG && objectGetPrototypeOf(O) === null;\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || (IE_WORKAROUND ? key in O : propertyIsEnumerable(O, key))) {\n push(result, TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","import {ascending, descending} from \"d3\";\n\nexport function defined(x) {\n return x != null && !Number.isNaN(x);\n}\n\nexport function ascendingDefined(a, b) {\n return +defined(b) - +defined(a) || ascending(a, b);\n}\n\nexport function descendingDefined(a, b) {\n return +defined(b) - +defined(a) || descending(a, b);\n}\n\nexport function nonempty(x) {\n return x != null && `${x}` !== \"\";\n}\n\nexport function finite(x) {\n return isFinite(x) ? x : NaN;\n}\n\nexport function positive(x) {\n return x > 0 && isFinite(x) ? x : NaN;\n}\n\nexport function negative(x) {\n return x < 0 && isFinite(x) ? x : NaN;\n}\n","const re = /^(?:[-+]\\d{2})?\\d{4}(?:-\\d{2}(?:-\\d{2})?)?(?:T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{3})?)?(?:Z|[-+]\\d{2}:?\\d{2})?)?$/;\n\nexport default function parse(string, fallback) {\n if (!re.test(string += \"\")) return typeof fallback === \"function\" ? fallback(string) : fallback;\n return new Date(string);\n}\n","import {utcSecond, utcMinute, utcHour, utcDay, utcWeek, utcMonth, utcYear} from \"d3\";\nimport {utcMonday, utcTuesday, utcWednesday, utcThursday, utcFriday, utcSaturday, utcSunday} from \"d3\";\nimport {timeSecond, timeMinute, timeHour, timeDay, timeWeek, timeMonth, timeYear} from \"d3\";\nimport {timeMonday, timeTuesday, timeWednesday, timeThursday, timeFriday, timeSaturday, timeSunday} from \"d3\";\n\nconst timeIntervals = new Map([\n [\"second\", timeSecond],\n [\"minute\", timeMinute],\n [\"hour\", timeHour],\n [\"day\", timeDay],\n [\"week\", timeWeek],\n [\"month\", timeMonth],\n [\"quarter\", timeMonth.every(3)],\n [\"half\", timeMonth.every(6)],\n [\"year\", timeYear],\n [\"monday\", timeMonday],\n [\"tuesday\", timeTuesday],\n [\"wednesday\", timeWednesday],\n [\"thursday\", timeThursday],\n [\"friday\", timeFriday],\n [\"saturday\", timeSaturday],\n [\"sunday\", timeSunday]\n]);\n\nconst utcIntervals = new Map([\n [\"second\", utcSecond],\n [\"minute\", utcMinute],\n [\"hour\", utcHour],\n [\"day\", utcDay],\n [\"week\", utcWeek],\n [\"month\", utcMonth],\n [\"quarter\", utcMonth.every(3)],\n [\"half\", utcMonth.every(6)],\n [\"year\", utcYear],\n [\"monday\", utcMonday],\n [\"tuesday\", utcTuesday],\n [\"wednesday\", utcWednesday],\n [\"thursday\", utcThursday],\n [\"friday\", utcFriday],\n [\"saturday\", utcSaturday],\n [\"sunday\", utcSunday]\n]);\n\nexport function maybeTimeInterval(interval) {\n const i = timeIntervals.get(`${interval}`.toLowerCase());\n if (!i) throw new Error(`unknown interval: ${interval}`);\n return i;\n}\n\nexport function maybeUtcInterval(interval) {\n const i = utcIntervals.get(`${interval}`.toLowerCase());\n if (!i) throw new Error(`unknown interval: ${interval}`);\n return i;\n}\n","import {parse as isoParse} from \"isoformat\";\nimport {color, descending, range as rangei, quantile} from \"d3\";\nimport {maybeTimeInterval, maybeUtcInterval} from \"./time.js\";\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray\nexport const TypedArray = Object.getPrototypeOf(Uint8Array);\nconst objectToString = Object.prototype.toString;\n\nexport function valueof(data, value, type) {\n const valueType = typeof value;\n return valueType === \"string\"\n ? maybeTypedMap(data, field(value), type)\n : valueType === \"function\"\n ? maybeTypedMap(data, value, type)\n : valueType === \"number\" || value instanceof Date || valueType === \"boolean\"\n ? map(data, constant(value), type)\n : typeof value?.transform === \"function\"\n ? maybeTypedArrayify(value.transform(data), type)\n : maybeTypedArrayify(value, type);\n}\n\nfunction maybeTypedMap(data, f, type) {\n return map(data, type?.prototype instanceof TypedArray ? floater(f) : f, type);\n}\n\nfunction maybeTypedArrayify(data, type) {\n return type === undefined\n ? arrayify(data) // preserve undefined type\n : data instanceof type\n ? data\n : type.prototype instanceof TypedArray && !(data instanceof TypedArray)\n ? type.from(data, coerceNumber)\n : type.from(data);\n}\n\nfunction floater(f) {\n return (d, i) => coerceNumber(f(d, i));\n}\n\nexport const field = (name) => (d) => d[name];\nexport const indexOf = {transform: range};\nexport const identity = {transform: (d) => d};\nexport const zero = () => 0;\nexport const one = () => 1;\nexport const yes = () => true;\nexport const string = (x) => (x == null ? x : `${x}`);\nexport const number = (x) => (x == null ? x : +x);\nexport const boolean = (x) => (x == null ? x : !!x);\nexport const first = (x) => (x ? x[0] : undefined);\nexport const second = (x) => (x ? x[1] : undefined);\nexport const third = (x) => (x ? x[2] : undefined);\nexport const constant = (x) => () => x;\n\n// Converts a string like “p25” into a function that takes an index I and an\n// accessor function f, returning the corresponding percentile value.\nexport function percentile(reduce) {\n const p = +`${reduce}`.slice(1) / 100;\n return (I, f) => quantile(I, p, f);\n}\n\n// If the values are specified as a typed array, no coercion is required.\nexport function coerceNumbers(values) {\n return values instanceof TypedArray ? values : map(values, coerceNumber, Float64Array);\n}\n\n// Unlike Mark’s number, here we want to convert null and undefined to NaN since\n// the result will be stored in a Float64Array and we don’t want null to be\n// coerced to zero. We use Number instead of unary + to allow BigInt coercion.\nfunction coerceNumber(x) {\n return x == null ? NaN : Number(x);\n}\n\nexport function coerceDates(values) {\n return map(values, coerceDate);\n}\n\n// When coercing strings to dates, we only want to allow the ISO 8601 format\n// since the built-in string parsing of the Date constructor varies across\n// browsers. (In the future, this could be made more liberal if desired, though\n// it is still generally preferable to do date parsing yourself explicitly,\n// rather than rely on Plot.) Any non-string values are coerced to number first\n// and treated as milliseconds since UNIX epoch.\nexport function coerceDate(x) {\n return x instanceof Date && !isNaN(x)\n ? x\n : typeof x === \"string\"\n ? isoParse(x)\n : x == null || isNaN((x = +x))\n ? undefined\n : new Date(x);\n}\n\n// Some channels may allow a string constant to be specified; to differentiate\n// string constants (e.g., \"red\") from named fields (e.g., \"date\"), this\n// function tests whether the given value is a CSS color string and returns a\n// tuple [channel, constant] where one of the two is undefined, and the other is\n// the given value. If you wish to reference a named field that is also a valid\n// CSS color, use an accessor (d => d.red) instead.\nexport function maybeColorChannel(value, defaultValue) {\n if (value === undefined) value = defaultValue;\n return value === null ? [undefined, \"none\"] : isColor(value) ? [undefined, value] : [value, undefined];\n}\n\n// Similar to maybeColorChannel, this tests whether the given value is a number\n// indicating a constant, and otherwise assumes that it’s a channel value.\nexport function maybeNumberChannel(value, defaultValue) {\n if (value === undefined) value = defaultValue;\n return value === null || typeof value === \"number\" ? [undefined, value] : [value, undefined];\n}\n\n// Validates the specified optional string against the allowed list of keywords.\nexport function maybeKeyword(input, name, allowed) {\n if (input != null) return keyword(input, name, allowed);\n}\n\n// Validates the specified required string against the allowed list of keywords.\nexport function keyword(input, name, allowed) {\n const i = `${input}`.toLowerCase();\n if (!allowed.includes(i)) throw new Error(`invalid ${name}: ${input}`);\n return i;\n}\n\n// Promotes the specified data to an array as needed.\nexport function arrayify(data) {\n return data == null || data instanceof Array || data instanceof TypedArray ? data : Array.from(data);\n}\n\n// An optimization of type.from(values, f): if the given values are already an\n// instanceof the desired array type, the faster values.map method is used.\nexport function map(values, f, type = Array) {\n return values == null ? values : values instanceof type ? values.map(f) : type.from(values, f);\n}\n\n// An optimization of type.from(values): if the given values are already an\n// instanceof the desired array type, the faster values.slice method is used.\nexport function slice(values, type = Array) {\n return values instanceof type ? values.slice() : type.from(values);\n}\n\n// Disambiguates an options object (e.g., {y: \"x2\"}) from a primitive value.\nexport function isObject(option) {\n return option?.toString === objectToString;\n}\n\n// Disambiguates a scale options object (e.g., {color: {type: \"linear\"}}) from\n// some other option (e.g., {color: \"red\"}). When creating standalone legends,\n// this is used to test whether a scale is defined; this should be consistent\n// with inferScaleType when there are no channels associated with the scale, and\n// if this returns true, then normalizeScale must return non-null.\nexport function isScaleOptions(option) {\n return isObject(option) && (option.type !== undefined || option.domain !== undefined);\n}\n\n// Disambiguates an options object (e.g., {y: \"x2\"}) from a channel value\n// definition expressed as a channel transform (e.g., {transform: …}).\nexport function isOptions(option) {\n return isObject(option) && typeof option.transform !== \"function\";\n}\n\n// Disambiguates a sort transform (e.g., {sort: \"date\"}) from a channel domain\n// sort definition (e.g., {sort: {y: \"x\"}}).\nexport function isDomainSort(sort) {\n return isOptions(sort) && sort.value === undefined && sort.channel === undefined;\n}\n\n// For marks specified either as [0, x] or [x1, x2], such as areas and bars.\nexport function maybeZero(x, x1, x2, x3 = identity) {\n if (x1 === undefined && x2 === undefined) {\n // {x} or {}\n (x1 = 0), (x2 = x === undefined ? x3 : x);\n } else if (x1 === undefined) {\n // {x, x2} or {x2}\n x1 = x === undefined ? 0 : x;\n } else if (x2 === undefined) {\n // {x, x1} or {x1}\n x2 = x === undefined ? 0 : x;\n }\n return [x1, x2];\n}\n\n// For marks that have x and y channels (e.g., cell, dot, line, text).\nexport function maybeTuple(x, y) {\n return x === undefined && y === undefined ? [first, second] : [x, y];\n}\n\n// A helper for extracting the z channel, if it is variable. Used by transforms\n// that require series, such as moving average and normalize.\nexport function maybeZ({z, fill, stroke} = {}) {\n if (z === undefined) [z] = maybeColorChannel(fill);\n if (z === undefined) [z] = maybeColorChannel(stroke);\n return z;\n}\n\n// Returns a Uint32Array with elements [0, 1, 2, … data.length - 1].\nexport function range(data) {\n const n = data.length;\n const r = new Uint32Array(n);\n for (let i = 0; i < n; ++i) r[i] = i;\n return r;\n}\n\n// Returns a filtered range of data given the test function.\nexport function where(data, test) {\n return range(data).filter((i) => test(data[i], i, data));\n}\n\n// Returns an array [values[index[0]], values[index[1]], …].\nexport function take(values, index) {\n return map(index, (i) => values[i]);\n}\n\n// Based on InternMap (d3.group).\nexport function keyof(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n}\n\nexport function maybeInput(key, options) {\n if (options[key] !== undefined) return options[key];\n switch (key) {\n case \"x1\":\n case \"x2\":\n key = \"x\";\n break;\n case \"y1\":\n case \"y2\":\n key = \"y\";\n break;\n }\n return options[key];\n}\n\nexport function column(source) {\n // Defines a column whose values are lazily populated by calling the returned\n // setter. If the given source is labeled, the label is propagated to the\n // returned column definition.\n let value;\n return [\n {\n transform: () => value,\n label: labelof(source)\n },\n (v) => (value = v)\n ];\n}\n\n// Like column, but allows the source to be null.\nexport function maybeColumn(source) {\n return source == null ? [source] : column(source);\n}\n\nexport function labelof(value, defaultValue) {\n return typeof value === \"string\" ? value : value && value.label !== undefined ? value.label : defaultValue;\n}\n\n// Assuming that both x1 and x2 and lazy columns (per above), this derives a new\n// a column that’s the average of the two, and which inherits the column label\n// (if any). Both input columns are assumed to be quantitative. If either column\n// is temporal, the returned column is also temporal.\nexport function mid(x1, x2) {\n return {\n transform(data) {\n const X1 = x1.transform(data);\n const X2 = x2.transform(data);\n return isTemporal(X1) || isTemporal(X2)\n ? map(X1, (_, i) => new Date((+X1[i] + +X2[i]) / 2))\n : map(X1, (_, i) => (+X1[i] + +X2[i]) / 2, Float64Array);\n },\n label: x1.label\n };\n}\n\n// If interval is not nullish, converts interval shorthand such as a number (for\n// multiples) or a time interval name (such as “day”) to a {floor, offset,\n// range} object similar to a D3 time interval.\nexport function maybeInterval(interval, type) {\n if (interval == null) return;\n if (typeof interval === \"number\") {\n if (0 < interval && interval < 1 && Number.isInteger(1 / interval)) interval = -1 / interval;\n const n = Math.abs(interval);\n return interval < 0\n ? {\n floor: (d) => Math.floor(d * n) / n,\n offset: (d) => (d * n + 1) / n, // note: no optional step for simplicity\n range: (lo, hi) => rangei(Math.ceil(lo * n), hi * n).map((x) => x / n)\n }\n : {\n floor: (d) => Math.floor(d / n) * n,\n offset: (d) => d + n, // note: no optional step for simplicity\n range: (lo, hi) => rangei(Math.ceil(lo / n), hi / n).map((x) => x * n)\n };\n }\n if (typeof interval === \"string\") return (type === \"time\" ? maybeTimeInterval : maybeUtcInterval)(interval);\n if (typeof interval.floor !== \"function\") throw new Error(\"invalid interval; missing floor method\");\n if (typeof interval.offset !== \"function\") throw new Error(\"invalid interval; missing offset method\");\n return interval;\n}\n\n// Like maybeInterval, but requires a range method too.\nexport function maybeRangeInterval(interval, type) {\n interval = maybeInterval(interval, type);\n if (interval && typeof interval.range !== \"function\") throw new Error(\"invalid interval: missing range method\");\n return interval;\n}\n\n// Like maybeRangeInterval, but requires a ceil method too.\nexport function maybeNiceInterval(interval, type) {\n interval = maybeRangeInterval(interval, type);\n if (interval && typeof interval.ceil !== \"function\") throw new Error(\"invalid interval: missing ceil method\");\n return interval;\n}\n\n// This distinguishes between per-dimension options and a standalone value.\nexport function maybeValue(value) {\n return value === undefined || isOptions(value) ? value : {value};\n}\n\n// Coerces the given channel values (if any) to numbers. This is useful when\n// values will be interpolated into other code, such as an SVG transform, and\n// where we don’t wish to allow unexpected behavior for weird input.\nexport function numberChannel(source) {\n return source == null\n ? null\n : {\n transform: (data) => valueof(data, source, Float64Array),\n label: labelof(source)\n };\n}\n\nexport function isTuples(data) {\n if (!isIterable(data)) return false;\n for (const d of data) {\n if (d == null) continue;\n return typeof d === \"object\" && \"0\" in d && \"1\" in d;\n }\n}\n\nexport function isIterable(value) {\n return value && typeof value[Symbol.iterator] === \"function\";\n}\n\nexport function isTextual(values) {\n for (const value of values) {\n if (value == null) continue;\n return typeof value !== \"object\" || value instanceof Date;\n }\n}\n\nexport function isOrdinal(values) {\n for (const value of values) {\n if (value == null) continue;\n const type = typeof value;\n return type === \"string\" || type === \"boolean\";\n }\n}\n\nexport function isTemporal(values) {\n for (const value of values) {\n if (value == null) continue;\n return value instanceof Date;\n }\n}\n\n// Are these strings that might represent dates? This is stricter than ISO 8601\n// because we want to ignore false positives on numbers; for example, the string\n// \"1192\" is more likely to represent a number than a date even though it is\n// valid ISO 8601 representing 1192-01-01.\nexport function isTemporalString(values) {\n for (const value of values) {\n if (value == null) continue;\n return typeof value === \"string\" && isNaN(value) && isoParse(value);\n }\n}\n\n// Are these strings that might represent numbers? This is stricter than\n// coercion because we want to ignore false positives on e.g. empty strings.\nexport function isNumericString(values) {\n for (const value of values) {\n if (value == null) continue;\n if (typeof value !== \"string\") return false;\n if (!value.trim()) continue;\n return !isNaN(value);\n }\n}\n\nexport function isNumeric(values) {\n for (const value of values) {\n if (value == null) continue;\n return typeof value === \"number\";\n }\n}\n\n// Returns true if every non-null value in the specified iterable of values\n// passes the specified predicate, and there is at least one non-null value;\n// returns false if at least one non-null value does not pass the specified\n// predicate; otherwise returns undefined (as if all values are null).\nexport function isEvery(values, is) {\n let every;\n for (const value of values) {\n if (value == null) continue;\n if (!is(value)) return false;\n every = true;\n }\n return every;\n}\n\n// Mostly relies on d3-color, with a few extra color keywords. Currently this\n// strictly requires that the value be a string; we might want to apply string\n// coercion here, though note that d3-color instances would need to support\n// valueOf to work correctly with InternMap.\n// https://www.w3.org/TR/SVG11/painting.html#SpecifyingPaint\nexport function isColor(value) {\n if (typeof value !== \"string\") return false;\n value = value.toLowerCase().trim();\n return (\n value === \"none\" ||\n value === \"currentcolor\" ||\n (value.startsWith(\"url(\") && value.endsWith(\")\")) || // , e.g. pattern or gradient\n (value.startsWith(\"var(\") && value.endsWith(\")\")) || // CSS variable\n color(value) !== null\n );\n}\n\nexport function isOpacity(value) {\n return typeof value === \"number\" && ((0 <= value && value <= 1) || isNaN(value));\n}\n\nexport function isNoneish(value) {\n return value == null || isNone(value);\n}\n\nexport function isNone(value) {\n return /^\\s*none\\s*$/i.test(value);\n}\n\nexport function isRound(value) {\n return /^\\s*round\\s*$/i.test(value);\n}\n\nexport function maybeFrameAnchor(value = \"middle\") {\n return keyword(value, \"frameAnchor\", [\n \"middle\",\n \"top-left\",\n \"top\",\n \"top-right\",\n \"right\",\n \"bottom-right\",\n \"bottom\",\n \"bottom-left\",\n \"left\"\n ]);\n}\n\n// Like a sort comparator, returns a positive value if the given array of values\n// is in ascending order, a negative value if the values are in descending\n// order. Assumes monotonicity; only tests the first and last values.\nexport function orderof(values) {\n if (values == null) return;\n const first = values[0];\n const last = values[values.length - 1];\n return descending(first, last);\n}\n\n// Unlike {...defaults, ...options}, this ensures that any undefined (but\n// present) properties in options inherit the given default value.\nexport function inherit(options = {}, ...rest) {\n let o = options;\n for (const defaults of rest) {\n for (const key in defaults) {\n if (o[key] === undefined) {\n const value = defaults[key];\n if (o === options) o = {...o, [key]: value};\n else o[key] = value;\n }\n }\n }\n return o;\n}\n\n// Given an iterable of named things (objects with a name property), returns a\n// corresponding object with properties associated with the given name.\nexport function named(things) {\n console.warn(\"named iterables are deprecated; please use an object instead\");\n const names = new Set();\n return Object.fromEntries(\n Array.from(things, (thing) => {\n const {name} = thing;\n if (name == null) throw new Error(\"missing name\");\n const key = `${name}`;\n if (key === \"__proto__\") throw new Error(`illegal name: ${key}`);\n if (names.has(key)) throw new Error(`duplicate name: ${key}`);\n names.add(key);\n return [name, thing];\n })\n );\n}\n\nexport function maybeNamed(things) {\n return isIterable(things) ? named(things) : things;\n}\n","// Positional scales have associated axes, and for ordinal data, a point or band\n// scale is used instead of an ordinal scale.\nexport const position = Symbol(\"position\");\n\n// Color scales default to the turbo interpolator for quantitative data, and to\n// the Tableau10 scheme for ordinal data. Color scales may also have an\n// associated legend.\nexport const color = Symbol(\"color\");\n\n// Radius scales default to the sqrt type, have a default range of [0, 3], and a\n// default domain from 0 to the median first quartile of associated channels.\nexport const radius = Symbol(\"radius\");\n\n// Length scales default to the linear type, have a default range of [0, 12],\n// and a default domain from 0 to the median median of associated channels.\nexport const length = Symbol(\"length\");\n\n// Opacity scales have a default range of [0, 1], and a default domain from 0 to\n// the maximum value of associated channels.\nexport const opacity = Symbol(\"opacity\");\n\n// Symbol scales have a default range of categorical symbols.\nexport const symbol = Symbol(\"symbol\");\n\n// TODO Rather than hard-coding the list of known scale names, collect the names\n// and categories for each plot specification, so that custom marks can register\n// custom scales.\nexport const registry = new Map([\n [\"x\", position],\n [\"y\", position],\n [\"fx\", position],\n [\"fy\", position],\n [\"r\", radius],\n [\"color\", color],\n [\"opacity\", opacity],\n [\"symbol\", symbol],\n [\"length\", length]\n]);\n","import {symbolAsterisk, symbolDiamond2, symbolPlus, symbolSquare2, symbolTriangle2, symbolTimes} from \"d3\";\nimport {symbolCircle, symbolCross, symbolDiamond, symbolSquare, symbolStar, symbolTriangle, symbolWye} from \"d3\";\n\nexport const sqrt3 = Math.sqrt(3);\nexport const sqrt4_3 = 2 / sqrt3;\n\nconst symbolHexagon = {\n draw(context, size) {\n const rx = Math.sqrt(size / Math.PI),\n ry = rx * sqrt4_3,\n hy = ry / 2;\n context.moveTo(0, ry);\n context.lineTo(rx, hy);\n context.lineTo(rx, -hy);\n context.lineTo(0, -ry);\n context.lineTo(-rx, -hy);\n context.lineTo(-rx, hy);\n context.closePath();\n }\n};\n\nconst symbols = new Map([\n [\"asterisk\", symbolAsterisk],\n [\"circle\", symbolCircle],\n [\"cross\", symbolCross],\n [\"diamond\", symbolDiamond],\n [\"diamond2\", symbolDiamond2],\n [\"hexagon\", symbolHexagon],\n [\"plus\", symbolPlus],\n [\"square\", symbolSquare],\n [\"square2\", symbolSquare2],\n [\"star\", symbolStar],\n [\"times\", symbolTimes],\n [\"triangle\", symbolTriangle],\n [\"triangle2\", symbolTriangle2],\n [\"wye\", symbolWye]\n]);\n\nfunction isSymbolObject(value) {\n return value && typeof value.draw === \"function\";\n}\n\nexport function isSymbol(value) {\n if (isSymbolObject(value)) return true;\n if (typeof value !== \"string\") return false;\n return symbols.has(value.toLowerCase());\n}\n\nexport function maybeSymbol(symbol) {\n if (symbol == null || isSymbolObject(symbol)) return symbol;\n const value = symbols.get(`${symbol}`.toLowerCase());\n if (value) return value;\n throw new Error(`invalid symbol: ${symbol}`);\n}\n\nexport function maybeSymbolChannel(symbol) {\n if (symbol == null || isSymbolObject(symbol)) return [undefined, symbol];\n if (typeof symbol === \"string\") {\n const value = symbols.get(`${symbol}`.toLowerCase());\n if (value) return [undefined, value];\n }\n return [symbol, undefined];\n}\n","let warnings = 0;\n\nexport function consumeWarnings() {\n const w = warnings;\n warnings = 0;\n return w;\n}\n\nexport function warn(message) {\n console.warn(message);\n ++warnings;\n}\n","import {\n interpolateBlues,\n interpolateBrBG,\n interpolateBuGn,\n interpolateBuPu,\n interpolateGnBu,\n interpolateGreens,\n interpolateGreys,\n interpolateOranges,\n interpolateOrRd,\n interpolatePiYG,\n interpolatePRGn,\n interpolatePuBu,\n interpolatePuBuGn,\n interpolatePuOr,\n interpolatePuRd,\n interpolatePurples,\n interpolateRdBu,\n interpolateRdGy,\n interpolateRdPu,\n interpolateRdYlBu,\n interpolateRdYlGn,\n interpolateReds,\n interpolateSpectral,\n interpolateYlGn,\n interpolateYlGnBu,\n interpolateYlOrBr,\n interpolateYlOrRd,\n interpolateTurbo,\n interpolateViridis,\n interpolateMagma,\n interpolateInferno,\n interpolatePlasma,\n interpolateCividis,\n interpolateCubehelixDefault,\n interpolateWarm,\n interpolateCool,\n interpolateRainbow,\n interpolateSinebow,\n quantize,\n schemeAccent,\n schemeBlues,\n schemeBrBG,\n schemeBuGn,\n schemeBuPu,\n schemeCategory10,\n schemeDark2,\n schemeGnBu,\n schemeGreens,\n schemeGreys,\n schemeOranges,\n schemeOrRd,\n schemePaired,\n schemePastel1,\n schemePastel2,\n schemePiYG,\n schemePRGn,\n schemePuBu,\n schemePuBuGn,\n schemePuOr,\n schemePuRd,\n schemePurples,\n schemeRdBu,\n schemeRdGy,\n schemeRdPu,\n schemeRdYlBu,\n schemeRdYlGn,\n schemeReds,\n schemeSet1,\n schemeSet2,\n schemeSet3,\n schemeSpectral,\n schemeTableau10,\n schemeYlGn,\n schemeYlGnBu,\n schemeYlOrBr,\n schemeYlOrRd\n} from \"d3\";\n\nconst ordinalSchemes = new Map([\n // categorical\n [\"accent\", schemeAccent],\n [\"category10\", schemeCategory10],\n [\"dark2\", schemeDark2],\n [\"paired\", schemePaired],\n [\"pastel1\", schemePastel1],\n [\"pastel2\", schemePastel2],\n [\"set1\", schemeSet1],\n [\"set2\", schemeSet2],\n [\"set3\", schemeSet3],\n [\"tableau10\", schemeTableau10],\n\n // diverging\n [\"brbg\", scheme11(schemeBrBG, interpolateBrBG)],\n [\"prgn\", scheme11(schemePRGn, interpolatePRGn)],\n [\"piyg\", scheme11(schemePiYG, interpolatePiYG)],\n [\"puor\", scheme11(schemePuOr, interpolatePuOr)],\n [\"rdbu\", scheme11(schemeRdBu, interpolateRdBu)],\n [\"rdgy\", scheme11(schemeRdGy, interpolateRdGy)],\n [\"rdylbu\", scheme11(schemeRdYlBu, interpolateRdYlBu)],\n [\"rdylgn\", scheme11(schemeRdYlGn, interpolateRdYlGn)],\n [\"spectral\", scheme11(schemeSpectral, interpolateSpectral)],\n\n // reversed diverging (for temperature data)\n [\"burd\", scheme11r(schemeRdBu, interpolateRdBu)],\n [\"buylrd\", scheme11r(schemeRdYlBu, interpolateRdYlBu)],\n\n // sequential (single-hue)\n [\"blues\", scheme9(schemeBlues, interpolateBlues)],\n [\"greens\", scheme9(schemeGreens, interpolateGreens)],\n [\"greys\", scheme9(schemeGreys, interpolateGreys)],\n [\"oranges\", scheme9(schemeOranges, interpolateOranges)],\n [\"purples\", scheme9(schemePurples, interpolatePurples)],\n [\"reds\", scheme9(schemeReds, interpolateReds)],\n\n // sequential (multi-hue)\n [\"turbo\", schemei(interpolateTurbo)],\n [\"viridis\", schemei(interpolateViridis)],\n [\"magma\", schemei(interpolateMagma)],\n [\"inferno\", schemei(interpolateInferno)],\n [\"plasma\", schemei(interpolatePlasma)],\n [\"cividis\", schemei(interpolateCividis)],\n [\"cubehelix\", schemei(interpolateCubehelixDefault)],\n [\"warm\", schemei(interpolateWarm)],\n [\"cool\", schemei(interpolateCool)],\n [\"bugn\", scheme9(schemeBuGn, interpolateBuGn)],\n [\"bupu\", scheme9(schemeBuPu, interpolateBuPu)],\n [\"gnbu\", scheme9(schemeGnBu, interpolateGnBu)],\n [\"orrd\", scheme9(schemeOrRd, interpolateOrRd)],\n [\"pubu\", scheme9(schemePuBu, interpolatePuBu)],\n [\"pubugn\", scheme9(schemePuBuGn, interpolatePuBuGn)],\n [\"purd\", scheme9(schemePuRd, interpolatePuRd)],\n [\"rdpu\", scheme9(schemeRdPu, interpolateRdPu)],\n [\"ylgn\", scheme9(schemeYlGn, interpolateYlGn)],\n [\"ylgnbu\", scheme9(schemeYlGnBu, interpolateYlGnBu)],\n [\"ylorbr\", scheme9(schemeYlOrBr, interpolateYlOrBr)],\n [\"ylorrd\", scheme9(schemeYlOrRd, interpolateYlOrRd)],\n\n // cyclical\n [\"rainbow\", schemeicyclical(interpolateRainbow)],\n [\"sinebow\", schemeicyclical(interpolateSinebow)]\n]);\n\nfunction scheme9(scheme, interpolate) {\n return ({length: n}) => {\n if (n === 1) return [scheme[3][1]]; // favor midpoint\n if (n === 2) return [scheme[3][1], scheme[3][2]]; // favor darker\n n = Math.max(3, Math.floor(n));\n return n > 9 ? quantize(interpolate, n) : scheme[n];\n };\n}\n\nfunction scheme11(scheme, interpolate) {\n return ({length: n}) => {\n if (n === 2) return [scheme[3][0], scheme[3][2]]; // favor diverging extrema\n n = Math.max(3, Math.floor(n));\n return n > 11 ? quantize(interpolate, n) : scheme[n];\n };\n}\n\nfunction scheme11r(scheme, interpolate) {\n return ({length: n}) => {\n if (n === 2) return [scheme[3][2], scheme[3][0]]; // favor diverging extrema\n n = Math.max(3, Math.floor(n));\n return n > 11 ? quantize((t) => interpolate(1 - t), n) : scheme[n].slice().reverse();\n };\n}\n\nfunction schemei(interpolate) {\n return ({length: n}) => quantize(interpolate, Math.max(2, Math.floor(n)));\n}\n\nfunction schemeicyclical(interpolate) {\n return ({length: n}) => quantize(interpolate, Math.floor(n) + 1).slice(0, -1);\n}\n\nexport function ordinalScheme(scheme) {\n const s = `${scheme}`.toLowerCase();\n if (!ordinalSchemes.has(s)) throw new Error(`unknown ordinal scheme: ${s}`);\n return ordinalSchemes.get(s);\n}\n\nexport function ordinalRange(scheme, length) {\n const s = ordinalScheme(scheme);\n const r = typeof s === \"function\" ? s({length}) : s;\n return r.length !== length ? r.slice(0, length) : r;\n}\n\n// If the specified domain contains only booleans (ignoring null and undefined),\n// returns a corresponding range where false is mapped to the low color and true\n// is mapped to the high color of the specified scheme.\nexport function maybeBooleanRange(domain, scheme = \"greys\") {\n const range = new Set();\n const [f, t] = ordinalRange(scheme, 2);\n for (const value of domain) {\n if (value == null) continue;\n if (value === true) range.add(t);\n else if (value === false) range.add(f);\n else return;\n }\n return [...range];\n}\n\nconst quantitativeSchemes = new Map([\n // diverging\n [\"brbg\", interpolateBrBG],\n [\"prgn\", interpolatePRGn],\n [\"piyg\", interpolatePiYG],\n [\"puor\", interpolatePuOr],\n [\"rdbu\", interpolateRdBu],\n [\"rdgy\", interpolateRdGy],\n [\"rdylbu\", interpolateRdYlBu],\n [\"rdylgn\", interpolateRdYlGn],\n [\"spectral\", interpolateSpectral],\n\n // reversed diverging (for temperature data)\n [\"burd\", (t) => interpolateRdBu(1 - t)],\n [\"buylrd\", (t) => interpolateRdYlBu(1 - t)],\n\n // sequential (single-hue)\n [\"blues\", interpolateBlues],\n [\"greens\", interpolateGreens],\n [\"greys\", interpolateGreys],\n [\"purples\", interpolatePurples],\n [\"reds\", interpolateReds],\n [\"oranges\", interpolateOranges],\n\n // sequential (multi-hue)\n [\"turbo\", interpolateTurbo],\n [\"viridis\", interpolateViridis],\n [\"magma\", interpolateMagma],\n [\"inferno\", interpolateInferno],\n [\"plasma\", interpolatePlasma],\n [\"cividis\", interpolateCividis],\n [\"cubehelix\", interpolateCubehelixDefault],\n [\"warm\", interpolateWarm],\n [\"cool\", interpolateCool],\n [\"bugn\", interpolateBuGn],\n [\"bupu\", interpolateBuPu],\n [\"gnbu\", interpolateGnBu],\n [\"orrd\", interpolateOrRd],\n [\"pubugn\", interpolatePuBuGn],\n [\"pubu\", interpolatePuBu],\n [\"purd\", interpolatePuRd],\n [\"rdpu\", interpolateRdPu],\n [\"ylgnbu\", interpolateYlGnBu],\n [\"ylgn\", interpolateYlGn],\n [\"ylorbr\", interpolateYlOrBr],\n [\"ylorrd\", interpolateYlOrRd],\n\n // cyclical\n [\"rainbow\", interpolateRainbow],\n [\"sinebow\", interpolateSinebow]\n]);\n\nexport function quantitativeScheme(scheme) {\n const s = `${scheme}`.toLowerCase();\n if (!quantitativeSchemes.has(s)) throw new Error(`unknown quantitative scheme: ${s}`);\n return quantitativeSchemes.get(s);\n}\n\nconst divergingSchemes = new Set([\n \"brbg\",\n \"prgn\",\n \"piyg\",\n \"puor\",\n \"rdbu\",\n \"rdgy\",\n \"rdylbu\",\n \"rdylgn\",\n \"spectral\",\n \"burd\",\n \"buylrd\"\n]);\n\nexport function isDivergingScheme(scheme) {\n return scheme != null && divergingSchemes.has(`${scheme}`.toLowerCase());\n}\n","import {\n descending,\n extent,\n interpolateHcl,\n interpolateHsl,\n interpolateLab,\n interpolateNumber,\n interpolateRgb,\n interpolateRound,\n min,\n max,\n median,\n quantile,\n quantize,\n reverse as reverseof,\n scaleLinear,\n scaleLog,\n scalePow,\n scaleQuantile,\n scaleSymlog,\n scaleThreshold,\n scaleIdentity,\n ticks\n} from \"d3\";\nimport {positive, negative, finite} from \"../defined.js\";\nimport {arrayify, constant, orderof, slice, maybeNiceInterval, maybeRangeInterval} from \"../options.js\";\nimport {ordinalRange, quantitativeScheme} from \"./schemes.js\";\nimport {registry, radius, opacity, color, length} from \"./index.js\";\n\nexport const flip = (i) => (t) => i(1 - t);\nconst unit = [0, 1];\n\nconst interpolators = new Map([\n // numbers\n [\"number\", interpolateNumber],\n\n // color spaces\n [\"rgb\", interpolateRgb],\n [\"hsl\", interpolateHsl],\n [\"hcl\", interpolateHcl],\n [\"lab\", interpolateLab]\n]);\n\nexport function maybeInterpolator(interpolate) {\n const i = `${interpolate}`.toLowerCase();\n if (!interpolators.has(i)) throw new Error(`unknown interpolator: ${i}`);\n return interpolators.get(i);\n}\n\nexport function createScaleQ(\n key,\n scale,\n channels,\n {\n type,\n nice,\n clamp,\n zero,\n domain = inferAutoDomain(key, channels),\n unknown,\n round,\n scheme,\n interval,\n range = registry.get(key) === radius\n ? inferRadialRange(channels, domain)\n : registry.get(key) === length\n ? inferLengthRange(channels, domain)\n : registry.get(key) === opacity\n ? unit\n : undefined,\n interpolate = registry.get(key) === color\n ? scheme == null && range !== undefined\n ? interpolateRgb\n : quantitativeScheme(scheme !== undefined ? scheme : type === \"cyclical\" ? \"rainbow\" : \"turbo\")\n : round\n ? interpolateRound\n : interpolateNumber,\n reverse\n }\n) {\n interval = maybeRangeInterval(interval, type);\n if (type === \"cyclical\" || type === \"sequential\") type = \"linear\"; // shorthand for color schemes\n reverse = !!reverse;\n\n // Sometimes interpolate is a named interpolator, such as \"lab\" for Lab color\n // space. Other times interpolate is a function that takes two arguments and\n // is used in conjunction with the range. And other times the interpolate\n // function is a “fixed” interpolator on the [0, 1] interval, as when a\n // color scheme such as interpolateRdBu is used.\n if (typeof interpolate !== \"function\") {\n interpolate = maybeInterpolator(interpolate);\n }\n if (interpolate.length === 1) {\n if (reverse) {\n interpolate = flip(interpolate);\n reverse = false;\n }\n if (range === undefined) {\n range = Float64Array.from(domain, (_, i) => i / (domain.length - 1));\n if (range.length === 2) range = unit; // optimize common case of [0, 1]\n }\n scale.interpolate((range === unit ? constant : interpolatePiecewise)(interpolate));\n } else {\n scale.interpolate(interpolate);\n }\n\n // If a zero option is specified, we assume that the domain is numeric, and we\n // want to ensure that the domain crosses zero. However, note that the domain\n // may be reversed (descending) so we shouldn’t assume that the first value is\n // smaller than the last; and also it’s possible that the domain has more than\n // two values for a “poly” scale. And lastly be careful not to mutate input!\n if (zero) {\n const [min, max] = extent(domain);\n if (min > 0 || max < 0) {\n domain = slice(domain);\n if (orderof(domain) !== Math.sign(min)) domain[domain.length - 1] = 0;\n // [2, 1] or [-2, -1]\n else domain[0] = 0; // [1, 2] or [-1, -2]\n }\n }\n\n if (reverse) domain = reverseof(domain);\n scale.domain(domain).unknown(unknown);\n if (nice) scale.nice(maybeNice(nice, type)), (domain = scale.domain());\n if (range !== undefined) scale.range(range);\n if (clamp) scale.clamp(clamp);\n return {type, domain, range, scale, interpolate, interval};\n}\n\nfunction maybeNice(nice, type) {\n return nice === true ? undefined : typeof nice === \"number\" ? nice : maybeNiceInterval(nice, type);\n}\n\nexport function createScaleLinear(key, channels, options) {\n return createScaleQ(key, scaleLinear(), channels, options);\n}\n\nexport function createScaleSqrt(key, channels, options) {\n return createScalePow(key, channels, {...options, exponent: 0.5});\n}\n\nexport function createScalePow(key, channels, {exponent = 1, ...options}) {\n return createScaleQ(key, scalePow().exponent(exponent), channels, {...options, type: \"pow\"});\n}\n\nexport function createScaleLog(key, channels, {base = 10, domain = inferLogDomain(channels), ...options}) {\n return createScaleQ(key, scaleLog().base(base), channels, {...options, domain});\n}\n\nexport function createScaleSymlog(key, channels, {constant = 1, ...options}) {\n return createScaleQ(key, scaleSymlog().constant(constant), channels, options);\n}\n\nexport function createScaleQuantile(\n key,\n channels,\n {\n range,\n quantiles = range === undefined ? 5 : (range = [...range]).length, // deprecated; use n instead\n n = quantiles,\n scheme = \"rdylbu\",\n domain = inferQuantileDomain(channels),\n unknown,\n interpolate,\n reverse\n }\n) {\n if (range === undefined) {\n range =\n interpolate !== undefined\n ? quantize(interpolate, n)\n : registry.get(key) === color\n ? ordinalRange(scheme, n)\n : undefined;\n }\n if (domain.length > 0) {\n domain = scaleQuantile(domain, range === undefined ? {length: n} : range).quantiles();\n }\n return createScaleThreshold(key, channels, {domain, range, reverse, unknown});\n}\n\nexport function createScaleQuantize(\n key,\n channels,\n {\n range,\n n = range === undefined ? 5 : (range = [...range]).length,\n scheme = \"rdylbu\",\n domain = inferAutoDomain(key, channels),\n unknown,\n interpolate,\n reverse\n }\n) {\n const [min, max] = extent(domain);\n let thresholds;\n if (range === undefined) {\n thresholds = ticks(min, max, n); // approximate number of nice, round thresholds\n if (thresholds[0] <= min) thresholds.splice(0, 1); // drop exact lower bound\n if (thresholds[thresholds.length - 1] >= max) thresholds.pop(); // drop exact upper bound\n n = thresholds.length + 1;\n range =\n interpolate !== undefined\n ? quantize(interpolate, n)\n : registry.get(key) === color\n ? ordinalRange(scheme, n)\n : undefined;\n } else {\n thresholds = quantize(interpolateNumber(min, max), n + 1).slice(1, -1); // exactly n - 1 thresholds to match range\n if (min instanceof Date) thresholds = thresholds.map((x) => new Date(x)); // preserve date types\n }\n if (orderof(arrayify(domain)) < 0) thresholds.reverse(); // preserve descending domain\n return createScaleThreshold(key, channels, {domain: thresholds, range, reverse, unknown});\n}\n\nexport function createScaleThreshold(\n key,\n channels,\n {\n domain = [0], // explicit thresholds in ascending order\n unknown,\n scheme = \"rdylbu\",\n interpolate,\n range = interpolate !== undefined\n ? quantize(interpolate, domain.length + 1)\n : registry.get(key) === color\n ? ordinalRange(scheme, domain.length + 1)\n : undefined,\n reverse\n }\n) {\n domain = arrayify(domain);\n const sign = orderof(domain); // preserve descending domain\n if (!isNaN(sign) && !isOrdered(domain, sign)) throw new Error(`the ${key} scale has a non-monotonic domain`);\n if (reverse) range = reverseof(range); // domain ascending, so reverse range\n return {\n type: \"threshold\",\n scale: scaleThreshold(sign < 0 ? reverseof(domain) : domain, range === undefined ? [] : range).unknown(unknown),\n domain,\n range\n };\n}\n\nfunction isOrdered(domain, sign) {\n for (let i = 1, n = domain.length, d = domain[0]; i < n; ++i) {\n const s = descending(d, (d = domain[i]));\n if (s !== 0 && s !== sign) return false;\n }\n return true;\n}\n\nexport function createScaleIdentity() {\n return {type: \"identity\", scale: scaleIdentity()};\n}\n\nexport function inferDomain(channels, f = finite) {\n return channels.length\n ? [\n min(channels, ({value}) => (value === undefined ? value : min(value, f))),\n max(channels, ({value}) => (value === undefined ? value : max(value, f)))\n ]\n : [0, 1];\n}\n\nfunction inferAutoDomain(key, channels) {\n const type = registry.get(key);\n return (type === radius || type === opacity || type === length ? inferZeroDomain : inferDomain)(channels);\n}\n\nfunction inferZeroDomain(channels) {\n return [0, channels.length ? max(channels, ({value}) => (value === undefined ? value : max(value, finite))) : 1];\n}\n\n// We don’t want the upper bound of the radial domain to be zero, as this would\n// be degenerate, so we ignore nonpositive values. We also don’t want the\n// maximum default radius to exceed 30px.\nfunction inferRadialRange(channels, domain) {\n const hint = channels.find(({radius}) => radius !== undefined);\n if (hint !== undefined) return [0, hint.radius]; // a natural maximum radius, e.g. hexbins\n const h25 = quantile(channels, 0.5, ({value}) => (value === undefined ? NaN : quantile(value, 0.25, positive)));\n const range = domain.map((d) => 3 * Math.sqrt(d / h25));\n const k = 30 / max(range);\n return k < 1 ? range.map((r) => r * k) : range;\n}\n\n// We want a length scale’s domain to go from zero to a positive value, and to\n// treat negative lengths if any as inverted vectors of equivalent magnitude. We\n// also don’t want the maximum default length to exceed 60px.\nfunction inferLengthRange(channels, domain) {\n const h50 = median(channels, ({value}) => (value === undefined ? NaN : median(value, Math.abs)));\n const range = domain.map((d) => (12 * d) / h50);\n const k = 60 / max(range);\n return k < 1 ? range.map((r) => r * k) : range;\n}\n\nfunction inferLogDomain(channels) {\n for (const {value} of channels) {\n if (value !== undefined) {\n for (let v of value) {\n if (v > 0) return inferDomain(channels, positive);\n if (v < 0) return inferDomain(channels, negative);\n }\n }\n }\n return [1, 10];\n}\n\nfunction inferQuantileDomain(channels) {\n const domain = [];\n for (const {value} of channels) {\n if (value === undefined) continue;\n for (const v of value) domain.push(v);\n }\n return domain;\n}\n\nexport function interpolatePiecewise(interpolate) {\n return (i, j) => (t) => interpolate(i + t * (j - i));\n}\n","import {\n descending,\n interpolateNumber,\n interpolateRgb,\n piecewise,\n scaleDiverging,\n scaleDivergingLog,\n scaleDivergingPow,\n scaleDivergingSymlog\n} from \"d3\";\nimport {positive, negative} from \"../defined.js\";\nimport {quantitativeScheme} from \"./schemes.js\";\nimport {registry, color} from \"./index.js\";\nimport {inferDomain, maybeInterpolator, flip, interpolatePiecewise} from \"./quantitative.js\";\n\nfunction createScaleD(\n key,\n scale,\n transform,\n channels,\n {\n type,\n nice,\n clamp,\n domain = inferDomain(channels),\n unknown,\n pivot = 0,\n scheme,\n range,\n symmetric = true,\n interpolate = registry.get(key) === color\n ? scheme == null && range !== undefined\n ? interpolateRgb\n : quantitativeScheme(scheme !== undefined ? scheme : \"rdbu\")\n : interpolateNumber,\n reverse\n }\n) {\n pivot = +pivot;\n let [min, max] = domain;\n if (descending(min, max) < 0) ([min, max] = [max, min]), (reverse = !reverse);\n min = Math.min(min, pivot);\n max = Math.max(max, pivot);\n\n // Sometimes interpolate is a named interpolator, such as \"lab\" for Lab color\n // space. Other times interpolate is a function that takes two arguments and\n // is used in conjunction with the range. And other times the interpolate\n // function is a “fixed” interpolator on the [0, 1] interval, as when a\n // color scheme such as interpolateRdBu is used.\n if (typeof interpolate !== \"function\") {\n interpolate = maybeInterpolator(interpolate);\n }\n\n // If an explicit range is specified, promote it to a piecewise interpolator.\n if (range !== undefined) {\n interpolate =\n interpolate.length === 1 ? interpolatePiecewise(interpolate)(...range) : piecewise(interpolate, range);\n }\n\n // Reverse before normalization.\n if (reverse) interpolate = flip(interpolate);\n\n // Normalize the interpolator for symmetric difference around the pivot.\n if (symmetric) {\n const mid = transform.apply(pivot);\n const mindelta = mid - transform.apply(min);\n const maxdelta = transform.apply(max) - mid;\n if (mindelta < maxdelta) min = transform.invert(mid - maxdelta);\n else if (mindelta > maxdelta) max = transform.invert(mid + mindelta);\n }\n\n scale.domain([min, pivot, max]).unknown(unknown).interpolator(interpolate);\n if (clamp) scale.clamp(clamp);\n if (nice) scale.nice(nice);\n return {type, domain: [min, max], pivot, interpolate, scale};\n}\n\nexport function createScaleDiverging(key, channels, options) {\n return createScaleD(key, scaleDiverging(), transformIdentity, channels, options);\n}\n\nexport function createScaleDivergingSqrt(key, channels, options) {\n return createScaleDivergingPow(key, channels, {...options, exponent: 0.5});\n}\n\nexport function createScaleDivergingPow(key, channels, {exponent = 1, ...options}) {\n return createScaleD(key, scaleDivergingPow().exponent((exponent = +exponent)), transformPow(exponent), channels, {\n ...options,\n type: \"diverging-pow\"\n });\n}\n\nexport function createScaleDivergingLog(\n key,\n channels,\n {base = 10, pivot = 1, domain = inferDomain(channels, pivot < 0 ? negative : positive), ...options}\n) {\n return createScaleD(key, scaleDivergingLog().base((base = +base)), transformLog, channels, {\n domain,\n pivot,\n ...options\n });\n}\n\nexport function createScaleDivergingSymlog(key, channels, {constant = 1, ...options}) {\n return createScaleD(\n key,\n scaleDivergingSymlog().constant((constant = +constant)),\n transformSymlog(constant),\n channels,\n options\n );\n}\n\nconst transformIdentity = {\n apply(x) {\n return x;\n },\n invert(x) {\n return x;\n }\n};\n\nconst transformLog = {\n apply: Math.log,\n invert: Math.exp\n};\n\nconst transformSqrt = {\n apply(x) {\n return Math.sign(x) * Math.sqrt(Math.abs(x));\n },\n invert(x) {\n return Math.sign(x) * (x * x);\n }\n};\n\nfunction transformPow(exponent) {\n return exponent === 0.5\n ? transformSqrt\n : {\n apply(x) {\n return Math.sign(x) * Math.pow(Math.abs(x), exponent);\n },\n invert(x) {\n return Math.sign(x) * Math.pow(Math.abs(x), 1 / exponent);\n }\n };\n}\n\nfunction transformSymlog(constant) {\n return {\n apply(x) {\n return Math.sign(x) * Math.log1p(Math.abs(x / constant));\n },\n invert(x) {\n return Math.sign(x) * Math.expm1(Math.abs(x)) * constant;\n }\n };\n}\n","import {scaleTime, scaleUtc} from \"d3\";\nimport {createScaleQ} from \"./quantitative.js\";\n\nfunction createScaleT(key, scale, channels, options) {\n return createScaleQ(key, scale, channels, options);\n}\n\nexport function createScaleTime(key, channels, options) {\n return createScaleT(key, scaleTime(), channels, options);\n}\n\nexport function createScaleUtc(key, channels, options) {\n return createScaleT(key, scaleUtc(), channels, options);\n}\n","import {InternSet, extent, quantize, reverse as reverseof, sort, symbolsFill, symbolsStroke} from \"d3\";\nimport {scaleBand, scaleOrdinal, scalePoint, scaleImplicit} from \"d3\";\nimport {ascendingDefined} from \"../defined.js\";\nimport {isNoneish, map, maybeRangeInterval} from \"../options.js\";\nimport {maybeSymbol} from \"../symbol.js\";\nimport {registry, color, position, symbol} from \"./index.js\";\nimport {maybeBooleanRange, ordinalScheme, quantitativeScheme} from \"./schemes.js\";\n\n// This denotes an implicitly ordinal color scale: the scale type was not set,\n// but the associated values are strings or booleans. If the associated defined\n// values are entirely boolean, the range will default to greys. You can opt out\n// of this by setting the type explicitly.\nexport const ordinalImplicit = Symbol(\"ordinal\");\n\nfunction createScaleO(key, scale, channels, {type, interval, domain, range, reverse, hint}) {\n interval = maybeRangeInterval(interval, type);\n if (domain === undefined) domain = inferDomain(channels, interval, key);\n if (type === \"categorical\" || type === ordinalImplicit) type = \"ordinal\"; // shorthand for color schemes\n if (reverse) domain = reverseof(domain);\n scale.domain(domain);\n if (range !== undefined) {\n // If the range is specified as a function, pass it the domain.\n if (typeof range === \"function\") range = range(domain);\n scale.range(range);\n }\n return {type, domain, range, scale, hint, interval};\n}\n\nexport function createScaleOrdinal(key, channels, {type, interval, domain, range, scheme, unknown, ...options}) {\n interval = maybeRangeInterval(interval, type);\n if (domain === undefined) domain = inferDomain(channels, interval, key);\n let hint;\n if (registry.get(key) === symbol) {\n hint = inferSymbolHint(channels);\n range = range === undefined ? inferSymbolRange(hint) : map(range, maybeSymbol);\n } else if (registry.get(key) === color) {\n if (range === undefined && (type === \"ordinal\" || type === ordinalImplicit)) {\n range = maybeBooleanRange(domain, scheme);\n if (range !== undefined) scheme = undefined; // Don’t re-apply scheme.\n }\n if (scheme === undefined && range === undefined) {\n scheme = type === \"ordinal\" ? \"turbo\" : \"tableau10\";\n }\n if (scheme !== undefined) {\n if (range !== undefined) {\n const interpolate = quantitativeScheme(scheme);\n const t0 = range[0],\n d = range[1] - range[0];\n range = ({length: n}) => quantize((t) => interpolate(t0 + d * t), n);\n } else {\n range = ordinalScheme(scheme);\n }\n }\n }\n if (unknown === scaleImplicit) {\n throw new Error(`implicit unknown on ${key} scale is not supported`);\n }\n return createScaleO(key, scaleOrdinal().unknown(unknown), channels, {...options, type, domain, range, hint});\n}\n\nexport function createScalePoint(key, channels, {align = 0.5, padding = 0.5, ...options}) {\n return maybeRound(scalePoint().align(align).padding(padding), channels, options, key);\n}\n\nexport function createScaleBand(\n key,\n channels,\n {\n align = 0.5,\n padding = 0.1,\n paddingInner = padding,\n paddingOuter = key === \"fx\" || key === \"fy\" ? 0 : padding,\n ...options\n }\n) {\n return maybeRound(\n scaleBand().align(align).paddingInner(paddingInner).paddingOuter(paddingOuter),\n channels,\n options,\n key\n );\n}\n\nfunction maybeRound(scale, channels, options, key) {\n let {round} = options;\n if (round !== undefined) scale.round((round = !!round));\n scale = createScaleO(key, scale, channels, options);\n scale.round = round; // preserve for autoScaleRound\n return scale;\n}\n\nfunction inferDomain(channels, interval, key) {\n const values = new InternSet();\n for (const {value, domain} of channels) {\n if (domain !== undefined) return domain(); // see channelDomain\n if (value === undefined) continue;\n for (const v of value) values.add(v);\n }\n if (interval !== undefined) {\n const [min, max] = extent(values).map(interval.floor, interval);\n return interval.range(min, interval.offset(max));\n }\n if (values.size > 10e3 && registry.get(key) === position) {\n throw new Error(`implicit ordinal domain of ${key} scale has more than 10,000 values`);\n }\n return sort(values, ascendingDefined);\n}\n\n// If all channels provide a consistent hint, propagate it to the scale.\nfunction inferHint(channels, key) {\n let value;\n for (const {hint} of channels) {\n const candidate = hint?.[key];\n if (candidate === undefined) continue; // no hint here\n if (value === undefined) value = candidate;\n // first hint\n else if (value !== candidate) return; // inconsistent hint\n }\n return value;\n}\n\nfunction inferSymbolHint(channels) {\n return {\n fill: inferHint(channels, \"fill\"),\n stroke: inferHint(channels, \"stroke\")\n };\n}\n\nfunction inferSymbolRange(hint) {\n return isNoneish(hint.fill) ? symbolsStroke : symbolsFill;\n}\n","import {\n isOrdinal,\n isTemporal,\n isTemporalString,\n isNumericString,\n isScaleOptions,\n map,\n slice,\n coerceNumbers,\n coerceDates\n} from \"./options.js\";\nimport {registry, color, position, radius, opacity, symbol, length} from \"./scales/index.js\";\nimport {\n createScaleLinear,\n createScaleSqrt,\n createScalePow,\n createScaleLog,\n createScaleSymlog,\n createScaleQuantile,\n createScaleQuantize,\n createScaleThreshold,\n createScaleIdentity\n} from \"./scales/quantitative.js\";\nimport {\n createScaleDiverging,\n createScaleDivergingSqrt,\n createScaleDivergingPow,\n createScaleDivergingLog,\n createScaleDivergingSymlog\n} from \"./scales/diverging.js\";\nimport {isDivergingScheme} from \"./scales/schemes.js\";\nimport {createScaleTime, createScaleUtc} from \"./scales/temporal.js\";\nimport {createScaleOrdinal, createScalePoint, createScaleBand, ordinalImplicit} from \"./scales/ordinal.js\";\nimport {maybeSymbol} from \"./symbol.js\";\nimport {warn} from \"./warnings.js\";\n\nexport function createScales(\n channelsByScale,\n {\n label: globalLabel,\n inset: globalInset = 0,\n insetTop: globalInsetTop = globalInset,\n insetRight: globalInsetRight = globalInset,\n insetBottom: globalInsetBottom = globalInset,\n insetLeft: globalInsetLeft = globalInset,\n round,\n nice,\n clamp,\n zero,\n align,\n padding,\n projection,\n facet: {label: facetLabel = globalLabel} = {},\n ...options\n } = {}\n) {\n const scales = {};\n for (const [key, channels] of channelsByScale) {\n const scaleOptions = options[key];\n const scale = createScale(key, channels, {\n round: registry.get(key) === position ? round : undefined, // only for position\n nice,\n clamp,\n zero,\n align,\n padding,\n projection,\n ...scaleOptions\n });\n if (scale) {\n // populate generic scale options (percent, transform, insets)\n let {\n label = key === \"fx\" || key === \"fy\" ? facetLabel : globalLabel,\n percent,\n transform,\n inset,\n insetTop = inset !== undefined ? inset : key === \"y\" ? globalInsetTop : 0, // not fy\n insetRight = inset !== undefined ? inset : key === \"x\" ? globalInsetRight : 0, // not fx\n insetBottom = inset !== undefined ? inset : key === \"y\" ? globalInsetBottom : 0, // not fy\n insetLeft = inset !== undefined ? inset : key === \"x\" ? globalInsetLeft : 0 // not fx\n } = scaleOptions || {};\n if (transform == null) transform = undefined;\n else if (typeof transform !== \"function\") throw new Error(\"invalid scale transform; not a function\");\n scale.percent = !!percent;\n scale.label = label === undefined ? inferScaleLabel(channels, scale) : label;\n scale.transform = transform;\n if (key === \"x\" || key === \"fx\") {\n scale.insetLeft = +insetLeft;\n scale.insetRight = +insetRight;\n } else if (key === \"y\" || key === \"fy\") {\n scale.insetTop = +insetTop;\n scale.insetBottom = +insetBottom;\n }\n scales[key] = scale;\n }\n }\n return scales;\n}\n\nexport function createScaleFunctions(scales) {\n return Object.fromEntries(\n Object.entries(scales)\n .filter(([, {scale}]) => scale) // drop identity scales\n .map(([name, {scale, type, interval, label}]) => {\n scale.type = type; // for axis\n if (interval != null) scale.interval = interval; // for axis\n if (label != null) scale.label = label; // for axis\n return [name, scale];\n })\n );\n}\n\n// Mutates scale.range!\nexport function autoScaleRange(scales, dimensions) {\n const {x, y, fx, fy} = scales;\n const superdimensions = fx || fy ? outerDimensions(dimensions) : dimensions;\n if (fx) autoScaleRangeX(fx, superdimensions);\n if (fy) autoScaleRangeY(fy, superdimensions);\n const subdimensions = fx || fy ? innerDimensions(scales, dimensions) : dimensions;\n if (x) autoScaleRangeX(x, subdimensions);\n if (y) autoScaleRangeY(y, subdimensions);\n}\n\n// Channels can have labels; if all the channels for a given scale are\n// consistently labeled (i.e., have the same value if not undefined), and the\n// corresponding scale doesn’t already have an explicit label, then the\n// channels’ label is promoted to the scale. This inferred label should have an\n// orientation-appropriate arrow added when used as an axis, but we don’t want\n// to add the arrow when the label is set explicitly as an option; so, the\n// inferred label is distinguished as an object with an “inferred” property.\nfunction inferScaleLabel(channels = [], scale) {\n let label;\n for (const {label: l} of channels) {\n if (l === undefined) continue;\n if (label === undefined) label = l;\n else if (label !== l) return;\n }\n if (label === undefined) return;\n // Ignore the implicit label for temporal scales if it’s simply “date”.\n if (isTemporalScale(scale) && /^(date|time|year)$/i.test(label)) return;\n if (!isOrdinalScale(scale) && scale.percent) label = `${label} (%)`;\n return {inferred: true, toString: () => label};\n}\n\n// Returns the dimensions of the outer frame; this is subdivided into facets\n// with the margins of each facet collapsing into the outer margins.\nexport function outerDimensions(dimensions) {\n const {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n width,\n height,\n facet: {\n marginTop: facetMarginTop,\n marginRight: facetMarginRight,\n marginBottom: facetMarginBottom,\n marginLeft: facetMarginLeft\n }\n } = dimensions;\n return {\n marginTop: Math.max(marginTop, facetMarginTop),\n marginRight: Math.max(marginRight, facetMarginRight),\n marginBottom: Math.max(marginBottom, facetMarginBottom),\n marginLeft: Math.max(marginLeft, facetMarginLeft),\n width,\n height\n };\n}\n\n// Returns the dimensions of each facet.\nexport function innerDimensions({fx, fy}, dimensions) {\n const {marginTop, marginRight, marginBottom, marginLeft, width, height} = outerDimensions(dimensions);\n return {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n width: fx ? fx.scale.bandwidth() + marginLeft + marginRight : width,\n height: fy ? fy.scale.bandwidth() + marginTop + marginBottom : height\n };\n}\n\nfunction autoScaleRangeX(scale, dimensions) {\n if (scale.range === undefined) {\n const {insetLeft, insetRight} = scale;\n const {width, marginLeft = 0, marginRight = 0} = dimensions;\n const left = marginLeft + insetLeft;\n const right = width - marginRight - insetRight;\n scale.range = [left, Math.max(left, right)];\n if (!isOrdinalScale(scale)) scale.range = piecewiseRange(scale);\n scale.scale.range(scale.range);\n }\n autoScaleRound(scale);\n}\n\nfunction autoScaleRangeY(scale, dimensions) {\n if (scale.range === undefined) {\n const {insetTop, insetBottom} = scale;\n const {height, marginTop = 0, marginBottom = 0} = dimensions;\n const top = marginTop + insetTop;\n const bottom = height - marginBottom - insetBottom;\n scale.range = [Math.max(top, bottom), top];\n if (!isOrdinalScale(scale)) scale.range = piecewiseRange(scale);\n else scale.range.reverse();\n scale.scale.range(scale.range);\n }\n autoScaleRound(scale);\n}\n\nfunction autoScaleRound(scale) {\n if (scale.round === undefined && isBandScale(scale) && roundError(scale) <= 30) {\n scale.scale.round(true);\n }\n}\n\n// If we were to turn on rounding for this band or point scale, how much wasted\n// space would it introduce (on both ends of the range)? This must match\n// d3.scaleBand’s rounding behavior:\n// https://github.com/d3/d3-scale/blob/83555bd759c7314420bd4240642beda5e258db9e/src/band.js#L20-L32\nfunction roundError({scale}) {\n const n = scale.domain().length;\n const [start, stop] = scale.range();\n const paddingInner = scale.paddingInner ? scale.paddingInner() : 1;\n const paddingOuter = scale.paddingOuter ? scale.paddingOuter() : scale.padding();\n const m = n - paddingInner;\n const step = Math.abs(stop - start) / Math.max(1, m + paddingOuter * 2);\n return (step - Math.floor(step)) * m;\n}\n\nfunction piecewiseRange(scale) {\n const length = scale.scale.domain().length + isThresholdScale(scale);\n if (!(length > 2)) return scale.range;\n const [start, end] = scale.range;\n return Array.from({length}, (_, i) => start + (i / (length - 1)) * (end - start));\n}\n\nexport function normalizeScale(key, scale, hint) {\n return createScale(key, hint === undefined ? undefined : [{hint}], {...scale});\n}\n\nfunction createScale(key, channels = [], options = {}) {\n const type = inferScaleType(key, channels, options);\n\n // Warn for common misuses of implicit ordinal scales. We disable this test if\n // you specify a scale interval or if you set the domain or range explicitly,\n // since setting the domain or range (typically with a cardinality of more than\n // two) is another indication that you intended for the scale to be ordinal; we\n // also disable it for facet scales since these are always band scales.\n if (\n options.type === undefined &&\n options.domain === undefined &&\n options.range === undefined &&\n options.interval == null &&\n key !== \"fx\" &&\n key !== \"fy\" &&\n isOrdinalScale({type})\n ) {\n const values = channels.map(({value}) => value).filter((value) => value !== undefined);\n if (values.some(isTemporal))\n warn(\n `Warning: some data associated with the ${key} scale are dates. Dates are typically associated with a \"utc\" or \"time\" scale rather than a \"${formatScaleType(\n type\n )}\" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can specify the interval of the ${key} scale (e.g., d3.utcDay), or you can suppress this warning by setting the type of the ${key} scale to \"${formatScaleType(\n type\n )}\".`\n );\n else if (values.some(isTemporalString))\n warn(\n `Warning: some data associated with the ${key} scale are strings that appear to be dates (e.g., YYYY-MM-DD). If these strings represent dates, you should parse them to Date objects. Dates are typically associated with a \"utc\" or \"time\" scale rather than a \"${formatScaleType(\n type\n )}\" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can suppress this warning by setting the type of the ${key} scale to \"${formatScaleType(\n type\n )}\".`\n );\n else if (values.some(isNumericString))\n warn(\n `Warning: some data associated with the ${key} scale are strings that appear to be numbers. If these strings represent numbers, you should parse or coerce them to numbers. Numbers are typically associated with a \"linear\" scale rather than a \"${formatScaleType(\n type\n )}\" scale. If you want to treat this data as ordinal, you can specify the interval of the ${key} scale (e.g., 1 for integers), or you can suppress this warning by setting the type of the ${key} scale to \"${formatScaleType(\n type\n )}\".`\n );\n }\n\n options.type = type; // Mutates input!\n\n // Once the scale type is known, coerce the associated channel values and any\n // explicitly-specified domain to the expected type.\n switch (type) {\n case \"diverging\":\n case \"diverging-sqrt\":\n case \"diverging-pow\":\n case \"diverging-log\":\n case \"diverging-symlog\":\n case \"cyclical\":\n case \"sequential\":\n case \"linear\":\n case \"sqrt\":\n case \"threshold\":\n case \"quantile\":\n case \"pow\":\n case \"log\":\n case \"symlog\":\n options = coerceType(channels, options, coerceNumbers);\n break;\n case \"identity\":\n switch (registry.get(key)) {\n case position:\n options = coerceType(channels, options, coerceNumbers);\n break;\n case symbol:\n options = coerceType(channels, options, coerceSymbols);\n break;\n }\n break;\n case \"utc\":\n case \"time\":\n options = coerceType(channels, options, coerceDates);\n break;\n }\n\n switch (type) {\n case \"diverging\":\n return createScaleDiverging(key, channels, options);\n case \"diverging-sqrt\":\n return createScaleDivergingSqrt(key, channels, options);\n case \"diverging-pow\":\n return createScaleDivergingPow(key, channels, options);\n case \"diverging-log\":\n return createScaleDivergingLog(key, channels, options);\n case \"diverging-symlog\":\n return createScaleDivergingSymlog(key, channels, options);\n case \"categorical\":\n case \"ordinal\":\n case ordinalImplicit:\n return createScaleOrdinal(key, channels, options);\n case \"cyclical\":\n case \"sequential\":\n case \"linear\":\n return createScaleLinear(key, channels, options);\n case \"sqrt\":\n return createScaleSqrt(key, channels, options);\n case \"threshold\":\n return createScaleThreshold(key, channels, options);\n case \"quantile\":\n return createScaleQuantile(key, channels, options);\n case \"quantize\":\n return createScaleQuantize(key, channels, options);\n case \"pow\":\n return createScalePow(key, channels, options);\n case \"log\":\n return createScaleLog(key, channels, options);\n case \"symlog\":\n return createScaleSymlog(key, channels, options);\n case \"utc\":\n return createScaleUtc(key, channels, options);\n case \"time\":\n return createScaleTime(key, channels, options);\n case \"point\":\n return createScalePoint(key, channels, options);\n case \"band\":\n return createScaleBand(key, channels, options);\n case \"identity\":\n return registry.get(key) === position ? createScaleIdentity() : {type: \"identity\"};\n case undefined:\n return;\n default:\n throw new Error(`unknown scale type: ${type}`);\n }\n}\n\nfunction formatScaleType(type) {\n return typeof type === \"symbol\" ? type.description : type;\n}\n\n// A special type symbol when the x and y scales are replaced with a projection.\nconst typeProjection = {toString: () => \"projection\"};\n\nfunction inferScaleType(key, channels, {type, domain, range, scheme, pivot, projection}) {\n // The facet scales are always band scales; this cannot be changed.\n if (key === \"fx\" || key === \"fy\") return \"band\";\n\n // If a projection is specified, the x- and y-scales are disabled; these\n // channels will be projected rather than scaled. (But still check that none\n // of the associated channels are incompatible with a projection.)\n if ((key === \"x\" || key === \"y\") && projection != null) type = typeProjection;\n\n // If a channel dictates a scale type, make sure that it is consistent with\n // the user-specified scale type (if any) and all other channels. For example,\n // barY requires x to be a band scale and disallows any other scale type.\n for (const {type: t} of channels) {\n if (t === undefined) continue;\n else if (type === undefined) type = t;\n else if (type !== t) throw new Error(`scale incompatible with channel: ${type} !== ${t}`);\n }\n\n // If the scale, a channel, or user specified a (consistent) type, return it.\n if (type === typeProjection) return;\n if (type !== undefined) return type;\n\n // If there’s no data (and no type) associated with this scale, don’t create a scale.\n if (domain === undefined && !channels.some(({value}) => value !== undefined)) return;\n\n // Some scales have default types.\n const kind = registry.get(key);\n if (kind === radius) return \"sqrt\";\n if (kind === opacity || kind === length) return \"linear\";\n if (kind === symbol) return \"ordinal\";\n\n // If the domain or range has more than two values, assume it’s ordinal. You\n // can still use a “piecewise” (or “polylinear”) scale, but you must set the\n // type explicitly.\n if ((domain || range || []).length > 2) return asOrdinalType(kind);\n\n // Otherwise, infer the scale type from the data! Prefer the domain, if\n // present, over channels. (The domain and channels should be consistently\n // typed, and the domain is more explicit and typically much smaller.) We only\n // check the first defined value for expedience and simplicity; we expect\n // that the types are consistent.\n if (domain !== undefined) {\n if (isOrdinal(domain)) return asOrdinalType(kind);\n if (isTemporal(domain)) return \"utc\";\n if (kind === color && (pivot != null || isDivergingScheme(scheme))) return \"diverging\";\n return \"linear\";\n }\n\n // If any channel is ordinal or temporal, it takes priority.\n const values = channels.map(({value}) => value).filter((value) => value !== undefined);\n if (values.some(isOrdinal)) return asOrdinalType(kind);\n if (values.some(isTemporal)) return \"utc\";\n if (kind === color && (pivot != null || isDivergingScheme(scheme))) return \"diverging\";\n return \"linear\";\n}\n\n// Positional scales default to a point scale instead of an ordinal scale.\nfunction asOrdinalType(kind) {\n switch (kind) {\n case position:\n return \"point\";\n case color:\n return ordinalImplicit;\n default:\n return \"ordinal\";\n }\n}\n\nexport function isTemporalScale({type}) {\n return type === \"time\" || type === \"utc\";\n}\n\nexport function isOrdinalScale({type}) {\n return type === \"ordinal\" || type === \"point\" || type === \"band\" || type === ordinalImplicit;\n}\n\nexport function isThresholdScale({type}) {\n return type === \"threshold\";\n}\n\nfunction isBandScale({type}) {\n return type === \"point\" || type === \"band\";\n}\n\nexport function isDivergingScale({type}) {\n return /^diverging($|-)/.test(type);\n}\n\n// Certain marks have special behavior if a scale is collapsed, i.e. if the\n// domain is degenerate and represents only a single value such as [3, 3]; for\n// example, a rect will span the full extent of the chart along a collapsed\n// dimension (whereas a dot will simply be drawn in the center).\nexport function isCollapsed(scale) {\n if (scale === undefined) return true; // treat missing scale as collapsed\n const domain = scale.domain();\n const value = scale(domain[0]);\n for (let i = 1, n = domain.length; i < n; ++i) {\n if (scale(domain[i]) - value) {\n return false;\n }\n }\n return true;\n}\n\n// Mutates channel.value!\nfunction coerceType(channels, {domain, ...options}, coerceValues) {\n for (const c of channels) {\n if (c.value !== undefined) {\n c.value = coerceValues(c.value);\n }\n }\n return {\n domain: domain === undefined ? domain : coerceValues(domain),\n ...options\n };\n}\n\nfunction coerceSymbols(values) {\n return map(values, maybeSymbol);\n}\n\nexport function scale(options = {}) {\n let scale;\n for (const key in options) {\n if (!registry.has(key)) continue; // ignore unknown properties\n if (!isScaleOptions(options[key])) continue; // e.g., ignore {color: \"red\"}\n if (scale !== undefined) throw new Error(\"ambiguous scale definition; multiple scales found\");\n scale = exposeScale(normalizeScale(key, options[key]));\n }\n if (scale === undefined) throw new Error(\"invalid scale definition; no scale found\");\n return scale;\n}\n\nexport function exposeScales(scaleDescriptors) {\n return (key) => {\n if (!registry.has((key = `${key}`))) throw new Error(`unknown scale: ${key}`);\n return key in scaleDescriptors ? exposeScale(scaleDescriptors[key]) : undefined;\n };\n}\n\n// Note: axis- and legend-related properties (such as label, ticks and\n// tickFormat) are not included here as they do not affect the scale’s behavior.\nfunction exposeScale({scale, type, domain, range, interpolate, interval, transform, percent, pivot}) {\n if (type === \"identity\") return {type: \"identity\", apply: (d) => d, invert: (d) => d};\n const unknown = scale.unknown ? scale.unknown() : undefined;\n return {\n type,\n domain: slice(domain), // defensive copy\n ...(range !== undefined && {range: slice(range)}), // defensive copy\n ...(transform !== undefined && {transform}),\n ...(percent && {percent}), // only exposed if truthy\n ...(unknown !== undefined && {unknown}),\n ...(interval !== undefined && {interval}),\n\n // quantitative\n ...(interpolate !== undefined && {interpolate}),\n ...(scale.clamp && {clamp: scale.clamp()}),\n\n // diverging (always asymmetric; we never want to apply the symmetric transform twice)\n ...(pivot !== undefined && {pivot, symmetric: false}),\n\n // log, diverging-log\n ...(scale.base && {base: scale.base()}),\n\n // pow, diverging-pow\n ...(scale.exponent && {exponent: scale.exponent()}),\n\n // symlog, diverging-symlog\n ...(scale.constant && {constant: scale.constant()}),\n\n // band, point\n ...(scale.align && {align: scale.align(), round: scale.round()}),\n ...(scale.padding &&\n (scale.paddingInner\n ? {paddingInner: scale.paddingInner(), paddingOuter: scale.paddingOuter()}\n : {padding: scale.padding()})),\n ...(scale.bandwidth && {bandwidth: scale.bandwidth(), step: scale.step()}),\n\n // utilities\n apply: (t) => scale(t),\n ...(scale.invert && {invert: (t) => scale.invert(t)})\n };\n}\n","// @ts-ignore\nimport { scale } from '@observablehq/plot';\nimport { OptionsType } from './options/Options';\nimport { SCALE_BASE_OPACITY_COLOR } from './constant';\n\nimport type { SubDomain } from './index';\n\ntype ValueType = string | number | undefined;\n\nexport function normalizedScale(scaleOptions: OptionsType['scale']): any {\n try {\n const scaleType = Object.keys(scaleOptions!)[0];\n\n return scale({\n [scaleType]: {\n ...scaleOptions![scaleType as 'color' | 'opacity'],\n clamp: true,\n },\n });\n } catch (error) {\n return null;\n }\n}\n\nfunction scaleStyle(_scale: any, scaleOptions: OptionsType['scale']) {\n const styles: { fill?: Function; 'fill-opacity'?: Function } = {};\n\n if (scaleOptions!.hasOwnProperty('opacity')) {\n styles.fill = () =>\n // eslint-disable-next-line implicit-arrow-linebreak\n scaleOptions!.opacity!.baseColor || SCALE_BASE_OPACITY_COLOR;\n styles['fill-opacity'] = (d: ValueType) => _scale?.apply(d);\n } else {\n styles.fill = (d: ValueType) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n (typeof d === 'string' && d?.startsWith('#') ? d : _scale?.apply(d));\n }\n\n return styles;\n}\n\nexport function applyScaleStyle(\n elem: any,\n _scale: any,\n scaleOptions: OptionsType['scale'],\n keyname?: string,\n) {\n Object.entries(scaleStyle(_scale, scaleOptions)).forEach(([prop, val]) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n elem.style(prop, (d: SubDomain | string) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n val(keyname ? (d as SubDomain)[keyname as keyof SubDomain] : d)));\n}\n","import isFunction from 'lodash-es/isFunction';\nimport { hcl } from 'd3-color';\nimport { normalizedScale, applyScaleStyle } from '../scale';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport type { SubDomain, Timestamp } from '../index';\n\nexport default class Populator {\n calendar: CalHeatmap;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n }\n\n populate(): void {\n const { calendar } = this;\n const { scale, subDomain } = calendar.options.options;\n const colorScale = normalizedScale(scale);\n\n calendar.calendarPainter\n .root!.selectAll('.ch-domain')\n .selectAll('svg')\n .selectAll('g')\n .data((d: Timestamp) => calendar.domainCollection.get(d) || [])\n .call((element: any) => {\n applyScaleStyle(element.select('rect'), colorScale, scale!, 'v');\n })\n .call((element: any) => {\n element\n .select('text')\n .attr('style', (d: SubDomain) => {\n const defaultColor =\n hcl(colorScale?.apply(d.v)).l > 60 ? '#000' : '#fff';\n let color = subDomain.color || (d.v ? defaultColor : null);\n\n if (isFunction(color)) {\n color = color(d.t, d.v, colorScale?.apply(d.v));\n }\n\n if (!color) {\n return null;\n }\n\n return `fill: ${color};`;\n })\n .text((d: SubDomain, i: number, nodes: any[]) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n calendar.dateHelper.format(d.t, subDomain.label, d.v, nodes[i]));\n })\n .call(() => {\n calendar.eventEmitter.emit('fill');\n });\n }\n}\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nexport default eq;\n","import eq from './eq.js';\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nexport default assocIndexOf;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nexport default listCacheDelete;\n","import listCacheClear from './_listCacheClear.js';\nimport listCacheDelete from './_listCacheDelete.js';\nimport listCacheGet from './_listCacheGet.js';\nimport listCacheHas from './_listCacheHas.js';\nimport listCacheSet from './_listCacheSet.js';\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nexport default ListCache;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nexport default listCacheClear;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nexport default listCacheGet;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nexport default listCacheHas;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nexport default listCacheSet;\n","import root from './_root.js';\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nexport default coreJsData;\n","import coreJsData from './_coreJsData.js';\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nexport default isMasked;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nexport default toSource;\n","import isFunction from './isFunction.js';\nimport isMasked from './_isMasked.js';\nimport isObject from './isObject.js';\nimport toSource from './_toSource.js';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nexport default baseIsNative;\n","import baseIsNative from './_baseIsNative.js';\nimport getValue from './_getValue.js';\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nexport default getNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nexport default getValue;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nexport default Map;\n","import getNative from './_getNative.js';\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nexport default nativeCreate;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nexport default hashGet;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nexport default hashHas;\n","import hashClear from './_hashClear.js';\nimport hashDelete from './_hashDelete.js';\nimport hashGet from './_hashGet.js';\nimport hashHas from './_hashHas.js';\nimport hashSet from './_hashSet.js';\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nexport default Hash;\n","import isKeyable from './_isKeyable.js';\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nexport default getMapData;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nexport default isKeyable;\n","import mapCacheClear from './_mapCacheClear.js';\nimport mapCacheDelete from './_mapCacheDelete.js';\nimport mapCacheGet from './_mapCacheGet.js';\nimport mapCacheHas from './_mapCacheHas.js';\nimport mapCacheSet from './_mapCacheSet.js';\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nexport default MapCache;\n","import nativeCreate from './_nativeCreate.js';\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nexport default hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default hashDelete;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nexport default hashSet;\n","import Hash from './_Hash.js';\nimport ListCache from './_ListCache.js';\nimport Map from './_Map.js';\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nexport default mapCacheClear;\n","import getMapData from './_getMapData.js';\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default mapCacheDelete;\n","import getMapData from './_getMapData.js';\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nexport default mapCacheGet;\n","import getMapData from './_getMapData.js';\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nexport default mapCacheHas;\n","import getMapData from './_getMapData.js';\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nexport default mapCacheSet;\n","import ListCache from './_ListCache.js';\nimport stackClear from './_stackClear.js';\nimport stackDelete from './_stackDelete.js';\nimport stackGet from './_stackGet.js';\nimport stackHas from './_stackHas.js';\nimport stackSet from './_stackSet.js';\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nexport default Stack;\n","import ListCache from './_ListCache.js';\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nexport default stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nexport default stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nexport default stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nexport default stackHas;\n","import ListCache from './_ListCache.js';\nimport Map from './_Map.js';\nimport MapCache from './_MapCache.js';\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nexport default stackSet;\n","import getNative from './_getNative.js';\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nexport default defineProperty;\n","import defineProperty from './_defineProperty.js';\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nexport default baseAssignValue;\n","import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nexport default assignMergeValue;\n","import createBaseFor from './_createBaseFor.js';\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nexport default baseFor;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nexport default createBaseFor;\n","import root from './_root.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nexport default cloneBuffer;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nexport default Uint8Array;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nexport default cloneTypedArray;\n","import Uint8Array from './_Uint8Array.js';\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nexport default cloneArrayBuffer;\n","import isObject from './isObject.js';\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nexport default baseCreate;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nexport default overArg;\n","import overArg from './_overArg.js';\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nexport default getPrototype;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nexport default isPrototype;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nexport default baseIsArguments;\n","import baseIsArguments from './_baseIsArguments.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nexport default isArguments;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nexport default isLength;\n","import isFunction from './isFunction.js';\nimport isLength from './isLength.js';\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nexport default isArrayLike;\n","import root from './_root.js';\nimport stubFalse from './stubFalse.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nexport default isBuffer;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nexport default stubFalse;\n","import baseGetTag from './_baseGetTag.js';\nimport getPrototype from './_getPrototype.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nexport default isPlainObject;\n","import baseGetTag from './_baseGetTag.js';\nimport isLength from './isLength.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nexport default baseIsTypedArray;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nexport default nodeUtil;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nexport default baseUnary;\n","import baseIsTypedArray from './_baseIsTypedArray.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nexport default isTypedArray;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nexport default safeGet;\n","import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nexport default assignValue;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nexport default isIndex;\n","import baseTimes from './_baseTimes.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isIndex from './_isIndex.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default arrayLikeKeys;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nexport default baseTimes;\n","import isObject from './isObject.js';\nimport isPrototype from './_isPrototype.js';\nimport nativeKeysIn from './_nativeKeysIn.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeysIn;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default nativeKeysIn;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeysIn from './_baseKeysIn.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nexport default keysIn;\n","import copyObject from './_copyObject.js';\nimport keysIn from './keysIn.js';\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nexport default toPlainObject;\n","import assignValue from './_assignValue.js';\nimport baseAssignValue from './_baseAssignValue.js';\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nexport default copyObject;\n","import assignMergeValue from './_assignMergeValue.js';\nimport cloneBuffer from './_cloneBuffer.js';\nimport cloneTypedArray from './_cloneTypedArray.js';\nimport copyArray from './_copyArray.js';\nimport initCloneObject from './_initCloneObject.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isArrayLikeObject from './isArrayLikeObject.js';\nimport isBuffer from './isBuffer.js';\nimport isFunction from './isFunction.js';\nimport isObject from './isObject.js';\nimport isPlainObject from './isPlainObject.js';\nimport isTypedArray from './isTypedArray.js';\nimport safeGet from './_safeGet.js';\nimport toPlainObject from './toPlainObject.js';\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nexport default baseMergeDeep;\n","import isArrayLike from './isArrayLike.js';\nimport isObjectLike from './isObjectLike.js';\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nexport default isArrayLikeObject;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nexport default copyArray;\n","import baseCreate from './_baseCreate.js';\nimport getPrototype from './_getPrototype.js';\nimport isPrototype from './_isPrototype.js';\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nexport default initCloneObject;\n","import Stack from './_Stack.js';\nimport assignMergeValue from './_assignMergeValue.js';\nimport baseFor from './_baseFor.js';\nimport baseMergeDeep from './_baseMergeDeep.js';\nimport isObject from './isObject.js';\nimport keysIn from './keysIn.js';\nimport safeGet from './_safeGet.js';\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nexport default baseMerge;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nexport default identity;\n","import apply from './_apply.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nexport default overRest;\n","import constant from './constant.js';\nimport defineProperty from './_defineProperty.js';\nimport identity from './identity.js';\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nexport default baseSetToString;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nexport default constant;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nexport default shortOut;\n","import baseSetToString from './_baseSetToString.js';\nimport shortOut from './_shortOut.js';\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nexport default setToString;\n","import identity from './identity.js';\nimport overRest from './_overRest.js';\nimport setToString from './_setToString.js';\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nexport default baseRest;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nexport default apply;\n","import baseMerge from './_baseMerge.js';\nimport createAssigner from './_createAssigner.js';\n\n/**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * if (_.isArray(objValue)) {\n * return objValue.concat(srcValue);\n * }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\nvar mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n baseMerge(object, source, srcIndex, customizer);\n});\n\nexport default mergeWith;\n","import baseRest from './_baseRest.js';\nimport isIterateeCall from './_isIterateeCall.js';\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nexport default createAssigner;\n","import eq from './eq.js';\nimport isArrayLike from './isArrayLike.js';\nimport isIndex from './_isIndex.js';\nimport isObject from './isObject.js';\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nexport default isIterateeCall;\n","import MapCache from './_MapCache.js';\nimport setCacheAdd from './_setCacheAdd.js';\nimport setCacheHas from './_setCacheHas.js';\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nexport default SetCache;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nexport default arraySome;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nexport default setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nexport default setCacheHas;\n","import SetCache from './_SetCache.js';\nimport arraySome from './_arraySome.js';\nimport cacheHas from './_cacheHas.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nexport default equalArrays;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nexport default cacheHas;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nexport default mapToArray;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nexport default setToArray;\n","import Symbol from './_Symbol.js';\nimport Uint8Array from './_Uint8Array.js';\nimport eq from './eq.js';\nimport equalArrays from './_equalArrays.js';\nimport mapToArray from './_mapToArray.js';\nimport setToArray from './_setToArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nexport default equalByTag;\n","import arrayFilter from './_arrayFilter.js';\nimport stubArray from './stubArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nexport default getSymbols;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nexport default arrayFilter;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nexport default stubArray;\n","import overArg from './_overArg.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nexport default nativeKeys;\n","import isPrototype from './_isPrototype.js';\nimport nativeKeys from './_nativeKeys.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeys;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeys from './_baseKeys.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nexport default keys;\n","import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbols from './_getSymbols.js';\nimport keys from './keys.js';\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nexport default getAllKeys;\n","import arrayPush from './_arrayPush.js';\nimport isArray from './isArray.js';\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nexport default baseGetAllKeys;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nexport default arrayPush;\n","import getAllKeys from './_getAllKeys.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nexport default equalObjects;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nexport default DataView;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nexport default Promise;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nexport default Set;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nexport default WeakMap;\n","import DataView from './_DataView.js';\nimport Map from './_Map.js';\nimport Promise from './_Promise.js';\nimport Set from './_Set.js';\nimport WeakMap from './_WeakMap.js';\nimport baseGetTag from './_baseGetTag.js';\nimport toSource from './_toSource.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nexport default getTag;\n","import Stack from './_Stack.js';\nimport equalArrays from './_equalArrays.js';\nimport equalByTag from './_equalByTag.js';\nimport equalObjects from './_equalObjects.js';\nimport getTag from './_getTag.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nexport default baseIsEqualDeep;\n","import baseIsEqualDeep from './_baseIsEqualDeep.js';\nimport isObjectLike from './isObjectLike.js';\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nexport default baseIsEqual;\n","import baseIsEqual from './_baseIsEqual.js';\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nexport default isEqual;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n}\n\nexport default baseHas;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","import isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nexport default isKey;\n","import MapCache from './_MapCache.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nexport default memoize;\n","import memoizeCapped from './_memoizeCapped.js';\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nexport default stringToPath;\n","import memoize from './memoize.js';\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nexport default memoizeCapped;\n","import Symbol from './_Symbol.js';\nimport arrayMap from './_arrayMap.js';\nimport isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default baseToString;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nexport default arrayMap;\n","import isArray from './isArray.js';\nimport isKey from './_isKey.js';\nimport stringToPath from './_stringToPath.js';\nimport toString from './toString.js';\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nexport default castPath;\n","import baseToString from './_baseToString.js';\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nexport default toString;\n","import isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default toKey;\n","import baseHas from './_baseHas.js';\nimport hasPath from './_hasPath.js';\n\n/**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\nfunction has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n}\n\nexport default has;\n","import castPath from './_castPath.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isIndex from './_isIndex.js';\nimport isLength from './isLength.js';\nimport toKey from './_toKey.js';\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nexport default hasPath;\n","import baseGet from './_baseGet.js';\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nexport default get;\n","import castPath from './_castPath.js';\nimport toKey from './_toKey.js';\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nexport default baseGet;\n","import baseSet from './_baseSet.js';\n\n/**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\nfunction set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n}\n\nexport default set;\n","import assignValue from './_assignValue.js';\nimport castPath from './_castPath.js';\nimport isIndex from './_isIndex.js';\nimport isObject from './isObject.js';\nimport toKey from './_toKey.js';\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n}\n\nexport default baseSet;\n","import castArray from 'lodash-es/castArray';\nimport isFunction from 'lodash-es/isFunction';\nimport isString from 'lodash-es/isString';\nimport type { SubDomainOptions } from './Options';\n\nexport default {\n range: (value: number): number => Math.max(+value, 1),\n 'date.highlight': (args: Date[] | Date): Date[] => castArray(args),\n 'subDomain.label': (\n value: SubDomainOptions['label'],\n ): string | Function | null =>\n // eslint-disable-next-line\n ((isString(value) && value !== '') || isFunction(value) ? value : null),\n};\n","'use strict';\n/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */\n/* eslint-disable regexp/no-useless-quantifier -- testing */\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar regexpFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar shared = require('../internals/shared');\nvar create = require('../internals/object-create');\nvar getInternalState = require('../internals/internal-state').get;\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\nvar nativeExec = RegExp.prototype.exec;\nvar patchedExec = nativeExec;\nvar charAt = uncurryThis(''.charAt);\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n call(nativeExec, re1, 'a');\n call(nativeExec, re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;\n\nif (PATCH) {\n patchedExec = function exec(string) {\n var re = this;\n var state = getInternalState(re);\n var str = toString(string);\n var raw = state.raw;\n var result, reCopy, lastIndex, match, i, object, group;\n\n if (raw) {\n raw.lastIndex = re.lastIndex;\n result = call(patchedExec, raw, str);\n re.lastIndex = raw.lastIndex;\n return result;\n }\n\n var groups = state.groups;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = call(regexpFlags, re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = replace(flags, 'y', '');\n if (indexOf(flags, 'g') === -1) {\n flags += 'g';\n }\n\n strCopy = stringSlice(str, re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = call(nativeExec, sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = stringSlice(match.input, charsAdded);\n match[0] = stringSlice(match[0], charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn't work for /(.?)?/\n call(nativeReplace, match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n if (match && groups) {\n match.groups = object = create(null);\n for (i = 0; i < groups.length; i++) {\n group = groups[i];\n object[group[0]] = match[group[1]];\n }\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","import baseGetTag from './_baseGetTag.js';\nimport isArray from './isArray.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nexport default isString;\n","import mergeWith from 'lodash-es/mergeWith';\nimport isEqual from 'lodash-es/isEqual';\nimport has from 'lodash-es/has';\nimport get from 'lodash-es/get';\nimport set from 'lodash-es/set';\nimport type { Ls } from 'dayjs';\nimport type { DomainType, Timestamp } from '../index';\nimport {\n OPTIONS_DEFAULT_DOMAIN_TYPE,\n OPTIONS_DEFAULT_SUBDOMAIN_TYPE,\n OPTIONS_DEFAULT_SUBDOMAIN_WIDTH,\n OPTIONS_DEFAULT_SUBDOMAIN_HEIGHT,\n OPTIONS_DEFAULT_SUBDOMAIN_GUTTER,\n OPTIONS_DEFAULT_SUBDOMAIN_RADIUS,\n OPTIONS_DEFAULT_THEME,\n OPTIONS_DEFAULT_ANIMATION_DURATION,\n OPTIONS_DEFAULT_ITEM_SELECTOR,\n OPTIONS_DEFAULT_RANGE,\n SCALE_BASE_COLOR_SCHEME,\n SCALE_BASE_COLOR_TYPE,\n SCALE_BASE_COLOR_DOMAIN,\n OPTIONS_DEFAULT_LOCALE,\n} from '../constant';\n\nimport OptionsPreProcessors from './OptionsPreProcessors';\n\ntype SortOrder = 'asc' | 'desc';\nexport type TextAlign = 'start' | 'middle' | 'end';\nexport type Padding = [number, number, number, number];\n\nexport type DomainOptions = {\n type: DomainType;\n gutter: number;\n padding: Padding;\n dynamicDimension: boolean;\n label: LabelOptions;\n sort: SortOrder;\n};\n\ntype LabelOptions = {\n text?:\n | string\n | null\n | ((timestamp: Timestamp, element: SVGElement) => string);\n position: 'top' | 'right' | 'bottom' | 'left';\n textAlign: TextAlign;\n offset: {\n x: number;\n y: number;\n };\n rotate: null | 'left' | 'right';\n width: number;\n height: number;\n};\n\nexport type SubDomainOptions = {\n type: string;\n width: number;\n height: number;\n gutter: number;\n radius: number;\n label:\n | string\n | null\n | ((timestamp: Timestamp, value: number, element: SVGElement) => string);\n color?:\n | string\n | ((\n timestamp: Timestamp,\n value: number | string | null | undefined,\n backgroundColor: string,\n ) => string);\n sort: SortOrder;\n};\n\nexport type DataGroupType = 'sum' | 'count' | 'min' | 'max' | 'average';\n\ntype DateOptions = {\n start: Date;\n min?: Date;\n max?: Date;\n highlight: Date[];\n locale: string | Partial<(typeof Ls)[0]>;\n timezone?: string;\n};\n\nexport type DataRecord = Record;\nexport type DataOptions = {\n source: string | DataRecord[];\n type: 'json' | 'csv' | 'tsv' | 'txt';\n requestInit: object;\n x: string | ((datum: DataRecord) => number);\n y: string | ((datum: DataRecord) => number);\n groupY:\n | DataGroupType\n | ((values: (string | number | null)[]) => string | number | null);\n defaultValue: null | number | string;\n};\n\ntype ScaleOptions = {\n opacity?: {\n domain: number[];\n type?: string;\n baseColor: string;\n };\n color?: {\n domain: number[];\n scheme?: string;\n range?: string[];\n interpolate?: any;\n type?: string;\n };\n};\n\nexport type OptionsType = {\n itemSelector: string;\n range: number;\n domain: DomainOptions;\n subDomain: SubDomainOptions;\n date: DateOptions;\n data: DataOptions;\n scale?: ScaleOptions;\n animationDuration: number;\n verticalOrientation: boolean;\n theme: 'light' | 'dark';\n};\n\ntype InternalOptionsType = {\n x: {\n domainHorizontalLabelWidth: number;\n domainVerticalLabelHeight: number;\n };\n};\n\nexport default class Options {\n options: OptionsType & InternalOptionsType;\n\n preProcessors: {\n [key: string]: (value: any) => any;\n };\n\n constructor(processors = OptionsPreProcessors) {\n this.preProcessors = processors;\n\n this.options = {\n // selector string of the container to append the graph to\n // Accept any string value accepted by document.querySelector or CSS3\n // or an Element object\n itemSelector: OPTIONS_DEFAULT_ITEM_SELECTOR,\n\n // Number of domain to display on the graph\n range: OPTIONS_DEFAULT_RANGE,\n\n domain: {\n type: OPTIONS_DEFAULT_DOMAIN_TYPE,\n\n // Space between each domain, in pixel\n gutter: 4,\n\n padding: [0, 0, 0, 0],\n\n // Whether to enable dynamic domain size\n // The width/height on a domain depends on the number of\n // subDomains items count\n dynamicDimension: true,\n\n // Whether to show most recent date first\n sort: 'asc',\n\n label: {\n // Formatting of the domain label\n // @default: undefined, will use the formatting\n // according to domain type\n // Accept any string accepted by dayjs.format()\n // or a function\n //\n // Refer to https://day.js.org/docs/en/display/format\n // for list of accepted string tokens used by dayjs.format()\n text: undefined,\n\n // valid: top, right, bottom, left\n position: 'bottom',\n\n // Valid are the direct svg values: start, middle, end\n textAlign: 'middle',\n\n // By default, there is no margin/padding around the label\n offset: {\n x: 0,\n y: 0,\n },\n\n rotate: null,\n\n // Used only on vertical orientation\n width: 100,\n\n // Used only on horizontal orientation\n height: 25,\n },\n },\n\n subDomain: {\n type: OPTIONS_DEFAULT_SUBDOMAIN_TYPE,\n\n // Width of each subDomain cell, in pixel\n width: OPTIONS_DEFAULT_SUBDOMAIN_WIDTH,\n\n // Height of each subDomain cell, in pixel\n height: OPTIONS_DEFAULT_SUBDOMAIN_HEIGHT,\n\n // Space between each subDomain cell, in pixel\n gutter: OPTIONS_DEFAULT_SUBDOMAIN_GUTTER,\n\n // Radius of each subDomain cell, in pixel\n radius: OPTIONS_DEFAULT_SUBDOMAIN_RADIUS,\n\n // Formatting of the text inside each subDomain cell\n // @default: null, no text\n // Accept any string accepted by dayjs.format()\n // or a function\n //\n // Refer to https://day.js.org/docs/en/display/format\n // for list of accepted string tokens used by dayjs.format()\n label: null,\n\n color: undefined,\n\n sort: 'asc',\n },\n\n date: {\n // Start date of the graph\n // @default now\n start: new Date(),\n\n min: undefined,\n\n max: undefined,\n\n // List of dates to highlight\n // Valid values:\n // - []: don't highlight anything\n // - an array of Date objects: highlight the specified dates\n highlight: [],\n\n locale: OPTIONS_DEFAULT_LOCALE,\n\n timezone: undefined,\n },\n\n // Calendar orientation\n // false: display domains side by side\n // true : display domains one under the other\n verticalOrientation: false,\n\n data: {\n // Data source\n // URL, where to fetch the original datas\n source: '',\n\n // Data type\n // Default: json\n type: 'json',\n\n requestInit: {},\n\n // keyname of the time property\n x: '',\n\n // keyname of the value property\n y: '',\n\n // Grouping function of the values\n groupY: 'sum',\n\n defaultValue: null,\n },\n\n scale: undefined,\n\n // Animation duration, in ms\n animationDuration: OPTIONS_DEFAULT_ANIMATION_DURATION,\n\n // Theme mode: dark/light\n theme: OPTIONS_DEFAULT_THEME,\n\n // Internally used options, do not edit not set\n x: {\n domainHorizontalLabelWidth: 0,\n domainVerticalLabelHeight: 0,\n },\n };\n }\n\n /**\n * Set a new value for an option, only if unchanged\n * @param {string} key Name of the option\n * @param {any} value Value of the option\n * @return {boolean} Whether the option have been changed\n */\n set(key: string, value: any): boolean {\n if (!has(this.options, key) || isEqual(get(this.options, key), value)) {\n return false;\n }\n\n set(\n this.options,\n key,\n has(this.preProcessors, key) ?\n get(this.preProcessors, key)(value) :\n value,\n );\n\n return true;\n }\n\n init(opts?: CalHeatmap.DeepPartial): void {\n this.options = {\n // eslint-disable-next-line arrow-body-style\n ...mergeWith(this.options, opts, (_, srcValue) => {\n return Array.isArray(srcValue) ? srcValue : undefined;\n }),\n };\n\n const { options } = this;\n\n Object.keys(this.preProcessors).forEach((key) => {\n set(options, key, get(this.preProcessors, key)(get(options, key)));\n });\n\n if (typeof options.scale === 'undefined') {\n this.initScale();\n }\n\n options.x.domainVerticalLabelHeight = options.domain.label.height;\n\n // When the label is affecting the height\n if (\n options.domain.label.position === 'top' ||\n options.domain.label.position === 'bottom'\n ) {\n options.x.domainHorizontalLabelWidth = 0;\n } else {\n options.x.domainVerticalLabelHeight = 0;\n options.x.domainHorizontalLabelWidth = options.domain.label.width;\n }\n\n if (\n options.domain.label.text === null ||\n options.domain.label.text === ''\n ) {\n options.x.domainVerticalLabelHeight = 0;\n options.x.domainHorizontalLabelWidth = 0;\n }\n }\n\n initScale() {\n this.options.scale = {\n color: {\n scheme: SCALE_BASE_COLOR_SCHEME,\n type: SCALE_BASE_COLOR_TYPE,\n domain: SCALE_BASE_COLOR_DOMAIN,\n },\n };\n }\n}\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.hasIndices) result += 'd';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.unicodeSets) result += 'v';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nvar UNSUPPORTED_Y = fails(function () {\n var re = $RegExp('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') !== null;\n});\n\n// UC Browser bug\n// https://github.com/zloirock/core-js/issues/1008\nvar MISSED_STICKY = UNSUPPORTED_Y || fails(function () {\n return !$RegExp('a', 'y').sticky;\n});\n\nvar BROKEN_CARET = UNSUPPORTED_Y || fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = $RegExp('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') !== null;\n});\n\nmodule.exports = {\n BROKEN_CARET: BROKEN_CARET,\n MISSED_STICKY: MISSED_STICKY,\n UNSUPPORTED_Y: UNSUPPORTED_Y\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('.', 's');\n return !(re.dotAll && re.test('\\n') && re.flags === 's');\n});\n","'use strict';\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?b)', 'g') -> /(?b)/g and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('(?b)', 'g');\n return re.exec('b').groups.a !== 'b' ||\n 'b'.replace(re, '$c') !== 'bc';\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (KEY, exec, FORCED, SHAM) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) !== 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () {\n execCalled = true;\n return null;\n };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n FORCED\n ) {\n var uncurriedNativeRegExpMethod = uncurryThis(/./[SYMBOL]);\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n var uncurriedNativeMethod = uncurryThis(nativeMethod);\n var $exec = regexp.exec;\n if ($exec === regexpExec || $exec === RegExpPrototype.exec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: uncurriedNativeRegExpMethod(regexp, str, arg2) };\n }\n return { done: true, value: uncurriedNativeMethod(str, regexp, arg2) };\n }\n return { done: false };\n });\n\n defineBuiltIn(String.prototype, KEY, methods[0]);\n defineBuiltIn(RegExpPrototype, SYMBOL, methods[1]);\n }\n\n if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n// eslint-disable-next-line redos/no-vulnerable -- safe\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace(replacement, symbols, function (match, ch) {\n var capture;\n switch (charAt(ch, 0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return stringSlice(str, 0, position);\n case \"'\": return stringSlice(str, tailPos);\n case '<':\n capture = namedCaptures[stringSlice(ch, 1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar regexpExec = require('../internals/regexp-exec');\n\nvar $TypeError = TypeError;\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (isCallable(exec)) {\n var result = call(exec, R, S);\n if (result !== null) anObject(result);\n return result;\n }\n if (classof(R) === 'RegExp') return call(regexpExec, R, S);\n throw new $TypeError('RegExp#exec called on incompatible receiver');\n};\n","'use strict';\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getMethod = require('../internals/get-method');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar max = Math.max;\nvar min = Math.min;\nvar concat = uncurryThis([].concat);\nvar push = uncurryThis([].push);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive\n return ''.replace(re, '$') !== '7';\n});\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = isNullOrUndefined(searchValue) ? undefined : getMethod(searchValue, REPLACE);\n return replacer\n ? call(replacer, searchValue, O, replaceValue)\n : call(nativeReplace, toString(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (string, replaceValue) {\n var rx = anObject(this);\n var S = toString(string);\n\n if (\n typeof replaceValue == 'string' &&\n stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 &&\n stringIndexOf(replaceValue, '$<') === -1\n ) {\n var res = maybeCallNative(nativeReplace, rx, S, replaceValue);\n if (res.done) return res.value;\n }\n\n var functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n\n var global = rx.global;\n var fullUnicode;\n if (global) {\n fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n\n var results = [];\n var result;\n while (true) {\n result = regExpExec(rx, S);\n if (result === null) break;\n\n push(results, result);\n if (!global) break;\n\n var matchStr = toString(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = toString(result[0]);\n var position = max(min(toIntegerOrInfinity(result.index), S.length), 0);\n var captures = [];\n var replacement;\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) push(captures, maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = concat([matched], captures, position, S);\n if (namedCaptures !== undefined) push(replacerArgs, namedCaptures);\n replacement = toString(apply(replaceValue, undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n\n return accumulatedResult + stringSlice(S, nextSourcePosition);\n }\n ];\n}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);\n","import {\n json, csv, dsv, text,\n} from 'd3-fetch';\n\nimport type { DataOptions, DataRecord } from './options/Options';\nimport type { Timestamp } from './index';\nimport type CalHeatmap from './CalHeatmap';\n\nexport default class DataFetcher {\n calendar: CalHeatmap;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n }\n\n /**\n * Fetch and interpret data from the datasource\n *\n * @param {string|object} source\n * @param {number} startTimestamp\n * @param {number} endTimestamp\n *\n * @return {Promize} A promise, that will return the final data when resolved\n */\n async getDatas(\n source: DataOptions['source'],\n startTimestamp: Timestamp,\n endTimestamp: Timestamp,\n ): Promise {\n if (typeof source === 'string' && source.length > 0) {\n return this.#fetch(source, startTimestamp, endTimestamp);\n }\n\n let d: DataRecord[] = [];\n if (Array.isArray(source)) {\n d = source;\n }\n\n return new Promise((resolve) => {\n resolve(d);\n });\n }\n\n parseURI(\n str: string,\n startTimestamp: Timestamp,\n endTimestamp: Timestamp,\n ): string {\n let newUri = str.replace(/\\{\\{start=(.*?)\\}\\}/g, (_, format) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n this.calendar.dateHelper.date(startTimestamp).format(format));\n newUri = newUri.replace(/\\{\\{end=(.*?)\\}\\}/g, (_, format) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n this.calendar.dateHelper.date(endTimestamp).format(format));\n\n return newUri;\n }\n\n #fetch(\n source: DataOptions['source'],\n startTimestamp: Timestamp,\n endTimestamp: Timestamp,\n ): Promise {\n const { type, requestInit } = this.calendar.options.options.data;\n\n const url = this.parseURI(source as string, startTimestamp, endTimestamp);\n\n switch (type) {\n case 'json':\n return json(url, requestInit);\n case 'csv':\n return csv(url, requestInit);\n case 'tsv':\n return dsv('\\t', url, requestInit);\n case 'txt':\n return text(url, requestInit);\n default:\n return new Promise((resolve) => {\n resolve([]);\n });\n }\n }\n}\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FUNCTION_NAME_EXISTS = require('../internals/function-name').EXISTS;\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\n\nvar FunctionPrototype = Function.prototype;\nvar functionToString = uncurryThis(FunctionPrototype.toString);\nvar nameRE = /function\\b(?:\\s|\\/\\*[\\S\\s]*?\\*\\/|\\/\\/[^\\n\\r]*[\\n\\r]+)*([^\\s(/]*)/;\nvar regExpExec = uncurryThis(nameRE.exec);\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !FUNCTION_NAME_EXISTS) {\n defineBuiltInAccessor(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return regExpExec(nameRE, functionToString(this))[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)25){var f=r(this).startOf(t).add(1,t).date(n),s=r(this).endOf(e);if(f.isBefore(s))return 1}var a=r(this).startOf(t).date(n).startOf(e).subtract(1,\"millisecond\"),o=this.diff(a,e,!0);return o<0?r(this).startOf(\"week\").week():Math.ceil(o)},f.weeks=function(e){return void 0===e&&(e=null),this.week(e)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_dayOfYear=t()}(this,(function(){\"use strict\";return function(e,t,n){t.prototype.dayOfYear=function(e){var t=Math.round((n(this).startOf(\"day\")-n(this).startOf(\"year\"))/864e5)+1;return null==e?t:this.add(e-t,\"day\")}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekday=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.weekday=function(e){var t=this.$locale().weekStart||0,i=this.$W,n=(i0&&(n=n[0]);t=(n=n.filter((function(e){return e})))[0];for(var i=1;i4&&(o+=7),n.add(o,e));return r.diff(u,\"week\")+1},d.isoWeekday=function(e){return this.$utils().u(e)?this.day()||7:this.day(this.day()%7?e:e-7)};var n=d.startOf;d.startOf=function(e,t){var i=this.$utils(),s=!!i.u(t)||t;return\"isoweek\"===i.p(e)?s?this.date(this.date()-(this.isoWeekday()-1)).startOf(\"day\"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf(\"day\"):n.bind(this)(e,t)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isLeapYear=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.isLeapYear=function(){return this.$y%4==0&&this.$y%100!=0||this.$y%400==0}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_advancedFormat=t()}(this,(function(){\"use strict\";return function(e,t){var r=t.prototype,n=r.format;r.format=function(e){var t=this,r=this.$locale();if(!this.isValid())return n.bind(this)(e);var s=this.$utils(),a=(e||\"YYYY-MM-DDTHH:mm:ssZ\").replace(/\\[([^\\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(e){switch(e){case\"Q\":return Math.ceil((t.$M+1)/3);case\"Do\":return r.ordinal(t.$D);case\"gggg\":return t.weekYear();case\"GGGG\":return t.isoWeekYear();case\"wo\":return r.ordinal(t.week(),\"W\");case\"w\":case\"ww\":return s.s(t.week(),\"w\"===e?1:2,\"0\");case\"W\":case\"WW\":return s.s(t.isoWeek(),\"W\"===e?1:2,\"0\");case\"k\":case\"kk\":return s.s(String(0===t.$H?24:t.$H),\"k\"===e?1:2,\"0\");case\"X\":return Math.floor(t.$d.getTime()/1e3);case\"x\":return t.$d.getTime();case\"z\":return\"[\"+t.offsetName()+\"]\";case\"zzz\":return\"[\"+t.offsetName(\"long\")+\"]\";default:return e}}));return n.bind(this)(a)}}}));","!function(t,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_utc=i()}(this,(function(){\"use strict\";var t=\"minute\",i=/[+-]\\d\\d(?::?\\d\\d)?/g,e=/([+-]|\\d\\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t)};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else r.call(this)};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if(\"string\"==typeof s&&(s=function(t){void 0===t&&(t=\"\");var s=t.match(i);if(!s)return null;var f=(\"\"+s[0]).match(e)||[\"-\",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:\"+\"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?\"YYYY-MM-DDTHH:mm:ss[Z]\":\"\");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return\"s\"===t&&this.$offset?n(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)}}}));","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_timezone=e()}(this,(function(){\"use strict\";var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(n,i,o){var r,a=function(t,n,i){void 0===i&&(i={});var o=new Date(t),r=function(t,n){void 0===n&&(n={});var i=n.timeZoneName||\"short\",o=t+\"|\"+i,r=e[o];return r||(r=new Intl.DateTimeFormat(\"en-US\",{hour12:!1,timeZone:t,year:\"numeric\",month:\"2-digit\",day:\"2-digit\",hour:\"2-digit\",minute:\"2-digit\",second:\"2-digit\",timeZoneName:i}),e[o]=r),r}(n,i);return r.formatToParts(o)},u=function(e,n){for(var i=a(e,n),r=[],u=0;u=0&&(r[c]=parseInt(m,10))}var d=r[3],l=24===d?0:d,h=r[0]+\"-\"+r[1]+\"-\"+r[2]+\" \"+l+\":\"+r[4]+\":\"+r[5]+\":000\",v=+e;return(o.utc(h).valueOf()-(v-=v%1e3))/6e4},f=i.prototype;f.tz=function(t,e){void 0===t&&(t=r);var n=this.utcOffset(),i=this.toDate(),a=i.toLocaleString(\"en-US\",{timeZone:t}),u=Math.round((i-new Date(a))/1e3/60),f=o(a,{locale:this.$L}).$set(\"millisecond\",this.$ms).utcOffset(15*-Math.round(i.getTimezoneOffset()/15)-u,!0);if(e){var s=f.utcOffset();f=f.add(n-s,\"minute\")}return f.$x.$timezone=t,f},f.offsetName=function(t){var e=this.$x.$timezone||o.tz.guess(),n=a(this.valueOf(),e,{timeZoneName:t}).find((function(t){return\"timezonename\"===t.type.toLowerCase()}));return n&&n.value};var s=f.startOf;f.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return s.call(this,t,e);var n=o(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\"),{locale:this.$L});return s.call(n,t,e).tz(this.$x.$timezone,!0)},o.tz=function(t,e,n){var i=n&&e,a=n||e||r,f=u(+o(),a);if(\"string\"!=typeof t)return o(t).tz(a);var s=function(t,e,n){var i=t-60*e*1e3,o=u(i,n);if(e===o)return[i,e];var r=u(i-=60*(o-e)*1e3,n);return o===r?[i,o]:[t-60*Math.min(o,r)*1e3,Math.max(o,r)]}(o.utc(t,i).valueOf(),f,a),m=s[0],c=s[1],d=o(m).utcOffset(c);return d.$x.$timezone=a,d},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(t){r=t}}}));","!function(n,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(n=\"undefined\"!=typeof globalThis?globalThis:n||self).dayjs_plugin_localeData=e()}(this,(function(){\"use strict\";return function(n,e,t){var r=e.prototype,o=function(n){return n&&(n.indexOf?n:n.s)},u=function(n,e,t,r,u){var i=n.name?n:n.$locale(),a=o(i[e]),s=o(i[t]),f=a||s.map((function(n){return n.slice(0,r)}));if(!u)return f;var d=i.weekStart;return f.map((function(n,e){return f[(e+(d||0))%7]}))},i=function(){return t.Ls[t.locale()]},a=function(n,e){return n.formats[e]||function(n){return n.replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(n,e,t){return e||t.slice(1)}))}(n.formats[e.toUpperCase()])},s=function(){var n=this;return{months:function(e){return e?e.format(\"MMMM\"):u(n,\"months\")},monthsShort:function(e){return e?e.format(\"MMM\"):u(n,\"monthsShort\",\"months\",3)},firstDayOfWeek:function(){return n.$locale().weekStart||0},weekdays:function(e){return e?e.format(\"dddd\"):u(n,\"weekdays\")},weekdaysMin:function(e){return e?e.format(\"dd\"):u(n,\"weekdaysMin\",\"weekdays\",2)},weekdaysShort:function(e){return e?e.format(\"ddd\"):u(n,\"weekdaysShort\",\"weekdays\",3)},longDateFormat:function(e){return a(n.$locale(),e)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};r.localeData=function(){return s.bind(this)()},t.localeData=function(){var n=i();return{firstDayOfWeek:function(){return n.weekStart||0},weekdays:function(){return t.weekdays()},weekdaysShort:function(){return t.weekdaysShort()},weekdaysMin:function(){return t.weekdaysMin()},months:function(){return t.months()},monthsShort:function(){return t.monthsShort()},longDateFormat:function(e){return a(n,e)},meridiem:n.meridiem,ordinal:n.ordinal}},t.months=function(){return u(i(),\"months\")},t.monthsShort=function(){return u(i(),\"monthsShort\",\"months\",3)},t.weekdays=function(n){return u(i(),\"weekdays\",null,null,n)},t.weekdaysShort=function(n){return u(i(),\"weekdaysShort\",\"weekdays\",3,n)},t.weekdaysMin=function(n){return u(i(),\"weekdaysMin\",\"weekdays\",2,n)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_localizedFormat=t()}(this,(function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"};return function(t,o,n){var r=o.prototype,i=r.format;n.en.formats=e,r.format=function(t){void 0===t&&(t=\"YYYY-MM-DDTHH:mm:ssZ\");var o=this.$locale().formats,n=function(t,o){return t.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var i=r&&r.toUpperCase();return n||o[r]||e[r]||o[i].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,o){return t||o.slice(1)}))}))}(t,void 0===o?{}:o);return i.call(this,n)}}}));","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_updateLocale=n()}(this,(function(){\"use strict\";return function(e,n,t){t.updateLocale=function(e,n){var o=t.Ls[e];if(o)return(n?Object.keys(n):[]).forEach((function(e){o[e]=n[e]})),o}}}));","import dayjs from 'dayjs';\nimport weekOfYear from 'dayjs/plugin/weekOfYear';\nimport dayOfYear from 'dayjs/plugin/dayOfYear';\nimport weekday from 'dayjs/plugin/weekday';\nimport minMax from 'dayjs/plugin/minMax';\nimport isoWeeksInYear from 'dayjs/plugin/isoWeeksInYear';\nimport isoWeek from 'dayjs/plugin/isoWeek';\nimport isLeapYear from 'dayjs/plugin/isLeapYear';\nimport advancedFormat from 'dayjs/plugin/advancedFormat';\nimport utc from 'dayjs/plugin/utc';\nimport timezone from 'dayjs/plugin/timezone';\nimport localeData from 'dayjs/plugin/localeData';\nimport localizedFormat from 'dayjs/plugin/localizedFormat';\nimport updateLocale from 'dayjs/plugin/updateLocale';\n\nimport type { ManipulateType, PluginFunc, Ls } from 'dayjs';\nimport type { OptionsType } from '../options/Options';\nimport type { Timestamp, DomainType } from '../index';\n\ndayjs.extend(weekOfYear);\ndayjs.extend(isoWeeksInYear);\ndayjs.extend(isoWeek);\ndayjs.extend(isLeapYear);\ndayjs.extend(dayOfYear);\ndayjs.extend(weekday);\ndayjs.extend(minMax);\ndayjs.extend(advancedFormat);\ndayjs.extend(utc);\ndayjs.extend(timezone);\ndayjs.extend(localeData);\ndayjs.extend(localizedFormat);\ndayjs.extend(updateLocale);\n\nconst DEFAULT_LOCALE = 'en';\n\nexport default class DateHelper {\n locale: OptionsType['date']['locale'];\n\n timezone: string;\n\n constructor() {\n this.locale = DEFAULT_LOCALE;\n this.timezone = dayjs.tz.guess();\n if (typeof window === 'object') {\n (window as any).dayjs ||= dayjs;\n }\n }\n\n async setup({ options }: { options: OptionsType }) {\n this.timezone = options.date.timezone || dayjs.tz.guess();\n const userLocale = options.date.locale;\n\n if (typeof userLocale === 'string' && userLocale !== DEFAULT_LOCALE) {\n let locale;\n if (typeof window === 'object') {\n locale =\n (window as any)[`dayjs_locale_${userLocale}`] ||\n (await this.loadBrowserLocale(userLocale));\n } else {\n locale = await this.loadNodeLocale(userLocale);\n }\n dayjs.locale(userLocale);\n this.locale = locale;\n }\n\n if (typeof userLocale === 'object') {\n if (userLocale.hasOwnProperty('name')) {\n dayjs.locale(userLocale.name, userLocale);\n this.locale = userLocale;\n } else {\n this.locale = dayjs.updateLocale(DEFAULT_LOCALE, userLocale);\n }\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n extend(dayjsPlugin: PluginFunc): dayjs.Dayjs {\n return dayjs.extend(dayjsPlugin);\n }\n\n /**\n * Return the week number, relative to its month\n *\n * @param {number|Date} d Date or timestamp in milliseconds\n * @returns {number} The week number, relative to the month [0-5]\n */\n getMonthWeekNumber(d: Timestamp | dayjs.Dayjs): number {\n const dayjsDate = this.date(d);\n const date = dayjsDate.startOf('day');\n const endOfWeek = dayjsDate.startOf('month').endOf('week');\n\n if (date <= endOfWeek) {\n return 1;\n }\n return Math.ceil(date.diff(endOfWeek, 'weeks', true)) + 1;\n }\n\n /**\n * Return the number of weeks in the given month\n *\n * As there is no fixed standard to specify which month a partial week should\n * belongs to, the ISO week date standard is used, where:\n * - the first week of the month should have at least 4 days\n *\n * @see https://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Timestamp | dayjs.Dayjs} d Datejs object or timestamp\n * @return {number} The number of weeks\n */\n getWeeksCountInMonth(d: Timestamp | dayjs.Dayjs): number {\n const pivotDate = this.date(d);\n\n return (\n this.getLastWeekOfMonth(pivotDate).diff(\n this.getFirstWeekOfMonth(pivotDate),\n 'week',\n ) + 1\n );\n }\n\n /**\n * Return the start of the first week of the month\n *\n * @see getWeeksCountInMonth() about standard warning\n * @return {dayjs.Dayjs} A dayjs object representing the start of the\n * first week\n */\n getFirstWeekOfMonth(d: Timestamp | dayjs.Dayjs): dayjs.Dayjs {\n const startOfMonth = this.date(d).startOf('month');\n let startOfFirstWeek = startOfMonth.startOf('week');\n if (startOfMonth.weekday() > 4) {\n startOfFirstWeek = startOfFirstWeek.add(1, 'week');\n }\n\n return startOfFirstWeek;\n }\n\n /**\n * Return the end of the last week of the month\n *\n * @see getWeeksCountInMonth() about standard warning\n * @return {dayjs.Dayjs} A dayjs object representing the end of the last week\n */\n getLastWeekOfMonth(d: Timestamp | dayjs.Dayjs): dayjs.Dayjs {\n const endOfMonth = this.date(d).endOf('month');\n let endOfLastWeek = endOfMonth.endOf('week');\n if (endOfMonth.weekday() < 4) {\n endOfLastWeek = endOfLastWeek.subtract(1, 'week');\n }\n\n return endOfLastWeek;\n }\n\n date(d: Timestamp | Date | dayjs.Dayjs | string = new Date()): dayjs.Dayjs {\n if (dayjs.isDayjs(d)) {\n return d;\n }\n\n return dayjs(d)\n .tz(this.timezone)\n .utcOffset(0)\n .locale(this.locale as (typeof Ls)[0] | string);\n }\n\n format(\n timestamp: Timestamp,\n formatter: null | string | Function,\n ...args: any\n ): string | null {\n if (typeof formatter === 'function') {\n return formatter(timestamp, ...args);\n }\n\n if (typeof formatter === 'string') {\n return this.date(timestamp).format(formatter);\n }\n\n return null;\n }\n\n /**\n * Return an array of time interval\n *\n * @param {number|Date} date A random date included in the wanted interval\n * @param {number|Date} range Length of the wanted interval, or a stop date.\n * @param {boolean} range Whether the end date should be excluded\n * from the result\n * @returns {Array} Array of unix timestamp, in milliseconds\n */\n intervals(\n interval: DomainType,\n date: Timestamp | Date | dayjs.Dayjs,\n range: number | Date | dayjs.Dayjs,\n excludeEnd: boolean = true,\n ): Timestamp[] {\n let start = this.date(date);\n let end: dayjs.Dayjs;\n if (typeof range === 'number') {\n end = start.add(range, interval as ManipulateType);\n } else if (dayjs.isDayjs(range)) {\n end = range;\n } else {\n end = this.date(range);\n }\n\n start = start.startOf(interval as ManipulateType);\n\n end = end.startOf(interval as ManipulateType);\n let pivot = dayjs.min(start, end)!;\n end = dayjs.max(start, end)!;\n const result: Timestamp[] = [];\n\n if (!excludeEnd) {\n end = end.add(1, 'second');\n }\n\n do {\n result.push(+pivot);\n pivot = pivot.add(1, interval as ManipulateType);\n } while (pivot < end);\n\n return result;\n }\n\n // this function will work cross-browser for loading scripts asynchronously\n // eslint-disable-next-line class-methods-use-this\n loadBrowserLocale(userLocale: string): Promise {\n return new Promise((resolve, reject) => {\n const s = document.createElement('script');\n s.type = 'text/javascript';\n s.async = true;\n s.src = `https://cdn.jsdelivr.net/npm/dayjs@1/locale/${userLocale}.js`;\n s.onerror = (err) => {\n reject(err);\n };\n s.onload = () => {\n resolve((window as any)[`dayjs_locale_${userLocale}`]);\n };\n document.head.appendChild(s);\n });\n }\n\n // eslint-disable-next-line class-methods-use-this\n loadNodeLocale(userLocale: string): Promise {\n return import(`dayjs/locale/${userLocale}.js`);\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\nvar stringIndexOf = uncurryThis(''.indexOf);\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~stringIndexOf(\n toString(requireObjectCoercible(this)),\n toString(notARegExp(searchString)),\n arguments.length > 1 ? arguments[1] : undefined\n );\n }\n});\n","import type TemplateCollection from '../TemplateCollection';\nimport type { DomainOptions, SubDomainOptions, DataOptions } from './Options';\nimport type { DomainType } from '../index';\n\nconst ALLOWED_DATA_TYPES = ['json', 'csv', 'tsv', 'txt'];\n\n/**\n * Ensure that critical options are valid\n *\n * @throw {Error} on critical invalid options\n * @return {boolean} Returns true when there is not critical errors\n */\nexport default function validate(\n templateCollection: TemplateCollection,\n {\n domain,\n subDomain,\n data,\n }: {\n domain: Partial;\n subDomain: Partial;\n data: Partial;\n },\n): boolean {\n const domainType = domain.type as DomainType;\n const subDomainType = subDomain.type as string;\n\n if (!templateCollection.has(domainType)) {\n throw new Error(`'${domainType}' is not a valid domain type'`);\n }\n\n if (!templateCollection.has(subDomainType)) {\n throw new Error(`'${subDomainType}' is not a valid subDomain type'`);\n }\n\n if (data.type && !ALLOWED_DATA_TYPES.includes(data.type)) {\n throw new Error(`The data type '${data.type}' is not valid data type`);\n }\n\n if (\n !(templateCollection.get(subDomainType).allowedDomainType || []).includes(\n domainType,\n )\n ) {\n throw new Error(\n `The subDomain.type '${subDomainType}' can not be used together ` +\n `with the domain type ${domainType}`,\n );\n }\n\n return true;\n}\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.es/ecma262/#sec-set-objects\ncollection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","import isEqual from 'lodash-es/isEqual';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport {\n PluginDefinition,\n PluginOptions,\n IPluginContructor,\n IPlugin,\n} from '../index';\n\ntype PluginSetting = {\n options?: PluginOptions;\n dirty: boolean;\n};\n\nfunction createPlugin(\n Creator: IPluginContructor,\n calendar: CalHeatmap,\n): IPlugin {\n return new Creator(calendar);\n}\n\nfunction extractPluginName(\n PluginClass: IPluginContructor,\n options?: PluginOptions,\n): string {\n return `${new PluginClass().name}${options?.key || ''}`;\n}\n\nexport default class PluginManager {\n calendar: CalHeatmap;\n\n settings: Map;\n\n plugins: Map;\n\n pendingPaint: Set;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n this.settings = new Map();\n this.plugins = new Map();\n this.pendingPaint = new Set();\n }\n\n add(plugins: PluginDefinition[]): void {\n plugins.forEach(([PluginClass, pluginOptions]) => {\n const name = extractPluginName(PluginClass, pluginOptions);\n\n const existingPlugin = this.plugins.get(name);\n\n if (\n existingPlugin &&\n this.settings.get(name) &&\n isEqual(this.settings.get(name)!.options, pluginOptions)\n ) {\n return;\n }\n\n this.settings.set(name, {\n options: pluginOptions,\n dirty: true,\n });\n\n if (!this.plugins.has(name)) {\n this.plugins.set(name, createPlugin(PluginClass, this.calendar));\n }\n\n this.pendingPaint.add(this.plugins.get(name)!);\n });\n }\n\n setupAll(): void {\n this.plugins.forEach((pluginInstance, name) => {\n const settings = this.settings.get(name);\n\n if (typeof settings !== 'undefined') {\n if (settings.dirty) {\n pluginInstance.setup(settings.options);\n settings.dirty = false;\n\n this.settings.set(name, settings);\n }\n }\n });\n }\n\n paintAll(): Promise[] {\n return Array.from(this.pendingPaint.values()).map((p) => p.paint());\n }\n\n destroyAll(): Promise[] {\n return this.allPlugins().map((p) => p.destroy());\n }\n\n getFromPosition(position: PluginOptions['position']): IPlugin[] {\n return this.allPlugins().filter(\n (plugin) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n plugin.options?.position === position,\n );\n }\n\n getHeightFromPosition(position: PluginOptions['position']): number {\n return this.getFromPosition(position)\n .map((d) => d.options.dimensions!.height)\n .reduce((a, b) => a + b, 0);\n }\n\n getWidthFromPosition(position: PluginOptions['position']): number {\n return this.getFromPosition(position)\n .map((d) => d.options.dimensions!.width)\n .reduce((a, b) => a + b, 0);\n }\n\n allPlugins(): IPlugin[] {\n return Array.from(this.plugins.values());\n }\n}\n","import minuteTemplate from './minute';\nimport hourTemplate from './hour';\nimport dayTemplate from './day';\nimport xDayTemplate from './xDay';\nimport ghDayTemplate from './ghDay';\nimport weekTemplate from './week';\nimport monthTemplate from './month';\nimport yearTemplate from './year';\n\nexport default [\n minuteTemplate,\n hourTemplate,\n dayTemplate,\n xDayTemplate,\n ghDayTemplate,\n weekTemplate,\n monthTemplate,\n yearTemplate,\n];\n","import type { Template, DomainType } from '../index';\n\nconst minuteTemplate: Template = (DateHelper) => {\n const COLUMNS_COUNT = 10;\n const ROWS_COUNT = 6;\n const ALLOWED_DOMAIN_TYPE: DomainType[] = ['day', 'hour'];\n\n return {\n name: 'minute',\n allowedDomainType: ALLOWED_DOMAIN_TYPE,\n rowsCount: () => COLUMNS_COUNT,\n columnsCount: () => ROWS_COUNT,\n mapping: (startTimestamp, endTimestamp) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n DateHelper.intervals(\n 'minute',\n startTimestamp,\n DateHelper.date(endTimestamp),\n ).map((ts, index: number) => ({\n t: ts,\n x: Math.floor(index / COLUMNS_COUNT),\n y: index % COLUMNS_COUNT,\n })),\n extractUnit: (ts) => DateHelper.date(ts).startOf('minute').valueOf(),\n };\n};\n\nexport default minuteTemplate;\n","import type { DomainOptions } from '../options/Options';\nimport type { Template, DomainType } from '../index';\n\nconst hourTemplate: Template = (\n DateHelper,\n { domain }: { domain: DomainOptions },\n) => {\n const TOTAL_ITEMS = 24;\n const ROWS_COUNT = 6;\n const ALLOWED_DOMAIN_TYPE: DomainType[] = ['month', 'week', 'day'];\n\n return {\n name: 'hour',\n allowedDomainType: ALLOWED_DOMAIN_TYPE,\n rowsCount: () => ROWS_COUNT,\n columnsCount: (ts) => {\n switch (domain.type) {\n case 'week':\n return (TOTAL_ITEMS / ROWS_COUNT) * 7;\n case 'month':\n return (\n (TOTAL_ITEMS / ROWS_COUNT) *\n (domain.dynamicDimension ? DateHelper.date(ts).daysInMonth() : 31)\n );\n case 'day':\n default:\n return TOTAL_ITEMS / ROWS_COUNT;\n }\n },\n mapping: (startTimestamp, endTimestamp) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n DateHelper.intervals(\n 'hour',\n startTimestamp,\n DateHelper.date(endTimestamp),\n ).map((ts) => {\n const date = DateHelper.date(ts);\n const hour = date.hour();\n const monthDate = date.date();\n let baseX = Math.floor(hour / ROWS_COUNT);\n const columnOffset = TOTAL_ITEMS / ROWS_COUNT;\n\n if (domain.type === 'month') {\n baseX += (monthDate - 1) * columnOffset;\n }\n if (domain.type === 'week') {\n baseX += +date.format('d') * columnOffset;\n }\n\n return {\n t: ts,\n x: baseX,\n y: Math.floor(hour % ROWS_COUNT),\n };\n }),\n extractUnit: (ts) => DateHelper.date(ts).startOf('hour').valueOf(),\n };\n};\n\nexport default hourTemplate;\n","import type { OptionsType, DomainOptions } from '../options/Options';\nimport type { Template, DomainType } from '../index';\n\nconst dayTemplate: Template = (\n DateHelper,\n {\n domain,\n verticalOrientation,\n }: {\n domain: DomainOptions;\n verticalOrientation: OptionsType['verticalOrientation'];\n },\n) => {\n const ROWS_COUNT = 7;\n const ALLOWED_DOMAIN_TYPE: DomainType[] = ['year', 'month', 'week'];\n\n return {\n name: 'day',\n allowedDomainType: ALLOWED_DOMAIN_TYPE,\n rowsCount: () => (domain.type === 'week' ? 1 : ROWS_COUNT),\n columnsCount: (ts) => {\n switch (domain.type) {\n case 'month':\n return Math.ceil(\n domain.dynamicDimension && !verticalOrientation ?\n DateHelper.getMonthWeekNumber(\n DateHelper.date(ts).endOf('month'),\n ) :\n 6, // In rare case, when the first week contains less than 3 days\n );\n case 'year':\n return Math.ceil(\n domain.dynamicDimension ?\n DateHelper.date(ts).endOf('year').dayOfYear() / ROWS_COUNT :\n 54,\n );\n case 'week':\n default:\n return ROWS_COUNT;\n }\n },\n mapping: (startTimestamp, endTimestamp) => {\n let weekNumber = 0;\n let x = -1;\n\n return DateHelper.intervals(\n 'day',\n startTimestamp,\n DateHelper.date(endTimestamp),\n ).map((ts) => {\n const date = DateHelper.date(ts);\n\n switch (domain.type) {\n case 'month':\n x = DateHelper.getMonthWeekNumber(ts) - 1;\n break;\n case 'year':\n if (weekNumber !== date.week()) {\n weekNumber = date.week();\n x += 1;\n }\n break;\n case 'week':\n x = date.weekday();\n break;\n default:\n }\n\n return {\n t: ts,\n x,\n y: domain.type === 'week' ? 0 : date.weekday(),\n };\n });\n },\n extractUnit: (ts) => DateHelper.date(ts).startOf('day').valueOf(),\n };\n};\n\nexport default dayTemplate;\n","import type { OptionsType, DomainOptions } from '../options/Options';\nimport type { Template, DomainType } from '../index';\n\nconst dayTemplate: Template = (\n DateHelper,\n {\n domain,\n verticalOrientation,\n }: {\n domain: DomainOptions;\n verticalOrientation: OptionsType['verticalOrientation'];\n },\n) => {\n const COLUMNS_COUNT = 7;\n const ALLOWED_DOMAIN_TYPE: DomainType[] = ['year', 'month', 'week'];\n\n return {\n name: 'xDay',\n allowedDomainType: ALLOWED_DOMAIN_TYPE,\n rowsCount: (ts) => {\n switch (domain.type) {\n case 'month':\n return Math.ceil(\n domain.dynamicDimension && !verticalOrientation ?\n DateHelper.getMonthWeekNumber(\n DateHelper.date(ts).endOf('month'),\n ) :\n 6, // In rare case, when the first week contains less than 3 days\n );\n case 'year':\n return Math.ceil(\n domain.dynamicDimension ?\n DateHelper.date(ts).endOf('year').dayOfYear() / COLUMNS_COUNT :\n 54,\n );\n case 'week':\n default:\n return COLUMNS_COUNT;\n }\n },\n columnsCount: () => {\n if (domain.type === 'week') {\n return 1;\n }\n return COLUMNS_COUNT;\n },\n mapping: (startTimestamp, endTimestamp) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n DateHelper.intervals(\n 'day',\n startTimestamp,\n DateHelper.date(endTimestamp),\n ).map((ts) => {\n const date = DateHelper.date(ts);\n const endWeekNumber = date.endOf('year').week();\n let x = 0;\n\n switch (domain.type) {\n case 'month':\n x = DateHelper.getMonthWeekNumber(ts) - 1;\n break;\n case 'year':\n if (endWeekNumber === 1 && date.week() === endWeekNumber) {\n x = date.subtract(1, 'week').week() + 1;\n }\n\n x = date.week() - 1;\n break;\n case 'week':\n x = date.weekday();\n break;\n default:\n }\n\n return {\n t: ts,\n y: x,\n x: domain.type === 'week' ? 0 : date.weekday(),\n };\n }),\n extractUnit: (ts) => DateHelper.date(ts).startOf('day').valueOf(),\n };\n};\n\nexport default dayTemplate;\n","import type { Template, DomainType } from '../index';\n\nconst dayTemplate: Template = (DateHelper) => {\n const ROWS_COUNT = 7;\n const ALLOWED_DOMAIN_TYPE: DomainType[] = ['month'];\n\n return {\n name: 'ghDay',\n allowedDomainType: ALLOWED_DOMAIN_TYPE,\n rowsCount: () => ROWS_COUNT,\n columnsCount: (ts) => DateHelper.getWeeksCountInMonth(ts),\n mapping: (startTimestamp, endTimestamp) => {\n const clampStart = DateHelper.getFirstWeekOfMonth(startTimestamp);\n const clampEnd = DateHelper.getFirstWeekOfMonth(endTimestamp);\n\n let x = -1;\n const pivotDay = clampStart.weekday();\n\n return DateHelper.intervals('day', clampStart, clampEnd).map((ts) => {\n const weekday = DateHelper.date(ts).weekday();\n if (weekday === pivotDay) {\n x += 1;\n }\n\n return {\n t: ts,\n x,\n y: weekday,\n };\n });\n },\n extractUnit: (ts) => DateHelper.date(ts).startOf('day').valueOf(),\n };\n};\n\nexport default dayTemplate;\n","import type { DomainOptions } from '../options/Options';\nimport type { Template, DomainType } from '../index';\n\nconst weekTemplate: Template = (\n DateHelper,\n { domain }: { domain: DomainOptions },\n) => {\n const ALLOWED_DOMAIN_TYPE: DomainType[] = ['year', 'month'];\n\n return {\n name: 'week',\n allowedDomainType: ALLOWED_DOMAIN_TYPE,\n rowsCount: () => 1,\n columnsCount: (ts) => {\n switch (domain.type) {\n case 'year':\n return domain.dynamicDimension ?\n DateHelper.date(ts).endOf('year').isoWeeksInYear() :\n 53;\n case 'month':\n return domain.dynamicDimension ?\n DateHelper.getWeeksCountInMonth(ts) :\n 5;\n default:\n return 1;\n }\n },\n mapping: (startTimestamp, endTimestamp) => {\n const clampStart = DateHelper.getFirstWeekOfMonth(startTimestamp);\n const clampEnd = DateHelper.getFirstWeekOfMonth(endTimestamp);\n\n return DateHelper.intervals('week', clampStart, clampEnd).map(\n (ts, i) => ({\n t: ts,\n x: i,\n y: 0,\n }),\n );\n },\n extractUnit: (ts) => DateHelper.date(ts).startOf('week').valueOf(),\n };\n};\n\nexport default weekTemplate;\n","import type { Template, DomainType } from '../index';\n\nconst monthTemplate: Template = (DateHelper) => {\n const ALLOWED_DOMAIN_TYPE: DomainType[] = ['year'];\n\n return {\n name: 'month',\n allowedDomainType: ALLOWED_DOMAIN_TYPE,\n rowsCount: () => 1,\n columnsCount: () => 12,\n mapping: (startTimestamp, endTimestamp) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n DateHelper.intervals(\n 'month',\n startTimestamp,\n DateHelper.date(endTimestamp),\n ).map((ts) => ({\n t: ts,\n x: DateHelper.date(ts).month(),\n y: 0,\n })),\n extractUnit: (ts) => DateHelper.date(ts).startOf('month').valueOf(),\n };\n};\n\nexport default monthTemplate;\n","import type { Template, DomainType } from '../index';\n\nconst yearTemplate: Template = (DateHelper) => {\n const ALLOWED_DOMAIN_TYPE: DomainType[] = [];\n\n return {\n name: 'year',\n allowedDomainType: ALLOWED_DOMAIN_TYPE,\n rowsCount: () => 1,\n columnsCount: () => 1,\n mapping: (startTimestamp, endTimestamp) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n DateHelper.intervals(\n 'year',\n startTimestamp,\n DateHelper.date(endTimestamp),\n ).map((ts, index) => ({\n t: ts,\n x: index,\n y: 0,\n })),\n extractUnit: (ts) => DateHelper.date(ts).startOf('year').valueOf(),\n };\n};\n\nexport default yearTemplate;\n","import castArray from 'lodash-es/castArray';\n\nimport DefaultTemplates from './templates/index';\nimport type Options from './options/Options';\nimport type { Template, TemplateResult } from './index';\nimport type DateHelper from './helpers/DateHelper';\n\nexport default class TemplateCollection {\n dateHelper: DateHelper;\n\n options: Options;\n\n settings: Map;\n\n // Whether the default templates has been initiated\n initiated: boolean;\n\n constructor(dateHelper: DateHelper, options: Options) {\n this.settings = new Map();\n this.dateHelper = dateHelper;\n this.options = options;\n this.initiated = false;\n }\n\n get(subDomainType: string): TemplateResult {\n return this.settings.get(subDomainType)!;\n }\n\n has(subDomainType: string): boolean {\n return this.settings.has(subDomainType);\n }\n\n init() {\n if (!this.initiated) {\n this.initiated = true;\n this.add(DefaultTemplates);\n }\n }\n\n add(templates: Template | Template[]) {\n this.init();\n\n const tplWithParent: string[] = [];\n castArray(templates).forEach((f) => {\n const template = f(this.dateHelper, this.options.options);\n this.settings.set(template.name, template);\n\n if (template.hasOwnProperty('parent')) {\n tplWithParent.push(template.name);\n }\n });\n\n tplWithParent.forEach((name) => {\n const parentTemplate = this.settings.get(\n this.settings.get(name)!.parent!,\n );\n\n if (!parentTemplate) {\n return;\n }\n\n this.settings.set(name, {\n ...parentTemplate,\n ...this.settings.get(name),\n });\n });\n }\n}\n","import EventEmmiter from 'eventemitter3';\nimport castArray from 'lodash-es/castArray';\nimport type { PluginFunc } from 'dayjs';\nimport type dayjs from 'dayjs';\n\nimport Navigator from './calendar/Navigator';\nimport CalendarPainter from './calendar/CalendarPainter';\nimport Populator from './calendar/Populator';\nimport Options from './options/Options';\nimport DataFetcher from './DataFetcher';\nimport DomainCollection from './calendar/DomainCollection';\nimport DateHelper from './helpers/DateHelper';\nimport validate from './options/OptionsValidator';\nimport PluginManager from './plugins/PluginManager';\nimport VERSION from './version';\n\nimport './cal-heatmap.scss';\n\nimport TemplateCollection from './TemplateCollection';\n\nimport type { OptionsType } from './options/Options';\nimport type {\n Template,\n Dimensions,\n PluginDefinition,\n Timestamp,\n} from './index';\n\nimport { ScrollDirection } from './constant';\n\nexport default class CalHeatmap {\n static VERSION = VERSION;\n\n options: Options;\n\n calendarPainter: CalendarPainter;\n\n populator: Populator;\n\n navigator: Navigator;\n\n eventEmitter: EventEmmiter;\n\n dataFetcher: DataFetcher;\n\n domainCollection!: DomainCollection;\n\n templateCollection: TemplateCollection;\n\n dateHelper: DateHelper;\n\n pluginManager: PluginManager;\n\n constructor() {\n // Default options\n this.options = new Options();\n\n // Init the helpers with the default options\n this.dateHelper = new DateHelper();\n this.templateCollection = new TemplateCollection(\n this.dateHelper,\n this.options,\n );\n this.dataFetcher = new DataFetcher(this);\n this.navigator = new Navigator(this);\n this.populator = new Populator(this);\n\n this.calendarPainter = new CalendarPainter(this);\n this.eventEmitter = new EventEmmiter();\n this.pluginManager = new PluginManager(this);\n }\n\n createDomainCollection(\n startDate: Timestamp | Date,\n range: number | Date,\n excludeEnd: boolean = true,\n ): DomainCollection {\n return new DomainCollection(\n this.dateHelper,\n this.options.options.domain.type,\n startDate,\n range,\n excludeEnd,\n );\n }\n\n // =========================================================================\n // PUBLIC API\n // =========================================================================\n\n /**\n * Setup and paint the calendar with the given options\n *\n * @param {Object} options The Options object\n * @return A Promise, which will fulfill once all the underlying asynchronous\n * tasks settle, whether resolved or rejected.\n */\n async paint(\n options?: CalHeatmap.DeepPartial,\n plugins?: PluginDefinition[] | PluginDefinition,\n ): Promise {\n this.options.init(options);\n await this.dateHelper.setup(this.options);\n\n this.templateCollection.init();\n\n try {\n validate(this.templateCollection, this.options.options);\n } catch (error) {\n return Promise.reject(error);\n }\n\n if (plugins) {\n this.pluginManager.add(castArray(plugins as any) as PluginDefinition[]);\n }\n\n this.calendarPainter.setup();\n\n // Record all the valid domains\n // Each domain value is a timestamp in milliseconds\n this.domainCollection = new DomainCollection(this.dateHelper);\n this.navigator.loadNewDomains(\n this.createDomainCollection(\n this.options.options.date.start,\n this.options.options.range,\n ),\n );\n\n return Promise.allSettled([this.calendarPainter.paint(), this.fill()]);\n }\n\n /**\n * Add a new subDomainTemplate\n *\n * @since 4.0.0\n * @param {SubDomainTemplate[] | SubDomainTemplate} templates\n * A single, or an array of SubDomainTemplate object\n * @return void\n */\n addTemplates(templates: Template | Template[]): void {\n this.templateCollection.add(templates);\n }\n\n /**\n * Shift the calendar by n domains forward\n *\n * @param {number} n Number of domain intervals to shift forward\n * @return A Promise, which will fulfill once all the underlying asynchronous\n * tasks settle, whether resolved or rejected.\n */\n next(n: number = 1): Promise {\n const loadDirection = this.navigator.loadNewDomains(\n this.createDomainCollection(this.domainCollection.max, n + 1).slice(n),\n ScrollDirection.SCROLL_FORWARD,\n );\n\n return Promise.allSettled([\n this.calendarPainter.paint(loadDirection),\n this.fill(),\n ]);\n }\n\n /**\n * Shift the calendar by n domains backward\n *\n * @param {number} n Number of domain intervals to shift backward\n * @return A Promise, which will fulfill once all the underlying asynchronous\n * tasks settle, whether resolved or rejected.\n */\n previous(n: number = 1): Promise {\n const loadDirection = this.navigator.loadNewDomains(\n this.createDomainCollection(this.domainCollection.min, -n),\n ScrollDirection.SCROLL_BACKWARD,\n );\n\n return Promise.allSettled([\n this.calendarPainter.paint(loadDirection),\n this.fill(),\n ]);\n }\n\n /**\n * Jump directly to a specific date\n *\n * JumpTo will scroll the calendar until the wanted domain with the specified\n * date is visible. Unless you set reset to true, the wanted domain\n * will not necessarily be the first domain of the calendar.\n *\n * @param {Date} date Jump to the domain containing that date\n * @param {boolean} reset Whether the wanted domain\n * should be the first domain of the calendar\n * @return A Promise, which will fulfill once all the underlying asynchronous\n * tasks settle, whether resolved or rejected.\n */\n jumpTo(date: Date, reset: boolean = false): Promise {\n return Promise.allSettled([\n this.calendarPainter.paint(this.navigator.jumpTo(date, reset)),\n this.fill(),\n ]);\n }\n\n /**\n * Fill the calendar with the given data\n *\n * @param {Object|string} dataSource The calendar's datasource,\n * same type as `options.data.source`\n * @return A Promise, which will fulfill once all the underlying asynchronous\n * tasks settle, whether resolved or rejected.\n */\n fill(dataSource = this.options.options.data.source): Promise {\n const { options } = this.options;\n const template = this.templateCollection;\n const endDate = this.dateHelper.intervals(\n options.domain.type,\n this.domainCollection.max,\n 2,\n )[1];\n\n const dataPromise = this.dataFetcher.getDatas(\n dataSource,\n this.domainCollection.min,\n endDate,\n );\n\n return new Promise((resolve, reject) => {\n dataPromise.then(\n (data: any) => {\n this.domainCollection.fill(\n data,\n options.data,\n template.get(options.subDomain.type)!.extractUnit,\n );\n this.populator.populate();\n resolve(null);\n },\n (error) => {\n reject(error);\n },\n );\n });\n }\n\n /**\n * Listener for all events\n *\n * @since 4.0.0\n * @param {string} eventName Name of the event to listen to\n * @param {function} Callback function to execute on event trigger\n * @return void\n */\n on(name: string, fn: (...args: any[]) => any): void {\n this.eventEmitter.on(name, fn);\n }\n\n dimensions(): Dimensions {\n return this.calendarPainter.dimensions;\n }\n\n /**\n * Destroy the calendar\n *\n * @since 3.3.6\n * @return A Promise, which will fulfill once all the underlying asynchronous\n * tasks settle, whether resolved or rejected.\n */\n destroy(): Promise {\n return this.calendarPainter.destroy();\n }\n\n extendDayjs(plugin: PluginFunc): dayjs.Dayjs {\n return this.dateHelper.extend(plugin);\n }\n}\n","const VERSION = '4.2.4';\nexport default VERSION;\n"],"names":["check","it","Math","global","globalThis","window","self","this","Function","shared$4","exports","require$$0","defineProperty","Object","defineGlobalProperty","key","value","configurable","writable","error","require$$1","SHARED","sharedStore","store","sharedModule","undefined","push","version","mode","copyright","license","source","match","fails","exec","functionBindNative","test","bind","hasOwnProperty","NATIVE_BIND","FunctionPrototype","prototype","call","uncurryThisWithBind","functionUncurryThis","fn","apply","arguments","isNullOrUndefined","$TypeError","TypeError","requireObjectCoercible","$Object","toObject","argument","hasOwnProperty_1","hasOwn","uncurryThis","id","postfix","random","toString","uid","engineUserAgent","navigator","String","userAgent","process","Deno","versions","v8","split","engineV8Version","V8_VERSION","$String","require$$2","symbolConstructorDetection","getOwnPropertySymbols","symbol","Symbol","sham","useSymbolAsUid","iterator","shared","require$$3","NATIVE_SYMBOL","require$$4","USE_SYMBOL_AS_UID","require$$5","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","wellKnownSymbol","name","toStringTagSupport","documentAll","document","all","documentAll_1","IS_HTMLDDA","isCallable","objectDefineProperty","descriptors","get","isObject","EXISTS","createElement","documentCreateElement","ie8DomDefine","a","v8PrototypeDefineBug","anObject","functionCall","getBuiltIn","namespace","method","length","objectIsPrototypeOf","isPrototypeOf","isSymbol","$Symbol","tryToString","aCallable","getMethod","V","P","func","ordinaryToPrimitive","input","pref","val","valueOf","TO_PRIMITIVE","toPrimitive","result","exoticToPrim","toPropertyKey","DESCRIPTORS","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","$defineProperty","$getOwnPropertyDescriptor","getOwnPropertyDescriptor","ENUMERABLE","CONFIGURABLE","WRITABLE","f","O","Attributes","current","enumerable","makeBuiltIn$3","getDescriptor","functionName","PROPER","functionToString","inspectSource","set","has","WeakMap","weakMapBasicDetection","createPropertyDescriptor","bitmap","definePropertyModule","createNonEnumerableProperty","object","keys","sharedKey","hiddenKeys","NATIVE_WEAK_MAP","require$$6","require$$7","OBJECT_ALREADY_INITIALIZED","state","metadata","facade","STATE","internalState","enforce","getterFor","TYPE","type","CONFIGURABLE_FUNCTION_NAME","enforceInternalState","getInternalState","stringSlice","slice","replace","join","CONFIGURABLE_LENGTH","TEMPLATE","makeBuiltIn","makeBuiltInModule","options","getter","setter","arity","constructor","defineBuiltIn","simple","unsafe","nonConfigurable","nonWritable","classofRaw","TO_STRING_TAG_SUPPORT","TO_STRING_TAG","CORRECT_ARGUMENTS","classof","tag","tryGet","callee","objectGetOwnPropertyDescriptor","objectPropertyIsEnumerable","$propertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","descriptor","indexedObject","IndexedObject","toIndexedObject","propertyIsEnumerableModule","objectGetOwnPropertyNames","ceil","floor","trunc","x","n","toIntegerOrInfinity","number","max","min","toAbsoluteIndex","index","integer","toLength","lengthOfArrayLike","obj","createMethod","IS_INCLUDES","$this","el","fromIndex","arrayIncludes","includes","indexOf","objectKeysInternal","names","i","enumBugKeys","internalObjectKeys","concat","getOwnPropertyNames","objectGetOwnPropertySymbols","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","ownKeys","getOwnPropertyDescriptorModule","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","toLowerCase","isForced_1","copyConstructorProperties","target","exceptions","_export","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","forced","engineIsNode","uncurryThisAccessor","aPossiblePrototype","objectSetPrototypeOf","setPrototypeOf","CORRECT_SETTER","Array","proto","__proto__","setToStringTag","TAG","defineBuiltInAccessor","SPECIES","setSpecies","CONSTRUCTOR_NAME","Constructor","anInstance","Prototype","noop","empty","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","$location","defer","channel","port","isConstructor","called","aConstructor","functionApply","Reflect","functionUncurryThisClause","functionBindContext","that","html","arraySlice","engineIsIos","require$$8","validateArgumentsLength","passed","required","IS_IOS","require$$10","IS_NODE","require$$11","setImmediate","clear","clearImmediate","Dispatch","MessageChannel","counter","queue","ONREADYSTATECHANGE","location","run","runner","eventListener","event","globalPostMessageDefer","postMessage","protocol","host","handler","args","nextTick","now","port2","port1","onmessage","addEventListener","importScripts","appendChild","removeChild","setTimeout","task","Queue","head","tail","add","item","entry","next","notify","toggle","node","promise","then","engineIsIosPebble","Pebble","engineIsWebosWebkit","macrotask","IS_IOS_PEBBLE","IS_WEBOS_WEBKIT","MutationObserver","WebKitMutationObserver","Promise","queueMicrotaskDescriptor","microtask","flush","parent","domain","exit","enter","resolve","createTextNode","observe","characterData","microtask_1","perform","promiseNativeConstructor","engineIsDeno","engineIsBrowser","NativePromiseConstructor","IS_BROWSER","IS_DENO","require$$9","SUBCLASSING","NATIVE_PROMISE_REJECTION_EVENT","PromiseRejectionEvent","FORCED_PROMISE_CONSTRUCTOR","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","FakePromise","promiseConstructorDetection","CONSTRUCTOR","REJECTION_EVENT","newPromiseCapability$2","PromiseCapability","C","reject","$$resolve","$$reject","newPromiseCapability","Internal","OwnPromiseCapability","nativeThen","$","require$$12","speciesConstructor","defaultConstructor","S","require$$14","require$$15","hostReportErrors","b","console","require$$17","require$$18","InternalStateModule","require$$19","require$$20","newPromiseCapabilityModule","require$$22","PROMISE","require$$21","NATIVE_PROMISE_SUBCLASSING","getInternalPromiseState","setInternalState","NativePromisePrototype","PromiseConstructor","PromisePrototype","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","isThenable","callReaction","reaction","exited","ok","fail","rejection","onHandleUnhandled","isReject","notified","reactions","onUnhandled","reason","initEvent","isUnhandled","emit","unwrap","internalReject","done","internalResolve","wrapper","executor","onFulfilled","onRejected","PromiseWrapper","wrap","iterators","Iterators","ITERATOR","ArrayPrototype","isArrayIteratorMethod","getIteratorMethod","getIterator","usingIterator","iteratorMethod","iteratorClose","kind","innerResult","innerError","Result","stopped","ResultPrototype","iterate","iterable","unboundFunction","iterFn","step","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","stop","condition","callFn","SAFE_CLOSING","iteratorWithReturn","return","from","checkCorrectnessOfIteration","SKIP_CLOSING","ITERATION_SUPPORT","promiseStaticsIncorrectIteration","capability","$promiseResolve","values","remaining","alreadyCalled","real","catch","race","r","promiseResolve","promiseCapability","objectDefineProperties","objectKeys","defineProperties","Properties","props","activeXDocument","definePropertiesModule","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","JS","style","display","src","contentWindow","open","F","objectCreate","create","UNSCOPABLES","IteratorPrototype","PrototypeOfArrayIteratorPrototype","arrayIterator","addToUnscopables","correctPrototypeGetter","getPrototypeOf","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","objectGetPrototypeOf","BUGGY_SAFARI_ITERATORS","NEW_ITERATOR_PROTOTYPE","iteratorsCore","returnThis","createIteratorConstructor","IteratorConstructor","NAME","ENUMERABLE_NEXT","PROPER_FUNCTION_NAME","require$$13","KEYS","VALUES","ENTRIES","iteratorDefine","Iterable","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","createIterResultObject","defineIterator","ARRAY_ITERATOR","es_array_iterator","iterated","Arguments","allSettled","status","charAt","charCodeAt","CONVERT_TO_STRING","pos","first","second","position","size","stringMultibyte","codeAt","STRING_ITERATOR","point","domIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","classList","DOMTokenListPrototype","domTokenListPrototype","DOMIterables","ArrayIteratorMethods","ArrayValues","handlePrototype","CollectionPrototype","COLLECTION_NAME","METHOD_NAME","fill","argumentsLength","end","endPos","isArray","createProperty","propertyKey","arrayMethodHasSpeciesSupport","array","foo","Boolean","nativeSlice","HAS_SPECIES_SUPPORT","$Array","__awaiter","thisArg","_arguments","generator","fulfilled","e","rejected","__classPrivateFieldGet","receiver","start","k","fin","prefix","Events","EE","context","once","addListener","emitter","listener","evt","_events","_eventsCount","clearEvent","EventEmitter","eventNames","events","listeners","handlers","l","ee","listenerCount","a1","a2","a3","a4","a5","len","removeListener","j","on","removeAllListeners","off","prefixed","module","isArray$3","castArray","arraySpeciesConstructor","originalArray","arraySpeciesCreate","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","callbackfn","specificCreate","boundFunction","arrayIteration","forEach","map","filter","some","every","find","findIndex","filterReject","$map","$assign","assign","objectAssign","A","B","alphabet","chr","T","internalMetadata","objectGetOwnPropertyNamesExternal","arraySliceSimple","$getOwnPropertyNames","windowNames","getWindowNames","arrayBufferNonExtensible","ArrayBuffer","buffer","isExtensible","ARRAY_BUFFER_NON_EXTENSIBLE","$isExtensible","objectIsExtensible","freezing","preventExtensions","getOwnPropertyNamesExternalModule","FREEZING","REQUIRED","METADATA","setMetadata","objectID","weakData","meta","internalMetadataModule","enable","splice","fastKey","getWeakData","onFreeze","InternalMetadataModule","inheritIfRequired","dummy","Wrapper","NewTarget","NewTargetPrototype","collection","common","IS_WEAK","ADDER","NativeConstructor","NativePrototype","exported","fixMethod","uncurriedNativeMethod","getConstructor","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","setStrong","defineBuiltIns","internalStateGetterFor","uncaughtFrozenStore","frozen","UncaughtFrozenStore","findUncaughtFrozen","delete","ScrollDirection","Position","collectionWeak","define","init","SCALE_BASE_OPACITY_COLOR","SCALE_BASE_COLOR_DOMAIN","Navigator","calendar","_classCallCheck","maxDomainReached","minDomainReached","_createClass","newDomainCollection","_this","direction","SCROLL_NONE","templatesClt","templateCollection","minDate","date","extractUnit","maxDate","domainCollection","_Navigator_instances","_Navigator_isDomainBoundaryReached","clamp","range","SCROLL_FORWARD","merge","domainKey","subDomainEndDate","at","dateHelper","intervals","pop","subDomain","mapping","d","v","defaultValue","_Navigator_setDomainsBoundaryReached","SCROLL_BACKWARD","eventEmitter","reset","_this$calendar","Date","loadNewDomains","createDomainCollection","WeakSet","lowerBound","upperBound","reached","doesNotExceedSafeInteger","IS_CONCAT_SPREADABLE","IS_CONCAT_SPREADABLE_SUPPORT","isConcatSpreadable","spreadable","arg","E","arrayMethodIsStrict","nativeJoin","separator","collectionStrong","last","previous","getEntry","removed","prev","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","mergeSort","comparefn","middle","insertionSort","element","left","right","llength","rlength","lindex","rindex","arraySort","firefox","engineFfVersion","engineIsIeOrEdge","webkit","engineWebkitVersion","deletePropertyOrThrow","internalSort","FF","IE_OR_EDGE","V8","WEBKIT","nativeSort","sort","FAILS_ON_UNDEFINED","FAILS_ON_NULL","STRICT_METHOD","STABLE_SORT","code","fromCharCode","itemsLength","items","arrayLength","y","getSortCompare","$forEach","arrayForEach","isVertical","horizontalPadding","padding","LEFT","RIGHT","verticalPadding","TOP","BOTTOM","DomainCoordinates","domainPainter","Map","scrollDirection","_this$calendar$option","verticalOrientation","dimensions","width","height","exitingTotal","scrollFactor","reverse","yankedDomains","coor","w","_DomainCoordinates_instances","_DomainCoordinates_getWidth","h","_DomainCoordinates_getHeight","pre_x","pre_y","inner_width","gutter","inner_height","_this$calendar$option2","columnsCount","subDomainWidth","domainHorizontalLabelWidth","_this$calendar$option3","rowsCount","subDomainHeight","domainVerticalLabelHeight","DEFAULT_SELECTOR","DomainPainter","coordinates","root","rootNode","animationDuration","t","transition","duration","update","promises","selectAll","append","attr","enterSelection","updateSelection","exitSelection","remove","classname","helper","hour","format","week","month","year","$includes","$filter","callWithSafeIterationClosing","arrayLike","IS_CONSTRUCTOR","mapfn","DOMAIN_FORMAT","xDay","ghDay","day","minute","DomainCollection","interval","excludeEnd","ts","_DomainCollection_instances","_DomainCollection_refreshKeys","callback","newCollection","limit","createValueCallback","_this2","keyToRemove","_this3","fromBeginning","_ref","subDomainKeyExtractor","_this4","groupY","groupedRecords","groupRecords","records","_DomainCollection_setSubDomainValues","_this5","results","validSubDomainTimestamp","timestamp","extractTimestamp","groupFn","cleanedValues","reduce","_toConsumableArray","datum","extractorFn","_this6","groupValues","_DomainCollection_extractValues","parseInt","DomainLabelPainter","label","text","textAlign","_DomainLabelPainter_instances","_DomainLabelPainter_textVerticalAlign","nodes","selection","_DomainLabelPainter_domainRotate","rotate","_this$calendar$option4","offset","_DomainLabelPainter_getDomainInsideWidth","_this$calendar$option5","_this$calendar$option6","_this$calendar$option7","_DomainLabelPainter_getDomainInsideHeight","_this$calendar$option8","calendarPainter","domainsContainerPainter","_this$calendar$option9","_this$calendar$option10","_this$calendar$option11","labelWidth","domainWidth","domainHeight","s","whitespaces","ltrim","RegExp","rtrim","stringTrim","trim","$trim","forcedStringTrimMethod","SubDomainPainter","containerClassname","subDomainSvgGroup","_SubDomainPainter_instances","_SubDomainPainter_setPositions","radius","subDomainsCollection","abs","insert","_SubDomainPainter_classname","ev","_SubDomainPainter_appendText","_options$domain","highlight","unitFn","_len","otherClasses","_key","elem","_SubDomainPainter_getCoordinates","axis","BASE_SELECTOR","TRANSITION_CLASSNAME","DomainsContainerPainter","subDomainPainter","domainLabelPainter","transitionsQueueCount","_DomainsContainerPainter_instances","_DomainsContainerPainter_startAnimation","paint","_DomainsContainerPainter_recomputeDimensions","_DomainsContainerPainter_endAnimation","_a","topHeight","pluginManager","getHeightFromPosition","leftWidth","getWidthFromPosition","select","parentNode","classed","domainsDimensions","PluginPainter","paintAll","setPluginsPosition","top","getFromPosition","bottom","topOffset","plugin","leftOffset","CalendarPainter","pluginPainter","itemSelector","theme","setup","setupAll","navigationDir","transitions","updatePosition","_CalendarPainter_instances","_CalendarPainter_resize","destroyAll","destroy","insideHeight","_CalendarPainter_getWidth","insideWidth","newWidth","newHeight","freeGlobal$1","freeSelf","root$1","freeGlobal","Symbol$2","objectProto","nativeObjectToString","symToStringTag","toStringTag","nullTag","undefinedTag","baseGetTag","isOwn","unmasked","getRawTag","objectToString","asyncTag","funcTag","genTag","proxyTag","isFunction","nativeKeys","MATCH","isRegExp","notARegexp","correctIsRegexpLogic","regexp","error1","error2","notARegExp","correctIsRegExpLogic","nativeStartsWith","startsWith","CORRECT_IS_REGEXP_LOGIC","searchString","search","IE_BUG","TO_ENTRIES","IE_WORKAROUND","$entries","defined","Number","isNaN","ascendingDefined","ascending","finite","isFinite","NaN","positive","negative","re","parse","fallback","timeIntervals","timeSecond","timeMinute","timeHour","timeDay","timeWeek","timeMonth","timeYear","timeMonday","timeTuesday","timeWednesday","timeThursday","timeFriday","timeSaturday","timeSunday","utcIntervals","utcSecond","utcMinute","utcHour","utcDay","utcWeek","utcMonth","utcYear","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","utcSunday","maybeTimeInterval","Error","maybeUtcInterval","TypedArray","Uint8Array","constant","coerceNumbers","coerceNumber","Float64Array","coerceDates","coerceDate","isoParse","arrayify","isScaleOptions","option","maybeInterval","isInteger","lo","hi","rangei","maybeRangeInterval","isOrdinal","isTemporal","isTemporalString","isNumericString","orderof","descending","color","opacity","registry","sqrt4_3","sqrt","symbolHexagon","draw","rx","PI","ry","hy","moveTo","lineTo","closePath","symbols","symbolAsterisk","symbolCircle","symbolCross","symbolDiamond","symbolDiamond2","symbolPlus","symbolSquare","symbolSquare2","symbolStar","symbolTimes","symbolTriangle","symbolTriangle2","symbolWye","maybeSymbol","isSymbolObject","warn","message","ordinalSchemes","schemeAccent","schemeCategory10","schemeDark2","schemePaired","schemePastel1","schemePastel2","schemeSet1","schemeSet2","schemeSet3","schemeTableau10","scheme11","schemeBrBG","interpolateBrBG","schemePRGn","interpolatePRGn","schemePiYG","interpolatePiYG","schemePuOr","interpolatePuOr","schemeRdBu","interpolateRdBu","schemeRdGy","interpolateRdGy","schemeRdYlBu","interpolateRdYlBu","schemeRdYlGn","interpolateRdYlGn","schemeSpectral","interpolateSpectral","scheme11r","scheme9","schemeBlues","interpolateBlues","schemeGreens","interpolateGreens","schemeGreys","interpolateGreys","schemeOranges","interpolateOranges","schemePurples","interpolatePurples","schemeReds","interpolateReds","schemei","interpolateTurbo","interpolateViridis","interpolateMagma","interpolateInferno","interpolatePlasma","interpolateCividis","interpolateCubehelixDefault","interpolateWarm","interpolateCool","schemeBuGn","interpolateBuGn","schemeBuPu","interpolateBuPu","schemeGnBu","interpolateGnBu","schemeOrRd","interpolateOrRd","schemePuBu","interpolatePuBu","schemePuBuGn","interpolatePuBuGn","schemePuRd","interpolatePuRd","schemeRdPu","interpolateRdPu","schemeYlGn","interpolateYlGn","schemeYlGnBu","interpolateYlGnBu","schemeYlOrBr","interpolateYlOrBr","schemeYlOrRd","interpolateYlOrRd","schemeicyclical","interpolateRainbow","interpolateSinebow","scheme","interpolate","quantize","ordinalScheme","ordinalRange","quantitativeSchemes","quantitativeScheme","divergingSchemes","Set","isDivergingScheme","flip","unit","interpolators","interpolateNumber","interpolateRgb","interpolateHsl","interpolateHcl","interpolateLab","maybeInterpolator","createScaleQ","scale","channels","nice","zero","inferAutoDomain","unknown","round","inferRadialRange","inferLengthRange","interpolateRound","_","interpolatePiecewise","extent","sign","reverseof","maybeNiceInterval","maybeNice","createScalePow","exponent","scalePow","createScaleThreshold","isOrdered","scaleThreshold","inferDomain","inferZeroDomain","hint","h25","quantile","h50","median","inferLogDomain","inferQuantileDomain","createScaleD","transform","pivot","symmetric","piecewise","mid","mindelta","maxdelta","invert","interpolator","createScaleDivergingPow","scaleDivergingPow","transformSqrt","pow","transformPow","createScaleDivergingSymlog","scaleDivergingSymlog","log1p","expm1","transformSymlog","transformIdentity","transformLog","log","exp","createScaleT","ordinalImplicit","createScaleO","createScaleOrdinal","inferHint","stroke","inferSymbolHint","isNone","symbolsStroke","symbolsFill","inferSymbolRange","maybeBooleanRange","t0","scaleImplicit","scaleOrdinal","maybeRound","InternSet","candidate","normalizeScale","projection","typeProjection","asOrdinalType","inferScaleType","isOrdinalScale","formatScaleType","coerceType","coerceSymbols","scaleDiverging","createScaleDiverging","createScaleDivergingSqrt","base","scaleDivergingLog","createScaleDivergingLog","scaleLinear","createScaleLinear","createScaleSqrt","quantiles","scaleQuantile","createScaleQuantile","thresholds","ticks","createScaleQuantize","scaleLog","createScaleLog","scaleSymlog","createScaleSymlog","scaleUtc","createScaleUtc","scaleTime","createScaleTime","align","scalePoint","createScalePoint","paddingInner","paddingOuter","scaleBand","createScaleBand","scaleIdentity","createScale","description","coerceValues","c","exposeScale","percent","bandwidth","normalizedScale","scaleOptions","scaleType","applyScaleStyle","_scale","keyname","styles","baseColor","scaleStyle","_ref2","_slicedToArray","prop","Populator","_calendar$options$opt","colorScale","defaultColor","hcl","eq","other","assocIndexOf","ListCache","__data__","coreJsData$1","maskSrcKey","coreJsData","funcToString","toSource","reIsHostCtor","funcProto","reIsNative","baseIsNative","getNative","getValue","Map$2","nativeCreate$1","Hash","getMapData","MapCache","nativeCreate","hash","Stack","pairs","LARGE_ARRAY_SIZE","defineProperty$1","baseAssignValue","assignMergeValue","fromRight","baseFor","iteratee","keysFunc","baseFor$1","freeExports","nodeType","freeModule","Buffer","allocUnsafe","Uint8Array$2","cloneTypedArray","typedArray","isDeep","arrayBuffer","byteLength","byteOffset","baseCreate$1","overArg","getPrototype$1","isPrototype","Ctor","isObjectLike","baseIsArguments","isArguments","isArguments$1","MAX_SAFE_INTEGER","isLength","isArrayLike","isBuffer$1","isBuffer","objectTag","objectCtorString","typedArrayTags","freeProcess","nodeUtil","types","require","binding","nodeIsTypedArray","isTypedArray","isTypedArray$1","safeGet","assignValue","objValue","reIsUint","isIndex","arrayLikeKeys","inherited","isArr","isArg","isBuff","isType","skipIndexes","baseTimes","baseKeysIn","nativeKeysIn","isProto","keysIn","toPlainObject","customizer","isNew","newValue","copyObject","baseMergeDeep","srcIndex","mergeFunc","stack","srcValue","stacked","isCommon","isTyped","copyArray","copy","cloneBuffer","getPrototype","isPlainObject","baseCreate","initCloneObject","baseMerge","identity","nativeMax","baseSetToString","baseSetToString$1","nativeNow","setToString","count","lastCalled","stamp","shortOut","setToString$1","baseRest","otherArgs","overRest","assigner","mergeWith","sources","guard","isIterateeCall","mergeWith$1","SetCache","arraySome","predicate","COMPARE_PARTIAL_FLAG","COMPARE_UNORDERED_FLAG","equalArrays","bitmask","equalFunc","isPartial","arrLength","othLength","arrStacked","othStacked","seen","arrValue","othValue","compared","othIndex","mapToArray","setToArray","boolTag","dateTag","errorTag","mapTag","numberTag","regexpTag","setTag","stringTag","symbolTag","arrayBufferTag","dataViewTag","symbolProto","symbolValueOf","nativeGetSymbols","getSymbols","resIndex","arrayFilter","getSymbols$1","nativeKeys$1","baseKeys","getAllKeys","symbolsFunc","arrayPush","baseGetAllKeys","DataView$1","Promise$2","Set$2","WeakMap$1","promiseTag","weakMapTag","dataViewCtorString","DataView","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","getTag","ctorString","getTag$1","argsTag","arrayTag","baseIsEqualDeep","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","convert","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","objProps","objLength","objStacked","skipCtor","objCtor","othCtor","equalObjects","baseIsEqual","isEqual","baseHas","reIsDeepProp","reIsPlainProp","FUNC_ERROR_TEXT","memoize","resolver","memoized","cache","Cache","rePropName","reEscapeChar","stringToPath","memoizeCapped","quote","subString","stringToPath$1","INFINITY","symbolToString","baseToString","arrayMap","castPath","isKey","toKey","path","hasFunc","hasPath","baseGet","lastIndex","nested","baseSet","re1","re2","OptionsPreProcessors","isString","Options","processors","preProcessors","dynamicDimension","locale","timezone","requestInit","opts","initScale","$RegExp","UNSUPPORTED_Y","MISSED_STICKY","sticky","BROKEN_CARET","regexpStickyHelpers","regexpUnsupportedDotAll","dotAll","flags","regexpUnsupportedNcg","groups","regexpFlags","hasIndices","ignoreCase","multiline","unicode","unicodeSets","stickyHelpers","UNSUPPORTED_DOT_ALL","UNSUPPORTED_NCG","nativeReplace","nativeExec","patchedExec","UPDATES_LAST_INDEX_WRONG","NPCG_INCLUDED","reCopy","group","str","raw","charsAdded","strCopy","regexpExec","RegExpPrototype","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","fixRegExpWellKnownSymbolLogic","SHAM","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","uncurriedNativeRegExpMethod","nativeMethod","arg2","forceStringMethod","$exec","advanceStringIndex","getSubstitution","matched","captures","namedCaptures","tailPos","m","ch","capture","regExpExec","R","REPLACE","require$$16","stringIndexOf","REPLACE_KEEPS_$0","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","REPLACE_SUPPORTS_NAMED_GROUPS","maybeCallNative","UNSAFE_SUBSTITUTE","searchValue","replaceValue","replacer","res","functionalReplace","fullUnicode","accumulatedResult","nextSourcePosition","replacerArgs","DataFetcher","startTimestamp","endTimestamp","_context","abrupt","_DataFetcher_instances","_DataFetcher_fetch","_callee","newUri","url","parseURI","json","csv","dsv","FUNCTION_NAME_EXISTS","nameRE","dayjs_min","u","o","M","weekdays","months","ordinal","z","utcOffset","clone","p","D","ms","Q","g","$L","utc","$u","$x","$offset","$d","substring","UTC","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","isSame","startOf","endOf","isAfter","isBefore","$g","unix","getTime","toDate","$locale","weekStart","$set","daysInMonth","subtract","invalidDate","meridiem","monthsShort","weekdaysMin","weekdaysShort","getTimezoneOffset","diff","toJSON","toISOString","toUTCString","extend","$i","isDayjs","en","Ls","yearStart","weeks","dayOfYear","weekday","isoWeeksInYear","isLeapYear","isoWeekday","isoWeekYear","isoWeek","weekYear","offsetName","local","getUTCFullYear","getUTCMonth","getUTCDate","getUTCDay","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","$localOffset","isUTC","timeZoneName","Intl","DateTimeFormat","hour12","timeZone","formatToParts","tz","toLocaleString","$timezone","guess","resolvedOptions","setDefault","formats","toUpperCase","firstDayOfWeek","longDateFormat","localeData","LTS","L","LL","LLL","LLLL","updateLocale","dayjs","weekOfYear","minMax","advancedFormat","localizedFormat","DEFAULT_LOCALE","DateHelper","_typeof","userLocale","loadBrowserLocale","sent","loadNodeLocale","dayjsPlugin","dayjsDate","endOfWeek","pivotDate","getLastWeekOfMonth","getFirstWeekOfMonth","startOfMonth","startOfFirstWeek","endOfMonth","endOfLastWeek","formatter","async","onerror","err","onload","import","ALLOWED_DATA_TYPES","validate","domainType","subDomainType","allowedDomainType","PluginManager","settings","plugins","pendingPaint","Creator","PluginClass","pluginOptions","extractPluginName","dirty","pluginInstance","allPlugins","TOTAL_ITEMS","monthDate","baseX","getMonthWeekNumber","weekNumber","endWeekNumber","getWeeksCountInMonth","clampStart","clampEnd","pivotDay","TemplateCollection","initiated","DefaultTemplates","templates","tplWithParent","template","parentTemplate","CalHeatmap","dataFetcher","populator","EventEmmiter","startDate","loadDirection","jumpTo","dataSource","endDate","dataPromise","getDatas","populate","VERSION"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,159,161,162,163,164,165,166,167,168,169,170,171,172,173,174,178,179,180,181,182,185,186,187,188,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,355,356,358,359,360,361,362,363,364,365,366,367,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,385,387]}
\ No newline at end of file
+{"version":3,"file":"cal-heatmap.min.js","sources":["../node_modules/core-js/internals/global.js","../node_modules/core-js/internals/define-global-property.js","../node_modules/core-js/internals/shared-store.js","../node_modules/core-js/internals/shared.js","../node_modules/core-js/internals/engine-v8-version.js","../node_modules/core-js/internals/fails.js","../node_modules/core-js/internals/function-bind-native.js","../node_modules/core-js/internals/function-uncurry-this.js","../node_modules/core-js/internals/is-null-or-undefined.js","../node_modules/core-js/internals/require-object-coercible.js","../node_modules/core-js/internals/to-object.js","../node_modules/core-js/internals/has-own-property.js","../node_modules/core-js/internals/uid.js","../node_modules/core-js/internals/engine-user-agent.js","../node_modules/core-js/internals/symbol-constructor-detection.js","../node_modules/core-js/internals/use-symbol-as-uid.js","../node_modules/core-js/internals/well-known-symbol.js","../node_modules/core-js/internals/to-string-tag-support.js","../node_modules/core-js/internals/document-all.js","../node_modules/core-js/internals/is-callable.js","../node_modules/core-js/internals/descriptors.js","../node_modules/core-js/internals/is-object.js","../node_modules/core-js/internals/document-create-element.js","../node_modules/core-js/internals/ie8-dom-define.js","../node_modules/core-js/internals/v8-prototype-define-bug.js","../node_modules/core-js/internals/an-object.js","../node_modules/core-js/internals/function-call.js","../node_modules/core-js/internals/get-built-in.js","../node_modules/core-js/internals/object-is-prototype-of.js","../node_modules/core-js/internals/is-symbol.js","../node_modules/core-js/internals/try-to-string.js","../node_modules/core-js/internals/a-callable.js","../node_modules/core-js/internals/get-method.js","../node_modules/core-js/internals/ordinary-to-primitive.js","../node_modules/core-js/internals/to-primitive.js","../node_modules/core-js/internals/to-property-key.js","../node_modules/core-js/internals/object-define-property.js","../node_modules/core-js/internals/function-name.js","../node_modules/core-js/internals/inspect-source.js","../node_modules/core-js/internals/internal-state.js","../node_modules/core-js/internals/weak-map-basic-detection.js","../node_modules/core-js/internals/create-property-descriptor.js","../node_modules/core-js/internals/create-non-enumerable-property.js","../node_modules/core-js/internals/shared-key.js","../node_modules/core-js/internals/hidden-keys.js","../node_modules/core-js/internals/make-built-in.js","../node_modules/core-js/internals/define-built-in.js","../node_modules/core-js/internals/classof-raw.js","../node_modules/core-js/internals/classof.js","../node_modules/core-js/internals/object-to-string.js","../node_modules/core-js/modules/es.object.to-string.js","../node_modules/core-js/internals/object-property-is-enumerable.js","../node_modules/core-js/internals/indexed-object.js","../node_modules/core-js/internals/to-indexed-object.js","../node_modules/core-js/internals/object-get-own-property-descriptor.js","../node_modules/core-js/internals/math-trunc.js","../node_modules/core-js/internals/to-integer-or-infinity.js","../node_modules/core-js/internals/to-absolute-index.js","../node_modules/core-js/internals/to-length.js","../node_modules/core-js/internals/length-of-array-like.js","../node_modules/core-js/internals/array-includes.js","../node_modules/core-js/internals/object-keys-internal.js","../node_modules/core-js/internals/enum-bug-keys.js","../node_modules/core-js/internals/object-get-own-property-names.js","../node_modules/core-js/internals/object-get-own-property-symbols.js","../node_modules/core-js/internals/own-keys.js","../node_modules/core-js/internals/copy-constructor-properties.js","../node_modules/core-js/internals/is-forced.js","../node_modules/core-js/internals/export.js","../node_modules/core-js/internals/engine-is-node.js","../node_modules/core-js/internals/function-uncurry-this-accessor.js","../node_modules/core-js/internals/a-possible-prototype.js","../node_modules/core-js/internals/object-set-prototype-of.js","../node_modules/core-js/internals/set-to-string-tag.js","../node_modules/core-js/internals/define-built-in-accessor.js","../node_modules/core-js/internals/set-species.js","../node_modules/core-js/internals/an-instance.js","../node_modules/core-js/internals/is-constructor.js","../node_modules/core-js/internals/task.js","../node_modules/core-js/internals/a-constructor.js","../node_modules/core-js/internals/species-constructor.js","../node_modules/core-js/internals/function-apply.js","../node_modules/core-js/internals/function-uncurry-this-clause.js","../node_modules/core-js/internals/function-bind-context.js","../node_modules/core-js/internals/html.js","../node_modules/core-js/internals/array-slice.js","../node_modules/core-js/internals/validate-arguments-length.js","../node_modules/core-js/internals/engine-is-ios.js","../node_modules/core-js/internals/queue.js","../node_modules/core-js/internals/microtask.js","../node_modules/core-js/internals/engine-is-ios-pebble.js","../node_modules/core-js/internals/engine-is-webos-webkit.js","../node_modules/core-js/internals/perform.js","../node_modules/core-js/internals/promise-native-constructor.js","../node_modules/core-js/internals/engine-is-deno.js","../node_modules/core-js/internals/engine-is-browser.js","../node_modules/core-js/internals/promise-constructor-detection.js","../node_modules/core-js/internals/new-promise-capability.js","../node_modules/core-js/modules/es.promise.constructor.js","../node_modules/core-js/internals/host-report-errors.js","../node_modules/core-js/internals/iterators.js","../node_modules/core-js/internals/is-array-iterator-method.js","../node_modules/core-js/internals/get-iterator-method.js","../node_modules/core-js/internals/get-iterator.js","../node_modules/core-js/internals/iterator-close.js","../node_modules/core-js/internals/iterate.js","../node_modules/core-js/internals/check-correctness-of-iteration.js","../node_modules/core-js/internals/promise-statics-incorrect-iteration.js","../node_modules/core-js/modules/es.promise.all.js","../node_modules/core-js/modules/es.promise.catch.js","../node_modules/core-js/modules/es.promise.race.js","../node_modules/core-js/modules/es.promise.reject.js","../node_modules/core-js/internals/promise-resolve.js","../node_modules/core-js/modules/es.promise.resolve.js","../node_modules/core-js/internals/object-keys.js","../node_modules/core-js/internals/object-define-properties.js","../node_modules/core-js/internals/object-create.js","../node_modules/core-js/internals/add-to-unscopables.js","../node_modules/core-js/internals/iterators-core.js","../node_modules/core-js/internals/correct-prototype-getter.js","../node_modules/core-js/internals/object-get-prototype-of.js","../node_modules/core-js/internals/iterator-create-constructor.js","../node_modules/core-js/internals/iterator-define.js","../node_modules/core-js/internals/create-iter-result-object.js","../node_modules/core-js/modules/es.array.iterator.js","../node_modules/core-js/modules/es.promise.all-settled.js","../node_modules/core-js/internals/to-string.js","../node_modules/core-js/internals/string-multibyte.js","../node_modules/core-js/modules/es.string.iterator.js","../node_modules/core-js/internals/dom-iterables.js","../node_modules/core-js/internals/dom-token-list-prototype.js","../node_modules/core-js/modules/web.dom-collections.iterator.js","../node_modules/core-js/internals/array-fill.js","../node_modules/core-js/modules/es.array.fill.js","../node_modules/core-js/internals/is-array.js","../node_modules/core-js/internals/create-property.js","../node_modules/core-js/internals/array-method-has-species-support.js","../node_modules/core-js/modules/es.array.slice.js","../node_modules/tslib/tslib.es6.js","../node_modules/eventemitter3/index.js","../node_modules/lodash-es/isArray.js","../node_modules/lodash-es/castArray.js","../node_modules/core-js/internals/array-species-constructor.js","../node_modules/core-js/internals/array-species-create.js","../node_modules/core-js/internals/array-iteration.js","../node_modules/core-js/modules/es.array.map.js","../node_modules/core-js/internals/object-assign.js","../node_modules/core-js/modules/es.object.assign.js","../node_modules/core-js/internals/array-slice-simple.js","../node_modules/core-js/internals/object-get-own-property-names-external.js","../node_modules/core-js/internals/array-buffer-non-extensible.js","../node_modules/core-js/internals/object-is-extensible.js","../node_modules/core-js/internals/freezing.js","../node_modules/core-js/internals/internal-metadata.js","../node_modules/core-js/internals/inherit-if-required.js","../node_modules/core-js/internals/collection.js","../node_modules/core-js/internals/define-built-ins.js","../node_modules/core-js/internals/collection-weak.js","../../src/constant.ts","../node_modules/core-js/modules/es.weak-set.constructor.js","../../src/calendar/Navigator.ts","../node_modules/core-js/internals/does-not-exceed-safe-integer.js","../node_modules/core-js/modules/es.array.concat.js","../node_modules/core-js/internals/array-method-is-strict.js","../node_modules/core-js/modules/es.array.join.js","../node_modules/core-js/internals/collection-strong.js","../node_modules/core-js/modules/es.map.constructor.js","../node_modules/core-js/internals/delete-property-or-throw.js","../node_modules/core-js/internals/array-sort.js","../node_modules/core-js/internals/engine-ff-version.js","../node_modules/core-js/internals/engine-is-ie-or-edge.js","../node_modules/core-js/internals/engine-webkit-version.js","../node_modules/core-js/modules/es.array.sort.js","../node_modules/core-js/internals/array-for-each.js","../node_modules/core-js/modules/web.dom-collections.for-each.js","../../src/helpers/PositionHelper.ts","../../src/domain/DomainCoordinates.ts","../../src/domain/DomainPainter.ts","../node_modules/core-js/modules/es.array.includes.js","../node_modules/core-js/modules/es.array.filter.js","../node_modules/core-js/internals/call-with-safe-iteration-closing.js","../node_modules/core-js/internals/array-from.js","../node_modules/core-js/modules/es.array.from.js","../../src/calendar/DomainCollection.ts","../../src/domain/DomainLabelPainter.ts","../node_modules/core-js/internals/whitespaces.js","../node_modules/core-js/internals/string-trim.js","../node_modules/core-js/internals/string-trim-forced.js","../node_modules/core-js/modules/es.string.trim.js","../../src/subDomain/SubDomainPainter.ts","../../src/domain/DomainsContainerPainter.ts","../../src/plugins/PluginPainter.ts","../../src/calendar/CalendarPainter.ts","../node_modules/lodash-es/_freeGlobal.js","../node_modules/lodash-es/_root.js","../node_modules/lodash-es/_Symbol.js","../node_modules/lodash-es/_getRawTag.js","../node_modules/lodash-es/_objectToString.js","../node_modules/lodash-es/_baseGetTag.js","../node_modules/lodash-es/isObject.js","../node_modules/lodash-es/isFunction.js","../node_modules/core-js/modules/es.object.keys.js","../node_modules/core-js/internals/is-regexp.js","../node_modules/core-js/modules/es.string.starts-with.js","../node_modules/core-js/internals/not-a-regexp.js","../node_modules/core-js/internals/correct-is-regexp-logic.js","../node_modules/core-js/internals/object-to-array.js","../node_modules/core-js/modules/es.object.entries.js","../node_modules/@observablehq/plot/src/defined.js","../node_modules/isoformat/src/parse.js","../node_modules/@observablehq/plot/src/time.js","../node_modules/@observablehq/plot/src/options.js","../node_modules/@observablehq/plot/src/scales/index.js","../node_modules/@observablehq/plot/src/symbol.js","../node_modules/@observablehq/plot/src/warnings.js","../node_modules/@observablehq/plot/src/scales/schemes.js","../node_modules/@observablehq/plot/src/scales/quantitative.js","../node_modules/@observablehq/plot/src/scales/diverging.js","../node_modules/@observablehq/plot/src/scales/temporal.js","../node_modules/@observablehq/plot/src/scales/ordinal.js","../node_modules/@observablehq/plot/src/scales.js","../../src/scale.ts","../../src/calendar/Populator.ts","../node_modules/lodash-es/eq.js","../node_modules/lodash-es/_assocIndexOf.js","../node_modules/lodash-es/_listCacheDelete.js","../node_modules/lodash-es/_ListCache.js","../node_modules/lodash-es/_listCacheClear.js","../node_modules/lodash-es/_listCacheGet.js","../node_modules/lodash-es/_listCacheHas.js","../node_modules/lodash-es/_listCacheSet.js","../node_modules/lodash-es/_coreJsData.js","../node_modules/lodash-es/_isMasked.js","../node_modules/lodash-es/_toSource.js","../node_modules/lodash-es/_baseIsNative.js","../node_modules/lodash-es/_getNative.js","../node_modules/lodash-es/_getValue.js","../node_modules/lodash-es/_Map.js","../node_modules/lodash-es/_nativeCreate.js","../node_modules/lodash-es/_hashGet.js","../node_modules/lodash-es/_hashHas.js","../node_modules/lodash-es/_Hash.js","../node_modules/lodash-es/_getMapData.js","../node_modules/lodash-es/_isKeyable.js","../node_modules/lodash-es/_MapCache.js","../node_modules/lodash-es/_hashClear.js","../node_modules/lodash-es/_hashDelete.js","../node_modules/lodash-es/_hashSet.js","../node_modules/lodash-es/_mapCacheClear.js","../node_modules/lodash-es/_mapCacheDelete.js","../node_modules/lodash-es/_mapCacheGet.js","../node_modules/lodash-es/_mapCacheHas.js","../node_modules/lodash-es/_mapCacheSet.js","../node_modules/lodash-es/_Stack.js","../node_modules/lodash-es/_stackClear.js","../node_modules/lodash-es/_stackDelete.js","../node_modules/lodash-es/_stackGet.js","../node_modules/lodash-es/_stackHas.js","../node_modules/lodash-es/_stackSet.js","../node_modules/lodash-es/_defineProperty.js","../node_modules/lodash-es/_baseAssignValue.js","../node_modules/lodash-es/_assignMergeValue.js","../node_modules/lodash-es/_baseFor.js","../node_modules/lodash-es/_createBaseFor.js","../node_modules/lodash-es/_cloneBuffer.js","../node_modules/lodash-es/_Uint8Array.js","../node_modules/lodash-es/_cloneTypedArray.js","../node_modules/lodash-es/_cloneArrayBuffer.js","../node_modules/lodash-es/_baseCreate.js","../node_modules/lodash-es/_overArg.js","../node_modules/lodash-es/_getPrototype.js","../node_modules/lodash-es/_isPrototype.js","../node_modules/lodash-es/isObjectLike.js","../node_modules/lodash-es/_baseIsArguments.js","../node_modules/lodash-es/isArguments.js","../node_modules/lodash-es/isLength.js","../node_modules/lodash-es/isArrayLike.js","../node_modules/lodash-es/isBuffer.js","../node_modules/lodash-es/stubFalse.js","../node_modules/lodash-es/isPlainObject.js","../node_modules/lodash-es/_baseIsTypedArray.js","../node_modules/lodash-es/_nodeUtil.js","../node_modules/lodash-es/_baseUnary.js","../node_modules/lodash-es/isTypedArray.js","../node_modules/lodash-es/_safeGet.js","../node_modules/lodash-es/_assignValue.js","../node_modules/lodash-es/_isIndex.js","../node_modules/lodash-es/_arrayLikeKeys.js","../node_modules/lodash-es/_baseTimes.js","../node_modules/lodash-es/_baseKeysIn.js","../node_modules/lodash-es/_nativeKeysIn.js","../node_modules/lodash-es/keysIn.js","../node_modules/lodash-es/toPlainObject.js","../node_modules/lodash-es/_copyObject.js","../node_modules/lodash-es/_baseMergeDeep.js","../node_modules/lodash-es/isArrayLikeObject.js","../node_modules/lodash-es/_copyArray.js","../node_modules/lodash-es/_initCloneObject.js","../node_modules/lodash-es/_baseMerge.js","../node_modules/lodash-es/identity.js","../node_modules/lodash-es/_overRest.js","../node_modules/lodash-es/_baseSetToString.js","../node_modules/lodash-es/constant.js","../node_modules/lodash-es/_shortOut.js","../node_modules/lodash-es/_setToString.js","../node_modules/lodash-es/_baseRest.js","../node_modules/lodash-es/_apply.js","../node_modules/lodash-es/mergeWith.js","../node_modules/lodash-es/_createAssigner.js","../node_modules/lodash-es/_isIterateeCall.js","../node_modules/lodash-es/_SetCache.js","../node_modules/lodash-es/_arraySome.js","../node_modules/lodash-es/_setCacheAdd.js","../node_modules/lodash-es/_setCacheHas.js","../node_modules/lodash-es/_equalArrays.js","../node_modules/lodash-es/_cacheHas.js","../node_modules/lodash-es/_mapToArray.js","../node_modules/lodash-es/_setToArray.js","../node_modules/lodash-es/_equalByTag.js","../node_modules/lodash-es/_getSymbols.js","../node_modules/lodash-es/_arrayFilter.js","../node_modules/lodash-es/stubArray.js","../node_modules/lodash-es/_nativeKeys.js","../node_modules/lodash-es/_baseKeys.js","../node_modules/lodash-es/keys.js","../node_modules/lodash-es/_getAllKeys.js","../node_modules/lodash-es/_baseGetAllKeys.js","../node_modules/lodash-es/_arrayPush.js","../node_modules/lodash-es/_equalObjects.js","../node_modules/lodash-es/_DataView.js","../node_modules/lodash-es/_Promise.js","../node_modules/lodash-es/_Set.js","../node_modules/lodash-es/_WeakMap.js","../node_modules/lodash-es/_getTag.js","../node_modules/lodash-es/_baseIsEqualDeep.js","../node_modules/lodash-es/_baseIsEqual.js","../node_modules/lodash-es/isEqual.js","../node_modules/lodash-es/_baseHas.js","../node_modules/lodash-es/isSymbol.js","../node_modules/lodash-es/_isKey.js","../node_modules/lodash-es/memoize.js","../node_modules/lodash-es/_stringToPath.js","../node_modules/lodash-es/_memoizeCapped.js","../node_modules/lodash-es/_baseToString.js","../node_modules/lodash-es/_arrayMap.js","../node_modules/lodash-es/_castPath.js","../node_modules/lodash-es/toString.js","../node_modules/lodash-es/_toKey.js","../node_modules/lodash-es/has.js","../node_modules/lodash-es/_hasPath.js","../node_modules/lodash-es/get.js","../node_modules/lodash-es/_baseGet.js","../node_modules/lodash-es/set.js","../node_modules/lodash-es/_baseSet.js","../../src/options/OptionsPreProcessors.ts","../node_modules/core-js/internals/regexp-exec.js","../node_modules/lodash-es/isString.js","../../src/options/Options.ts","../node_modules/core-js/internals/regexp-flags.js","../node_modules/core-js/internals/regexp-sticky-helpers.js","../node_modules/core-js/internals/regexp-unsupported-dot-all.js","../node_modules/core-js/internals/regexp-unsupported-ncg.js","../node_modules/core-js/modules/es.regexp.exec.js","../node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","../node_modules/core-js/internals/advance-string-index.js","../node_modules/core-js/internals/get-substitution.js","../node_modules/core-js/internals/regexp-exec-abstract.js","../node_modules/core-js/modules/es.string.replace.js","../../src/DataFetcher.ts","../node_modules/core-js/modules/es.function.name.js","../node_modules/dayjs/dayjs.min.js","../node_modules/dayjs/plugin/weekOfYear.js","../node_modules/dayjs/plugin/dayOfYear.js","../node_modules/dayjs/plugin/weekday.js","../node_modules/dayjs/plugin/minMax.js","../node_modules/dayjs/plugin/isoWeeksInYear.js","../node_modules/dayjs/plugin/isoWeek.js","../node_modules/dayjs/plugin/isLeapYear.js","../node_modules/dayjs/plugin/advancedFormat.js","../node_modules/dayjs/plugin/utc.js","../node_modules/dayjs/plugin/timezone.js","../node_modules/dayjs/plugin/localeData.js","../node_modules/dayjs/plugin/localizedFormat.js","../node_modules/dayjs/plugin/updateLocale.js","../../src/helpers/DateHelper.ts","../node_modules/core-js/modules/es.string.includes.js","../../src/options/OptionsValidator.ts","../node_modules/core-js/modules/es.set.constructor.js","../../src/plugins/PluginManager.ts","../../src/templates/index.ts","../../src/templates/minute.ts","../../src/templates/hour.ts","../../src/templates/day.ts","../../src/templates/xDay.ts","../../src/templates/ghDay.ts","../../src/templates/week.ts","../../src/templates/month.ts","../../src/templates/year.ts","../../src/TemplateCollection.ts","../../src/CalHeatmap.ts","../../src/version.ts"],"sourcesContent":["'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.34.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.34.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","'use strict';\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nvar global = require('../internals/global');\nvar classof = require('../internals/classof-raw');\n\nmodule.exports = classof(global.process) === 'process';\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineBuiltInAccessor(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar Dispatch = global.Dispatch;\nvar Function = global.Function;\nvar MessageChannel = global.MessageChannel;\nvar String = global.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar $location, defer, channel, port;\n\nfails(function () {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n $location = global.location;\n});\n\nvar run = function (id) {\n if (hasOwn(queue, id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar eventListener = function (event) {\n run(event.data);\n};\n\nvar globalPostMessageDefer = function (id) {\n // old engines have not location.origin\n global.postMessage(String(id), $location.protocol + '//' + $location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = eventListener;\n defer = bind(port.postMessage, port);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n isCallable(global.postMessage) &&\n !global.importScripts &&\n $location && $location.protocol !== 'file:' &&\n !fails(globalPostMessageDefer)\n ) {\n defer = globalPostMessageDefer;\n global.addEventListener('message', eventListener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","'use strict';\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw new $TypeError('Not enough arguments');\n return passed;\n};\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\n// eslint-disable-next-line redos/no-vulnerable -- safe\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","'use strict';\nvar Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n var tail = this.tail;\n if (tail) tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n var next = this.head = entry.next;\n if (next === null) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","'use strict';\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar Queue = require('../internals/queue');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/engine-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar microtask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\nvar notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!microtask) {\n var queue = new Queue();\n\n var flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (fn = queue.get()) try {\n fn();\n } catch (error) {\n if (queue.head) notify();\n throw error;\n }\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = bind(promise.then, promise);\n notify = function () {\n then(flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessage\n // - onreadystatechange\n // - setTimeout\n } else {\n // `webpack` dev server bug on IE global methods - use bind(fn, global)\n macrotask = bind(macrotask, global);\n notify = function () {\n macrotask(flush);\n };\n }\n\n microtask = function (fn) {\n if (!queue.head) notify();\n queue.add(fn);\n };\n}\n\nmodule.exports = microtask;\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined';\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict';\nvar global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","'use strict';\n/* global Deno -- Deno case */\nmodule.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object';\n","'use strict';\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nmodule.exports = !IS_DENO && !IS_NODE\n && typeof window == 'object'\n && typeof document == 'object';\n","'use strict';\nvar global = require('../internals/global');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {\n // Detect correctness of subclassing with @@species support\n var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n } return !GLOBAL_CORE_JS_PROMISE && (IS_BROWSER || IS_DENO) && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n SUBCLASSING: SUBCLASSING\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/engine-is-node');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state === FULFILLED;\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(new TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n call(then, result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw new TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n call(then, value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalPromiseState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n\n PromisePrototype = PromiseConstructor.prototype;\n\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: new Queue(),\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state === PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n });\n\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalPromiseState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!NATIVE_PROMISE_SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromisePrototype);\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","'use strict';\nmodule.exports = function (a, b) {\n try {\n // eslint-disable-next-line no-console -- safe\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n } catch (error) { /* empty */ }\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n try {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n } catch (error) { return false; } // workaround of old WebKit + `eval` bug\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","'use strict';\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call($promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['catch'];\n if (NativePromisePrototype['catch'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n reject: function reject(r) {\n var capability = newPromiseCapabilityModule.f(this);\n call(capability.reject, undefined, r);\n return capability.promise;\n }\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] === undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND];\n\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n }\n\n return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\n// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n return { value: value, done: done };\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return createIterResultObject(undefined, true);\n }\n switch (state.kind) {\n case 'keys': return createIterResultObject(index, false);\n case 'values': return createIterResultObject(target[index], false);\n } return createIterResultObject([index, target[index]], false);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.allSettled` method\n// https://tc39.es/ecma262/#sec-promise.allsettled\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n allSettled: function allSettled(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call(promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'fulfilled', value: value };\n --remaining || resolve(values);\n }, function (error) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'rejected', reason: error };\n --remaining || resolve(values);\n });\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return createIterResultObject(undefined, true);\n point = charAt(string, index);\n state.index += point.length;\n return createIterResultObject(point, false);\n});\n","'use strict';\n// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","'use strict';\n// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","'use strict';\nvar global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nvar handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n setToStringTag(CollectionPrototype, COLLECTION_NAME, true);\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype, COLLECTION_NAME);\n}\n\nhandlePrototype(DOMTokenListPrototype, 'DOMTokenList');\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = lengthOfArrayLike(O);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar fill = require('../internals/array-fill');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.fill` method\n// https://tc39.es/ecma262/#sec-array.prototype.fill\n$({ target: 'Array', proto: true }, {\n fill: fill\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('fill');\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar nativeSlice = require('../internals/array-slice');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (isConstructor(Constructor) && (Constructor === $Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === $Array || Constructor === undefined) {\n return nativeSlice(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? $Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport default {\r\n __extends,\r\n __assign,\r\n __rest,\r\n __decorate,\r\n __param,\r\n __metadata,\r\n __awaiter,\r\n __generator,\r\n __createBinding,\r\n __exportStar,\r\n __values,\r\n __read,\r\n __spread,\r\n __spreadArrays,\r\n __spreadArray,\r\n __await,\r\n __asyncGenerator,\r\n __asyncDelegator,\r\n __asyncValues,\r\n __makeTemplateObject,\r\n __importStar,\r\n __importDefault,\r\n __classPrivateFieldGet,\r\n __classPrivateFieldSet,\r\n __classPrivateFieldIn,\r\n};\r\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nexport default isArray;\n","import isArray from './isArray.js';\n\n/**\n * Casts `value` as an array if it's not one.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Lang\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast array.\n * @example\n *\n * _.castArray(1);\n * // => [1]\n *\n * _.castArray({ 'a': 1 });\n * // => [{ 'a': 1 }]\n *\n * _.castArray('abc');\n * // => ['abc']\n *\n * _.castArray(null);\n * // => [null]\n *\n * _.castArray(undefined);\n * // => [undefined]\n *\n * _.castArray();\n * // => []\n *\n * var array = [1, 2, 3];\n * console.log(_.castArray(array) === array);\n * // => true\n */\nfunction castArray() {\n if (!arguments.length) {\n return [];\n }\n var value = arguments[0];\n return isArray(value) ? value : [value];\n}\n\nexport default castArray;\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? $Array : C;\n};\n","'use strict';\nvar arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE === 1;\n var IS_FILTER = TYPE === 2;\n var IS_SOME = TYPE === 3;\n var IS_EVERY = TYPE === 4;\n var IS_FIND_INDEX = TYPE === 6;\n var IS_FILTER_REJECT = TYPE === 7;\n var NO_HOLES = TYPE === 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(self);\n var boundFunction = bind(callbackfn, that);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol('assign detection');\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\nvar $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar $Array = Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = $Array(max(fin - k, 0));\n var n = 0;\n for (; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","'use strict';\n/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) === 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","'use strict';\n// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it\nvar fails = require('../internals/fails');\n\nmodule.exports = fails(function () {\n if (typeof ArrayBuffer == 'function') {\n var buffer = new ArrayBuffer(8);\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe\n if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });\n }\n});\n","'use strict';\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external');\nvar isExtensible = require('../internals/object-is-extensible');\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar REQUIRED = false;\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + id++, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar enable = function () {\n meta.enable = function () { /* empty */ };\n REQUIRED = true;\n var getOwnPropertyNames = getOwnPropertyNamesModule.f;\n var splice = uncurryThis([].splice);\n var test = {};\n test[METADATA] = 1;\n\n // prevent exposing of metadata key\n if (getOwnPropertyNames(test).length) {\n getOwnPropertyNamesModule.f = function (it) {\n var result = getOwnPropertyNames(it);\n for (var i = 0, length = result.length; i < length; i++) {\n if (result[i] === METADATA) {\n splice(result, i, 1);\n break;\n }\n } return result;\n };\n\n $({ target: 'Object', stat: true, forced: true }, {\n getOwnPropertyNames: getOwnPropertyNamesExternalModule.f\n });\n }\n};\n\nvar meta = module.exports = {\n enable: enable,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n defineBuiltIn(NativePrototype, KEY,\n KEY === 'add' ? function add(value) {\n uncurriedNativeMethod(this, value === 0 ? 0 : value);\n return this;\n } : KEY === 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY === 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY === 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.enable();\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) !== instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, NativePrototype);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, constructor: true, forced: Constructor !== NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) defineBuiltIn(target, key, src[key], options);\n return target;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar getWeakData = require('../internals/internal-metadata').getWeakData;\nvar anInstance = require('../internals/an-instance');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isObject = require('../internals/is-object');\nvar iterate = require('../internals/iterate');\nvar ArrayIterationModule = require('../internals/array-iteration');\nvar hasOwn = require('../internals/has-own-property');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar splice = uncurryThis([].splice);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (state) {\n return state.frozen || (state.frozen = new UncaughtFrozenStore());\n};\n\nvar UncaughtFrozenStore = function () {\n this.entries = [];\n};\n\nvar findUncaughtFrozen = function (store, key) {\n return find(store.entries, function (it) {\n return it[0] === key;\n });\n};\n\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.entries.push([key, value]);\n },\n 'delete': function (key) {\n var index = findIndex(this.entries, function (it) {\n return it[0] === key;\n });\n if (~index) splice(this.entries, index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n id: id++,\n frozen: undefined\n });\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var data = getWeakData(anObject(key), true);\n if (data === true) uncaughtFrozenStore(state).set(key, value);\n else data[state.id] = value;\n return that;\n };\n\n defineBuiltIns(Prototype, {\n // `{ WeakMap, WeakSet }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-weakmap.prototype.delete\n // https://tc39.es/ecma262/#sec-weakset.prototype.delete\n 'delete': function (key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state)['delete'](key);\n return data && hasOwn(data, state.id) && delete data[state.id];\n },\n // `{ WeakMap, WeakSet }.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-weakmap.prototype.has\n // https://tc39.es/ecma262/#sec-weakset.prototype.has\n has: function has(key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).has(key);\n return data && hasOwn(data, state.id);\n }\n });\n\n defineBuiltIns(Prototype, IS_MAP ? {\n // `WeakMap.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-weakmap.prototype.get\n get: function get(key) {\n var state = getInternalState(this);\n if (isObject(key)) {\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).get(key);\n return data ? data[state.id] : undefined;\n }\n },\n // `WeakMap.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-weakmap.prototype.set\n set: function set(key, value) {\n return define(this, key, value);\n }\n } : {\n // `WeakSet.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-weakset.prototype.add\n add: function add(value) {\n return define(this, value, true);\n }\n });\n\n return Constructor;\n }\n};\n","export enum ScrollDirection {\n SCROLL_NONE,\n SCROLL_BACKWARD,\n SCROLL_FORWARD,\n}\n\nexport enum Position {\n TOP,\n RIGHT,\n BOTTOM,\n LEFT,\n}\n\nexport const OPTIONS_DEFAULT_DOMAIN_TYPE = 'hour';\n\nexport const OPTIONS_DEFAULT_SUBDOMAIN_TYPE = 'minute';\nexport const OPTIONS_DEFAULT_SUBDOMAIN_WIDTH = 10;\nexport const OPTIONS_DEFAULT_SUBDOMAIN_HEIGHT = 10;\nexport const OPTIONS_DEFAULT_SUBDOMAIN_GUTTER = 2;\nexport const OPTIONS_DEFAULT_SUBDOMAIN_RADIUS = 0;\nexport const OPTIONS_DEFAULT_ANIMATION_DURATION = 200;\nexport const OPTIONS_DEFAULT_RANGE = 12;\nexport const OPTIONS_DEFAULT_ITEM_SELECTOR = '#cal-heatmap';\nexport const OPTIONS_DEFAULT_THEME = 'light';\nexport const OPTIONS_DEFAULT_LOCALE = 'en';\n\nexport const SCALE_BASE_OPACITY_COLOR = 'red';\nexport const SCALE_BASE_COLOR_SCHEME = 'YlOrBr';\nexport const SCALE_BASE_COLOR_TYPE = 'quantize';\nexport const SCALE_BASE_COLOR_DOMAIN = [0, 100];\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\n\n// `WeakSet` constructor\n// https://tc39.es/ecma262/#sec-weakset-constructor\ncollection('WeakSet', function (init) {\n return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionWeak);\n","import { ScrollDirection } from '../constant';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport type DomainCollection from './DomainCollection';\nimport type { Timestamp } from '../index';\n\nexport default class Navigator {\n calendar: CalHeatmap;\n\n minDomainReached: boolean;\n\n maxDomainReached: boolean;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n this.maxDomainReached = false;\n this.minDomainReached = false;\n }\n\n loadNewDomains(\n newDomainCollection: DomainCollection,\n direction: ScrollDirection = ScrollDirection.SCROLL_NONE,\n ): ScrollDirection {\n const { options } = this.calendar.options;\n const templatesClt = this.calendar.templateCollection;\n const minDate = options.date.min ?\n templatesClt.get(options.domain.type)!.extractUnit(+options.date.min) :\n undefined;\n const maxDate = options.date.max ?\n templatesClt.get(options.domain.type)!.extractUnit(+options.date.max) :\n undefined;\n const { domainCollection } = this.calendar;\n\n if (\n this.#isDomainBoundaryReached(\n newDomainCollection,\n minDate,\n maxDate,\n direction,\n )\n ) {\n return ScrollDirection.SCROLL_NONE;\n }\n\n if (direction !== ScrollDirection.SCROLL_NONE) {\n newDomainCollection\n .clamp(minDate, maxDate)\n .slice(options.range, direction === ScrollDirection.SCROLL_FORWARD);\n }\n\n domainCollection.merge(\n newDomainCollection,\n options.range,\n (domainKey: Timestamp, index: number) => {\n let subDomainEndDate = null;\n if (newDomainCollection.at(index + 1)) {\n subDomainEndDate = newDomainCollection.at(index + 1);\n } else {\n subDomainEndDate = this.calendar.dateHelper\n .intervals(options.domain.type, domainKey, 2)\n .pop();\n }\n return templatesClt\n .get(options.subDomain.type)!\n .mapping(domainKey, subDomainEndDate!)\n .map((d) => ({ ...d, v: options.data.defaultValue }));\n },\n );\n\n this.#setDomainsBoundaryReached(\n domainCollection.min,\n domainCollection.max,\n minDate,\n maxDate,\n );\n\n if (direction === ScrollDirection.SCROLL_BACKWARD) {\n this.calendar.eventEmitter.emit('domainsLoaded', [domainCollection.min]);\n } else if (direction === ScrollDirection.SCROLL_FORWARD) {\n this.calendar.eventEmitter.emit('domainsLoaded', [domainCollection.max]);\n }\n\n return direction;\n }\n\n jumpTo(date: Date, reset: boolean): ScrollDirection {\n const { domainCollection, options } = this.calendar;\n const minDate = new Date(domainCollection.min!);\n const maxDate = new Date(domainCollection.max!);\n\n if (date < minDate) {\n return this.loadNewDomains(\n this.calendar.createDomainCollection(date, minDate, false),\n ScrollDirection.SCROLL_BACKWARD,\n );\n }\n if (reset) {\n return this.loadNewDomains(\n this.calendar.createDomainCollection(date, options.options.range),\n minDate < date ?\n ScrollDirection.SCROLL_FORWARD :\n ScrollDirection.SCROLL_BACKWARD,\n );\n }\n\n if (date > maxDate) {\n return this.loadNewDomains(\n this.calendar.createDomainCollection(maxDate, date, false),\n ScrollDirection.SCROLL_FORWARD,\n );\n }\n\n return ScrollDirection.SCROLL_NONE;\n }\n\n #isDomainBoundaryReached(\n newDomainCollection: DomainCollection,\n minDate?: Timestamp,\n maxDate?: Timestamp,\n direction?: ScrollDirection,\n ): boolean {\n if (\n maxDate &&\n newDomainCollection.max! >= maxDate &&\n this.maxDomainReached &&\n direction === ScrollDirection.SCROLL_FORWARD\n ) {\n return true;\n }\n\n if (\n minDate &&\n newDomainCollection.min! <= minDate &&\n this.minDomainReached &&\n direction === ScrollDirection.SCROLL_BACKWARD\n ) {\n return true;\n }\n\n return false;\n }\n\n #setDomainsBoundaryReached(\n lowerBound: Timestamp,\n upperBound: Timestamp,\n min?: Timestamp,\n max?: Timestamp,\n ): void {\n if (min) {\n const reached = lowerBound <= min;\n this.calendar.eventEmitter.emit(\n reached ? 'minDateReached' : 'minDateNotReached',\n );\n this.minDomainReached = reached;\n }\n if (max) {\n const reached = upperBound >= max;\n this.calendar.eventEmitter.emit(\n reached ? 'maxDateReached' : 'maxDateNotReached',\n );\n this.maxDomainReached = reached;\n }\n }\n}\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !arrayMethodHasSpeciesSupport('concat');\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = lengthOfArrayLike(E);\n doesNotExceedSafeInteger(n + len);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n doesNotExceedSafeInteger(n + 1);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call -- required for testing\n method.call(null, argument || function () { return 1; }, 1);\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = uncurryThis([].join);\n\nvar ES3_STRINGS = IndexedObject !== Object;\nvar FORCED = ES3_STRINGS || !arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: FORCED }, {\n join: function join(separator) {\n return nativeJoin(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar create = require('../internals/object-create');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key === key) return entry;\n }\n };\n\n defineBuiltIns(Prototype, {\n // `{ Map, Set }.prototype.clear()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.clear\n // https://tc39.es/ecma262/#sec-set.prototype.clear\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // `{ Map, Set }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.delete\n // https://tc39.es/ecma262/#sec-set.prototype.delete\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first === entry) state.first = next;\n if (state.last === entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.foreach\n // https://tc39.es/ecma262/#sec-set.prototype.foreach\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // `{ Map, Set}.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.has\n // https://tc39.es/ecma262/#sec-set.prototype.has\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n defineBuiltIns(Prototype, IS_MAP ? {\n // `Map.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-map.prototype.get\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // `Map.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-map.prototype.set\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // `Set.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-set.prototype.add\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineBuiltInAccessor(Prototype, 'size', {\n configurable: true,\n get: function () {\n return getInternalState(this).size;\n }\n });\n return Constructor;\n },\n setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.entries\n // https://tc39.es/ecma262/#sec-map.prototype.keys\n // https://tc39.es/ecma262/#sec-map.prototype.values\n // https://tc39.es/ecma262/#sec-map.prototype-@@iterator\n // https://tc39.es/ecma262/#sec-set.prototype.entries\n // https://tc39.es/ecma262/#sec-set.prototype.keys\n // https://tc39.es/ecma262/#sec-set.prototype.values\n // https://tc39.es/ecma262/#sec-set.prototype-@@iterator\n defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return createIterResultObject(undefined, true);\n }\n // return step by kind\n if (kind === 'keys') return createIterResultObject(entry.key, false);\n if (kind === 'values') return createIterResultObject(entry.value, false);\n return createIterResultObject([entry.key, entry.value], false);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // `{ Map, Set }.prototype[@@species]` accessors\n // https://tc39.es/ecma262/#sec-get-map-@@species\n // https://tc39.es/ecma262/#sec-get-set-@@species\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\ncollection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (O, P) {\n if (!delete O[P]) throw new $TypeError('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O));\n};\n","'use strict';\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar floor = Math.floor;\n\nvar mergeSort = function (array, comparefn) {\n var length = array.length;\n var middle = floor(length / 2);\n return length < 8 ? insertionSort(array, comparefn) : merge(\n array,\n mergeSort(arraySlice(array, 0, middle), comparefn),\n mergeSort(arraySlice(array, middle), comparefn),\n comparefn\n );\n};\n\nvar insertionSort = function (array, comparefn) {\n var length = array.length;\n var i = 1;\n var element, j;\n\n while (i < length) {\n j = i;\n element = array[i];\n while (j && comparefn(array[j - 1], element) > 0) {\n array[j] = array[--j];\n }\n if (j !== i++) array[j] = element;\n } return array;\n};\n\nvar merge = function (array, left, right, comparefn) {\n var llength = left.length;\n var rlength = right.length;\n var lindex = 0;\n var rindex = 0;\n\n while (lindex < llength || rindex < rlength) {\n array[lindex + rindex] = (lindex < llength && rindex < rlength)\n ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]\n : lindex < llength ? left[lindex++] : right[rindex++];\n } return array;\n};\n\nmodule.exports = mergeSort;\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","'use strict';\nvar UA = require('../internals/engine-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar test = [];\nvar nativeSort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? nativeSort(array) : nativeSort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = lengthOfArrayLike(items);\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) deletePropertyOrThrow(array, index++);\n\n return array;\n }\n});\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","'use strict';\nvar global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar handlePrototype = function (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n if (DOMIterables[COLLECTION_NAME]) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype);\n }\n}\n\nhandlePrototype(DOMTokenListPrototype);\n","import { Position } from '../constant';\nimport type { Padding } from '../options/Options';\n\nexport function isHorizontal(position: string): boolean {\n return position === 'left' || position === 'right';\n}\n\nexport function isVertical(position: string): boolean {\n return position === 'top' || position === 'bottom';\n}\n\nexport function horizontalPadding(padding: Padding): number {\n return padding[Position.LEFT] + padding[Position.RIGHT];\n}\n\nexport function verticalPadding(padding: Padding): number {\n return padding[Position.TOP] + padding[Position.BOTTOM];\n}\n","import { ScrollDirection } from '../constant';\nimport { horizontalPadding, verticalPadding } from '../helpers/PositionHelper';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport type DomainPainter from './DomainPainter';\nimport type DomainCollection from '../calendar/DomainCollection';\nimport type { SubDomain, Dimensions, Timestamp } from '../index';\n\ntype SubDomainWithCoordinates = Required & {\n pre_x: number;\n pre_y: number;\n width: number;\n height: number;\n inner_width: number;\n inner_height: number;\n};\n\nexport default class DomainCoordinates {\n calendar: CalHeatmap;\n\n domainPainter: DomainPainter;\n\n collection: Map;\n\n scrollDirection: ScrollDirection;\n\n constructor(calendar: CalHeatmap, domainPainter: DomainPainter) {\n this.calendar = calendar;\n this.domainPainter = domainPainter;\n this.collection = new Map();\n this.scrollDirection = ScrollDirection.SCROLL_FORWARD;\n }\n\n get(domainKey: Timestamp): SubDomainWithCoordinates | undefined {\n return this.collection.get(domainKey);\n }\n\n update(collection: DomainCollection, scrollDirection: ScrollDirection) {\n const { verticalOrientation, domain } = this.calendar.options.options;\n\n this.scrollDirection = scrollDirection;\n const dimensions: Dimensions = {\n width: 0,\n height: 0,\n };\n let exitingTotal = 0;\n let scrollFactor =\n scrollDirection === ScrollDirection.SCROLL_FORWARD ? -1 : 1;\n const { keys } = collection;\n if (this.calendar.options.options.domain.sort === 'desc') {\n keys.reverse();\n scrollFactor *= -1;\n }\n\n collection.yankedDomains.forEach((domainKey: Timestamp) => {\n exitingTotal +=\n this.collection.get(domainKey)![\n verticalOrientation ? 'height' : 'width'\n ];\n });\n collection.yankedDomains.forEach((domainKey: Timestamp) => {\n const coor = this.collection.get(domainKey)!;\n this.collection.set(domainKey, {\n ...coor,\n x: verticalOrientation ? coor.x : coor.x + exitingTotal * scrollFactor,\n y: verticalOrientation ? coor.y + exitingTotal * scrollFactor : coor.y,\n });\n });\n\n keys.forEach((domainKey: Timestamp) => {\n const w = this.#getWidth(domainKey);\n const h = this.#getHeight(domainKey);\n if (verticalOrientation) {\n dimensions.height += h;\n dimensions.width = Math.max(w, dimensions.width);\n } else {\n dimensions.width += w;\n dimensions.height = Math.max(h, dimensions.height);\n }\n\n const x = dimensions.width - w;\n const y = dimensions.height - h;\n\n this.collection.set(domainKey, {\n ...this.collection.get(domainKey)!,\n x: verticalOrientation ? 0 : x,\n y: verticalOrientation ? y : 0,\n pre_x: verticalOrientation ? x : x - exitingTotal * scrollFactor,\n pre_y: verticalOrientation ? y - exitingTotal * scrollFactor : y,\n width: w,\n height: h,\n inner_width: w - (verticalOrientation ? 0 : domain.gutter),\n inner_height: h - (!verticalOrientation ? 0 : domain.gutter),\n });\n });\n\n return dimensions;\n }\n\n /**\n * Return the full width of the domain block\n * @param {number} d Domain start timestamp\n * @return {number} The full width of the domain,\n * including all padding and gutter\n * Used to compute the x position of the domains on the x axis\n */\n #getWidth(d: Timestamp): number {\n const {\n domain, subDomain, x, verticalOrientation,\n } =\n this.calendar.options.options;\n const columnsCount = this.calendar.templateCollection\n .get(subDomain.type)!\n .columnsCount(d);\n\n const subDomainWidth =\n (subDomain.width + subDomain.gutter) * columnsCount - subDomain.gutter;\n\n return (\n horizontalPadding(domain.padding) +\n x.domainHorizontalLabelWidth +\n (verticalOrientation ? 0 : domain.gutter) +\n subDomainWidth\n );\n }\n\n /**\n * Return the full height of the domain block\n * @param {number} d Domain start timestamp\n * @return {number} The full height of the domain,\n * including all paddings and gutter.\n * Used to compute the y position of the domains on the y axis\n */\n #getHeight(d: Timestamp): number {\n const {\n domain, subDomain, x, verticalOrientation,\n } =\n this.calendar.options.options;\n const rowsCount = this.calendar.templateCollection\n .get(subDomain.type)!\n .rowsCount(d);\n\n const subDomainHeight =\n (subDomain.height + subDomain.gutter) * rowsCount - subDomain.gutter;\n\n return (\n verticalPadding(domain.padding) +\n subDomainHeight +\n (verticalOrientation ? domain.gutter : 0) +\n x.domainVerticalLabelHeight\n );\n }\n}\n","import DomainCoordinates from './DomainCoordinates';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport type { ScrollDirection } from '../constant';\nimport type { Dimensions, Timestamp } from '../index';\n\nconst DEFAULT_SELECTOR = '.ch-domain';\n\nexport default class DomainPainter {\n calendar: CalHeatmap;\n\n coordinates: DomainCoordinates;\n\n root: any;\n\n dimensions: Dimensions;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n this.coordinates = new DomainCoordinates(calendar, this);\n this.root = null;\n\n // Dimensions of the internal area containing all the domains\n // Excluding all surrounding margins\n this.dimensions = {\n width: 0,\n height: 0,\n };\n }\n\n paint(scrollDirection: ScrollDirection, rootNode: any): Promise[] {\n const { animationDuration } = this.calendar.options.options;\n const t = rootNode.transition().duration(animationDuration);\n const coor = this.coordinates;\n\n this.dimensions = coor.update(\n this.calendar.domainCollection,\n scrollDirection,\n );\n\n const promises: Promise[] = [];\n\n this.root = rootNode\n .selectAll(DEFAULT_SELECTOR)\n .data(this.calendar.domainCollection.keys, (d: Timestamp) => d)\n .join(\n (enter: any) => enter\n .append('svg')\n .attr('x', (d: Timestamp) => coor.get(d)!.pre_x)\n .attr('y', (d: Timestamp) => coor.get(d)!.pre_y)\n .attr('width', (d: Timestamp) => coor.get(d)!.inner_width)\n .attr('height', (d: Timestamp) => coor.get(d)!.inner_height)\n .attr('class', (d: Timestamp) => this.#getClassName(d))\n .call((enterSelection: any) => enterSelection\n .append('rect')\n .attr('width', (d: Timestamp) => coor.get(d)!.inner_width)\n .attr('height', (d: Timestamp) => coor.get(d)!.inner_height)\n .attr('class', `${DEFAULT_SELECTOR.slice(1)}-bg`))\n .call((enterSelection: any) => promises.push(\n enterSelection\n .transition(t)\n .attr('x', (d: Timestamp) => coor.get(d)!.x)\n .attr('y', (d: Timestamp) => coor.get(d)!.y)\n .end(),\n )),\n (update: any) => update\n .call((updateSelection: any) => promises.push(\n updateSelection\n .transition(t)\n .attr('x', (d: Timestamp) => coor.get(d)!.x)\n .attr('y', (d: Timestamp) => coor.get(d)!.y)\n .attr('width', (d: Timestamp) => coor.get(d)!.inner_width)\n .attr('height', (d: Timestamp) => coor.get(d)!.inner_height)\n .end(),\n ))\n .call((updateSelection: any) => promises.push(\n updateSelection\n .selectAll(`${DEFAULT_SELECTOR}-bg`)\n .transition(t)\n .attr('width', (d: Timestamp) => coor.get(d)!.inner_width)\n .attr('height', (d: Timestamp) => coor.get(d)!.inner_height)\n .end(),\n )),\n (exit: any) => exit.call((exitSelection: any) => promises.push(\n exitSelection\n .transition(t)\n .attr('x', (d: Timestamp) => coor.get(d)!.x)\n .attr('y', (d: Timestamp) => coor.get(d)!.y)\n .remove()\n .end(),\n )),\n );\n\n return promises;\n }\n\n #getClassName(d: Timestamp): string {\n let classname = DEFAULT_SELECTOR.slice(1);\n const helper = this.calendar.dateHelper.date(d);\n\n switch (this.calendar.options.options.domain.type) {\n case 'hour':\n classname += ` h_${helper.hour()}`;\n break;\n case 'day':\n classname += ` d_${helper.date()} dy_${helper.format('d') + 1}`;\n break;\n case 'week':\n classname += ` w_${helper.week()}`;\n break;\n case 'month':\n classname += ` m_${helper.month() + 1}`;\n break;\n case 'year':\n classname += ` y_${helper.year()}`;\n break;\n default:\n }\n return classname;\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar fails = require('../internals/fails');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// FF99+ bug\nvar BROKEN_ON_SPARSE = fails(function () {\n // eslint-disable-next-line es/no-array-prototype-includes -- detection\n return !Array(1).includes();\n});\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isConstructor = require('../internals/is-constructor');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $Array = Array;\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var IS_CONSTRUCTOR = isConstructor(this);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n result = IS_CONSTRUCTOR ? new this() : [];\n for (;!(step = call(next, iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = lengthOfArrayLike(O);\n result = IS_CONSTRUCTOR ? new this(length) : $Array(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n // eslint-disable-next-line es/no-array-from -- required for testing\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.es/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","import castArray from 'lodash-es/castArray';\n\nimport type { SubDomain } from '../index';\nimport type {\n DataOptions,\n DataGroupType,\n DataRecord,\n} from '../options/Options';\nimport { DomainType, Timestamp } from '../index';\nimport type DateHelper from '../helpers/DateHelper';\n\nexport const DOMAIN_FORMAT: Record = {\n year: 'YYYY',\n month: 'MMMM',\n week: 'wo [week] YYYY',\n xDay: 'Do MMM',\n ghDay: 'Do MMM',\n day: 'Do MMM',\n hour: 'HH:00',\n minute: 'HH:mm',\n};\n\ntype GroupedRecords = Map;\ntype ValueType = string | number | null;\n\nexport default class DomainCollection {\n collection: Map;\n\n dateHelper: DateHelper;\n\n min: Timestamp;\n\n max: Timestamp;\n\n keys: Timestamp[];\n\n yankedDomains: Timestamp[];\n\n constructor(\n dateHelper: DateHelper,\n interval?: DomainType,\n start?: Date | Timestamp,\n range?: Date | Timestamp,\n excludeEnd: boolean = false,\n ) {\n this.collection = new Map();\n this.dateHelper = dateHelper;\n\n if (interval && start && range) {\n const ts = this.dateHelper\n .intervals(interval, start, range, excludeEnd)\n .map((d: Timestamp) => castArray(d));\n\n // @ts-ignore\n this.collection = new Map(ts);\n }\n\n this.min = 0;\n this.max = 0;\n this.keys = [];\n this.yankedDomains = [];\n\n if (this.collection.size > 0) {\n this.#refreshKeys();\n }\n }\n\n has(key: Timestamp): boolean {\n return this.collection.has(key);\n }\n\n get(key: Timestamp) {\n return this.collection.get(key);\n }\n\n forEach(callback: any) {\n return this.collection.forEach(callback);\n }\n\n at(index: number): Timestamp {\n return this.keys[index];\n }\n\n clamp(minDate?: Timestamp, maxDate?: Timestamp): DomainCollection {\n if (minDate && this.min! < minDate) {\n this.keys\n .filter((key) => key < minDate)\n .forEach((d) => this.collection.delete(d));\n }\n\n if (maxDate && this.max! > maxDate) {\n this.keys\n .filter((key) => key > maxDate)\n .forEach((d) => this.collection.delete(d));\n }\n\n this.#refreshKeys();\n\n return this;\n }\n\n merge(\n newCollection: DomainCollection,\n limit: number,\n createValueCallback: Function,\n ): void {\n this.yankedDomains = [];\n\n newCollection.keys.forEach((domainKey, index) => {\n if (this.has(domainKey)) {\n return;\n }\n\n if (this.collection.size >= limit) {\n let keyToRemove = this.max;\n\n if (domainKey > this.max!) {\n keyToRemove = this.min;\n }\n\n if (keyToRemove && this.collection.delete(keyToRemove)) {\n this.yankedDomains.push(keyToRemove);\n }\n }\n this.collection.set(domainKey, createValueCallback(domainKey, index));\n this.#refreshKeys();\n });\n this.yankedDomains = this.yankedDomains.sort((a, b) => a - b);\n }\n\n slice(limit: number = 0, fromBeginning: boolean = true): DomainCollection {\n if (this.keys.length > limit) {\n const keysToDelete = fromBeginning ?\n this.keys.slice(0, -limit) :\n this.keys.slice(limit);\n\n keysToDelete.forEach((key) => {\n this.collection.delete(key);\n });\n\n this.#refreshKeys();\n }\n\n return this;\n }\n\n fill(\n data: DataRecord[],\n {\n x,\n y,\n groupY,\n defaultValue,\n }: {\n x: DataOptions['x'];\n y: DataOptions['y'];\n groupY: DataOptions['groupY'];\n defaultValue: DataOptions['defaultValue'];\n },\n subDomainKeyExtractor: Function,\n ): void {\n const groupedRecords: GroupedRecords = this.groupRecords(\n data,\n x,\n subDomainKeyExtractor,\n );\n\n this.keys.forEach((domainKey) => {\n const records = groupedRecords.get(domainKey) || {};\n this.#setSubDomainValues(domainKey, records, y, groupY, defaultValue);\n });\n }\n\n #setSubDomainValues(\n domainKey: Timestamp,\n records: { [key: string]: DataRecord[] },\n y: DataOptions['y'],\n groupY: DataOptions['groupY'],\n defaultValue: DataOptions['defaultValue'],\n ): void {\n this.get(domainKey)!.forEach((subDomain: SubDomain, index: number) => {\n let value: ValueType = defaultValue;\n if (records.hasOwnProperty(subDomain.t)) {\n value = this.groupValues(\n this.#extractValues(records[subDomain.t], y),\n groupY,\n );\n }\n\n this.get(domainKey)![index].v = value;\n });\n }\n\n groupRecords(\n data: DataRecord[],\n x: DataOptions['x'],\n subDomainKeyExtractor: Function,\n ): GroupedRecords {\n const results: GroupedRecords = new Map();\n const validSubDomainTimestamp: Map = new Map();\n this.keys.forEach((domainKey) => {\n this.get(domainKey)!.forEach((subDomain: SubDomain) => {\n validSubDomainTimestamp.set(subDomain.t, domainKey);\n });\n });\n\n data.forEach((d) => {\n const timestamp = this.extractTimestamp(d, x, subDomainKeyExtractor);\n\n if (validSubDomainTimestamp.has(timestamp)) {\n const domainKey = validSubDomainTimestamp.get(timestamp)!;\n const records = results.get(domainKey) || {};\n records[timestamp] ||= [];\n records[timestamp].push(d);\n\n results.set(domainKey, records);\n }\n });\n\n return results;\n }\n\n // eslint-disable-next-line class-methods-use-this\n #extractValues(data: DataRecord[], y: string | Function): ValueType[] {\n return data.map((d): ValueType => (typeof y === 'function' ? y(d) : d[y]));\n }\n\n // eslint-disable-next-line class-methods-use-this\n groupValues(\n values: ValueType[],\n groupFn: DataGroupType | ((values: ValueType[]) => ValueType),\n ): ValueType {\n const cleanedValues = values.filter((n) => n !== null);\n\n if (typeof groupFn === 'string') {\n if (cleanedValues.every((n) => typeof n === 'number')) {\n switch (groupFn) {\n case 'sum':\n return (cleanedValues as number[]).reduce((a, b) => a + b, 0);\n case 'count':\n return cleanedValues.length;\n case 'min':\n return Math.min(...(cleanedValues as number[])) || null;\n case 'max':\n return Math.max(...(cleanedValues as number[])) || null;\n case 'average':\n return cleanedValues.length > 0 ?\n (cleanedValues as number[]).reduce((a, b) => a + b, 0) /\n cleanedValues.length :\n null;\n default:\n return null;\n }\n }\n\n switch (groupFn) {\n case 'count':\n return cleanedValues.length;\n default:\n return null;\n }\n } else if (typeof groupFn === 'function') {\n return groupFn(cleanedValues);\n }\n\n return null;\n }\n\n // eslint-disable-next-line class-methods-use-this\n extractTimestamp(\n datum: DataRecord,\n x: string | Function,\n extractorFn: Function,\n ): Timestamp {\n let timestamp: string | Timestamp =\n typeof x === 'function' ? x(datum) : datum[x];\n\n if (typeof timestamp === 'string') {\n timestamp = +new Date(timestamp);\n }\n\n return extractorFn(timestamp);\n }\n\n #refreshKeys(): Timestamp[] {\n this.keys = Array.from(this.collection.keys())\n .map((d: any) => parseInt(d, 10))\n .sort((a, b) => a - b);\n\n const { keys } = this;\n // eslint-disable-next-line prefer-destructuring\n this.min = keys[0];\n this.max = keys[keys.length - 1];\n\n return this.keys;\n }\n}\n","import { Position } from '../constant';\nimport {\n isVertical,\n verticalPadding,\n horizontalPadding,\n} from '../helpers/PositionHelper';\nimport { DOMAIN_FORMAT } from '../calendar/DomainCollection';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport type { Timestamp } from '../index';\n\nconst DEFAULT_SELECTOR = '.ch-domain-text';\n\nexport default class DomainLabelPainter {\n calendar: CalHeatmap;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n }\n\n paint(root: any): void {\n const { label, type } = this.calendar.options.options.domain;\n const { dateHelper } = this.calendar;\n let format = label.text;\n if (format === null || format === '') {\n return;\n }\n\n if (typeof format === 'undefined') {\n format = DOMAIN_FORMAT[type];\n }\n\n root\n .selectAll(DEFAULT_SELECTOR)\n .data(\n (d: Timestamp) => [d],\n (d: Timestamp) => d,\n )\n .join(\n (enter: any) => enter\n .append('text')\n .attr('class', DEFAULT_SELECTOR.slice(1))\n .attr('x', (d: Timestamp) => this.#getX(d))\n .attr('y', (d: Timestamp) => this.#getY(d))\n .attr('text-anchor', label.textAlign)\n .attr('dominant-baseline', () => this.#textVerticalAlign())\n .text((d: Timestamp, i: number, nodes: any[]) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n dateHelper.format(d, format!, nodes[i]))\n .call((selection: any) => this.#domainRotate(selection)),\n (update: any) => {\n update\n .attr('x', (d: Timestamp) => this.#getX(d))\n .attr('y', (d: Timestamp) => this.#getY(d))\n .attr('text-anchor', label.textAlign)\n .attr('dominant-baseline', () => this.#textVerticalAlign())\n .text((d: Timestamp, i: number, nodes: any[]) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n dateHelper.format(d, format!, nodes[i]))\n .call((selection: any) => this.#domainRotate(selection));\n },\n );\n }\n\n #textVerticalAlign(): string {\n const { position, rotate } = this.calendar.options.options.domain.label;\n\n if (isVertical(position)) {\n return 'middle';\n }\n\n if (\n (rotate === 'left' && position === 'left') ||\n (rotate === 'right' && position === 'right')\n ) {\n return 'bottom';\n }\n\n return 'hanging';\n }\n\n #getX(d: Timestamp): number {\n const {\n padding,\n label: { position, textAlign, offset },\n } = this.calendar.options.options.domain;\n const { domainHorizontalLabelWidth } = this.calendar.options.options.x;\n\n let x = padding[Position.LEFT];\n\n if (position === 'right') {\n x += this.#getDomainInsideWidth(d);\n }\n\n if (textAlign === 'middle') {\n if (['top', 'bottom'].includes(position)) {\n x += this.#getDomainInsideWidth(d) / 2;\n } else {\n x += domainHorizontalLabelWidth / 2;\n }\n }\n\n if (textAlign === 'end') {\n if (isVertical(position)) {\n x += this.#getDomainInsideWidth(d);\n } else {\n x += domainHorizontalLabelWidth;\n }\n }\n\n return x + offset.x;\n }\n\n #getY(d: Timestamp): number {\n const {\n domain: {\n label: { position, offset },\n padding,\n },\n x,\n } = this.calendar.options.options;\n\n let y = padding[Position.TOP] + x.domainVerticalLabelHeight / 2;\n\n if (position === 'bottom') {\n y += this.#getDomainInsideHeight(d);\n }\n\n return y + offset.y;\n }\n\n #getDomainInsideWidth(d: Timestamp): number {\n const {\n domain: { padding },\n x: { domainHorizontalLabelWidth },\n } = this.calendar.options.options;\n const { coordinates } =\n this.calendar.calendarPainter.domainsContainerPainter.domainPainter;\n\n return (\n coordinates.get(d)!.inner_width -\n domainHorizontalLabelWidth -\n horizontalPadding(padding)\n );\n }\n\n #getDomainInsideHeight(d: Timestamp): number {\n const {\n x: { domainVerticalLabelHeight },\n domain: { padding },\n } = this.calendar.options.options;\n const { coordinates } =\n this.calendar.calendarPainter.domainsContainerPainter.domainPainter;\n\n return (\n coordinates.get(d)!.inner_height -\n domainVerticalLabelHeight -\n verticalPadding(padding)\n );\n }\n\n #domainRotate(selection: any) {\n const {\n domain: {\n label: { rotate, textAlign, position },\n },\n x,\n } = this.calendar.options.options;\n const labelWidth = x.domainHorizontalLabelWidth;\n\n switch (rotate) {\n // Rotating the text clockwise\n case 'right':\n selection.attr('transform', (d: Timestamp) => {\n const domainWidth = this.#getDomainInsideWidth(d);\n const domainHeight = this.#getDomainInsideHeight(d);\n const s = [\n `rotate(90, ${position === 'right' ? domainWidth : labelWidth}, 0)`,\n ];\n\n switch (position) {\n case 'right':\n if (textAlign === 'middle') {\n s.push(`translate(${domainHeight / 2 - labelWidth / 2})`);\n } else if (textAlign === 'end') {\n s.push(`translate(${domainHeight - labelWidth})`);\n }\n break;\n case 'left':\n if (textAlign === 'start') {\n s.push(`translate(${labelWidth})`);\n } else if (textAlign === 'middle') {\n s.push(`translate(${labelWidth / 2 + domainHeight / 2})`);\n } else if (textAlign === 'end') {\n s.push(`translate(${domainHeight})`);\n }\n break;\n default:\n }\n\n return s.join(',');\n });\n break;\n // Rotating the text anticlockwise\n case 'left':\n selection.attr('transform', (d: Timestamp) => {\n const domainWidth = this.#getDomainInsideWidth(d);\n const domainHeight = this.#getDomainInsideHeight(d);\n const s = [\n `rotate(270, ${\n position === 'right' ? domainWidth : labelWidth\n }, 0)`,\n ];\n\n switch (position) {\n case 'right':\n if (textAlign === 'start') {\n s.push(`translate(-${domainHeight})`);\n } else if (textAlign === 'middle') {\n s.push(`translate(-${domainHeight / 2 + labelWidth / 2})`);\n } else if (textAlign === 'end') {\n s.push(`translate(-${labelWidth})`);\n }\n break;\n case 'left':\n if (textAlign === 'start') {\n s.push(`translate(${labelWidth - domainHeight})`);\n } else if (textAlign === 'middle') {\n s.push(`translate(${labelWidth / 2 - domainHeight / 2})`);\n }\n break;\n default:\n }\n\n return s.join(',');\n });\n break;\n default:\n }\n }\n}\n","'use strict';\n// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar replace = uncurryThis(''.replace);\nvar ltrim = RegExp('^[' + whitespaces + ']+');\nvar rtrim = RegExp('(^|[^' + whitespaces + '])[' + whitespaces + ']+$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = replace(string, ltrim, '');\n if (TYPE & 2) string = replace(string, rtrim, '$1');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","'use strict';\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]()\n || non[METHOD_NAME]() !== non\n || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME);\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","import { Position } from '../constant';\nimport type CalHeatmap from '../CalHeatmap';\nimport type { Timestamp, SubDomain } from '../index';\n\nexport const DEFAULT_SELECTOR = '.ch-subdomain';\nconst HIGHLIGHT_CLASSNAME = 'highlight';\n\nexport default class SubDomainPainter {\n calendar: CalHeatmap;\n\n root: any;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n this.root = null;\n }\n\n paint(root: any): void {\n this.root = root || this.root;\n const containerClassname = `${DEFAULT_SELECTOR}-container`;\n\n const subDomainSvgGroup = this.root\n .selectAll(containerClassname)\n .data(\n (d: Timestamp) => [d],\n (d: Timestamp) => d,\n )\n .join(\n (enter: any) => enter\n .append('svg')\n .call((selection: any) => this.#setPositions(selection))\n .attr('class', containerClassname.slice(1)),\n\n (update: any) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n update.call((selection: any) => this.#setPositions(selection)),\n );\n\n const {\n subDomain: {\n radius, width, height, sort,\n },\n } = this.calendar.options.options;\n const evt = this.calendar.eventEmitter;\n\n subDomainSvgGroup\n .selectAll('g')\n .data((d: Timestamp) => {\n const subDomainsCollection: SubDomain[] =\n this.calendar.domainCollection.get(d)!;\n if (sort === 'desc') {\n const max = Math.max(\n ...subDomainsCollection.map((s: SubDomain) => s.x),\n );\n subDomainsCollection.forEach((s: SubDomain, i: number) => {\n subDomainsCollection[i].x = Math.abs(s.x - max);\n });\n }\n\n return subDomainsCollection;\n })\n .join(\n (enter: any) => enter\n .append('g')\n .call((selection: any) => selection\n .insert('rect')\n .attr('class', (d: SubDomain) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n this.#classname(d.t, `${DEFAULT_SELECTOR.slice(1)}-bg`))\n .attr('width', width)\n .attr('height', height)\n .attr('x', (d: SubDomain) => this.#getX(d))\n .attr('y', (d: SubDomain) => this.#getY(d))\n .on('click', (ev: PointerEvent, d: SubDomain) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n evt.emit('click', ev, d.t, d.v))\n .on('mouseover', (ev: PointerEvent, d: SubDomain) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n evt.emit('mouseover', ev, d.t, d.v))\n .on('mouseout', (ev: PointerEvent, d: SubDomain) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n evt.emit('mouseout', ev, d.t, d.v))\n .attr('rx', radius > 0 ? radius : null)\n .attr('ry', radius > 0 ? radius : null))\n .call((selection: any) => this.#appendText(selection)),\n (update: any) => update\n .selectAll('rect')\n .attr('class', (d: SubDomain) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n this.#classname(d.t, `${DEFAULT_SELECTOR.slice(1)}-bg`))\n .attr('width', width)\n .attr('height', height)\n .attr('x', (d: SubDomain) => this.#getX(d))\n .attr('y', (d: SubDomain) => this.#getY(d))\n .attr('rx', radius)\n .attr('ry', radius),\n );\n }\n\n /**\n * Set the subDomain group X and Y position\n * @param {d3-selection} selection A d3-selection object\n */\n #setPositions(selection: any): void {\n const { options } = this.calendar.options;\n const {\n padding,\n label: { position },\n } = options.domain;\n\n selection\n .attr('x', () => {\n let pos = padding[Position.LEFT];\n if (position === 'left') {\n pos += options.x.domainHorizontalLabelWidth;\n }\n return pos;\n })\n .attr('y', () => {\n let pos = padding[Position.TOP];\n if (position === 'top') {\n pos += options.x.domainVerticalLabelHeight;\n }\n return pos;\n });\n }\n\n /**\n * Return a classname if the specified date should be highlighted\n *\n * @param {number} timestamp Unix timestamp of the current subDomain\n * @return {String} the highlight class\n */\n #classname(timestamp: Timestamp, ...otherClasses: string[]): string {\n const {\n date: { highlight },\n subDomain: { type },\n } = this.calendar.options.options;\n let classname = '';\n\n if (highlight.length > 0) {\n highlight.forEach((d) => {\n const unitFn = this.calendar.templateCollection.get(type).extractUnit;\n\n if (unitFn(+d) === unitFn(timestamp)) {\n classname = HIGHLIGHT_CLASSNAME;\n }\n });\n }\n\n return [classname, ...otherClasses].join(' ').trim();\n }\n\n #appendText(elem: any) {\n const { width, height, label } = this.calendar.options.options.subDomain;\n\n if (!label) {\n return null;\n }\n\n return elem\n .append('text')\n .attr('class', (d: SubDomain) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n this.#classname(d.t, `${DEFAULT_SELECTOR.slice(1)}-text`))\n .attr('x', (d: SubDomain) => this.#getX(d) + width / 2)\n .attr('y', (d: SubDomain) => this.#getY(d) + height / 2)\n .attr('text-anchor', 'middle')\n .attr('dominant-baseline', 'central')\n .text((d: SubDomain, i: number, nodes: any[]) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n this.calendar.dateHelper.format(d.t, label, d.v, nodes[i]));\n }\n\n #getCoordinates(axis: 'x' | 'y', d: SubDomain): number {\n const { subDomain } = this.calendar.options.options;\n return (\n d[axis] *\n (subDomain[axis === 'x' ? 'width' : 'height'] + subDomain.gutter)\n );\n }\n\n #getX(d: SubDomain): number {\n return this.#getCoordinates('x', d);\n }\n\n #getY(d: SubDomain): number {\n return this.#getCoordinates('y', d);\n }\n}\n","import { select } from 'd3-selection';\nimport DomainPainter from './DomainPainter';\nimport DomainLabelPainter from './DomainLabelPainter';\nimport SubDomainPainter from '../subDomain/SubDomainPainter';\nimport { ScrollDirection } from '../constant';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport type { Dimensions } from '../index';\n\nconst BASE_SELECTOR = '.ch-domain-container';\nconst TRANSITION_CLASSNAME = 'in-transition';\n\nclass DomainsContainerPainter {\n calendar: CalHeatmap;\n\n domainPainter: DomainPainter;\n\n domainLabelPainter: DomainLabelPainter;\n\n subDomainPainter: SubDomainPainter;\n\n dimensions: Dimensions;\n\n root: any;\n\n transitionsQueueCount: number;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n\n this.domainPainter = new DomainPainter(calendar);\n this.subDomainPainter = new SubDomainPainter(calendar);\n this.domainLabelPainter = new DomainLabelPainter(calendar);\n this.dimensions = {\n width: 0,\n height: 0,\n };\n this.transitionsQueueCount = 0;\n }\n\n setup() {\n this.root = this.calendar.calendarPainter.root\n .attr('x', 0)\n .attr('y', 0)\n .append('svg')\n .attr('class', BASE_SELECTOR.slice(1))\n .append('svg')\n .attr('class', `${BASE_SELECTOR.slice(1)}-animation-wrapper`);\n }\n\n paint(scrollDirection: ScrollDirection): Promise[] {\n this.#startAnimation();\n\n const result = this.domainPainter.paint(scrollDirection, this.root);\n this.subDomainPainter.paint(this.domainPainter.root);\n this.domainLabelPainter.paint(this.domainPainter.root);\n\n this.#recomputeDimensions();\n\n Promise.allSettled(result).then(() => {\n this.#endAnimation();\n });\n\n return result;\n }\n\n updatePosition() {\n if (!this.root?.node()) {\n return Promise.resolve();\n }\n\n const { animationDuration } = this.calendar.options.options;\n const topHeight = this.calendar.pluginManager.getHeightFromPosition('top');\n const leftWidth = this.calendar.pluginManager.getWidthFromPosition('left');\n\n return [\n select(this.root.node().parentNode)\n .transition()\n .duration(animationDuration)\n .call((selection: any) => {\n selection.attr('x', leftWidth).attr('y', topHeight);\n })\n .end(),\n ];\n }\n\n width(): Dimensions['width'] {\n return this.dimensions.width;\n }\n\n height(): Dimensions['height'] {\n return this.dimensions.height;\n }\n\n destroy(): Promise {\n this.#startAnimation();\n\n return Promise.resolve();\n }\n\n #startAnimation() {\n if (this.root?.node()) {\n this.transitionsQueueCount += 1;\n select(this.root.node().parentNode).classed(TRANSITION_CLASSNAME, true);\n }\n }\n\n #endAnimation() {\n if (this.root?.node()) {\n this.transitionsQueueCount -= 1;\n\n if (this.transitionsQueueCount === 0) {\n select(this.root.node().parentNode).classed(\n TRANSITION_CLASSNAME,\n false,\n );\n }\n }\n }\n\n #recomputeDimensions(): void {\n const {\n animationDuration,\n verticalOrientation,\n domain: { gutter },\n } = this.calendar.options.options;\n const { dimensions: domainsDimensions } = this.domainPainter;\n\n this.dimensions = {\n width: domainsDimensions.width - (verticalOrientation ? 0 : gutter),\n height: domainsDimensions.height - (!verticalOrientation ? 0 : gutter),\n };\n\n this.root\n .transition()\n .duration(animationDuration)\n .attr('width', this.dimensions.width)\n .attr('height', this.dimensions.height);\n }\n}\n\nexport default DomainsContainerPainter;\n","import type CalHeatmap from '../CalHeatmap';\n\nclass PluginPainter {\n calendar: CalHeatmap;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n }\n\n paint(): Promise[] {\n let promises: Promise[] = [];\n\n promises = promises.concat(this.calendar.pluginManager.paintAll());\n promises = promises.concat(this.setPluginsPosition());\n\n return promises;\n }\n\n setPluginsPosition(): Promise[] {\n const { pluginManager } = this.calendar;\n const { animationDuration } = this.calendar.options.options;\n const { domainsContainerPainter } = this.calendar.calendarPainter;\n\n const top = pluginManager.getFromPosition('top');\n const right = pluginManager.getFromPosition('right');\n const bottom = pluginManager.getFromPosition('bottom');\n const left = pluginManager.getFromPosition('left');\n\n const topHeight = pluginManager.getHeightFromPosition('top');\n const leftWidth = pluginManager.getWidthFromPosition('left');\n\n const promises: Promise[] = [];\n\n let topOffset = 0;\n top.forEach((plugin) => {\n promises.push(\n plugin.root\n .transition()\n .duration(animationDuration)\n .attr('y', topOffset)\n .attr('x', leftWidth)\n .end(),\n );\n topOffset += plugin.options.dimensions!.height;\n });\n\n let leftOffset = 0;\n left.forEach((plugin) => {\n promises.push(\n plugin.root\n .transition()\n .duration(animationDuration)\n .attr('x', leftOffset)\n .attr('y', topHeight)\n .end(),\n );\n leftOffset += plugin.options.dimensions!.width;\n });\n\n bottom.forEach((plugin) => {\n promises.push(\n plugin.root\n .transition()\n .duration(animationDuration)\n .attr('x', leftWidth)\n .attr('y', topHeight + domainsContainerPainter.height())\n .end(),\n );\n });\n\n leftOffset += domainsContainerPainter.width();\n\n right.forEach((plugin) => {\n promises.push(\n plugin.root\n .transition()\n .duration(animationDuration)\n .attr('x', leftOffset)\n .attr('y', topHeight)\n .end(),\n );\n leftOffset += plugin.options.dimensions!.width;\n });\n\n return promises;\n }\n\n insideWidth() {\n return (\n this.calendar.pluginManager.getWidthFromPosition('left') +\n this.calendar.pluginManager.getWidthFromPosition('right')\n );\n }\n\n insideHeight() {\n return (\n this.calendar.pluginManager.getHeightFromPosition('top') +\n this.calendar.pluginManager.getHeightFromPosition('bottom')\n );\n }\n}\n\nexport default PluginPainter;\n","import { select } from 'd3-selection';\n\nimport DomainsContainerPainter from '../domain/DomainsContainerPainter';\nimport PluginPainter from '../plugins/PluginPainter';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport { ScrollDirection } from '../constant';\nimport type { Dimensions } from '../index';\n\nexport const DEFAULT_SELECTOR = '.ch-container';\n\nexport default class CalendarPainter {\n calendar: CalHeatmap;\n\n dimensions: Dimensions;\n\n root: any;\n\n domainsContainerPainter: DomainsContainerPainter;\n\n pluginPainter: PluginPainter;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n this.dimensions = {\n width: 0,\n height: 0,\n };\n this.root = null;\n this.domainsContainerPainter = new DomainsContainerPainter(calendar);\n this.pluginPainter = new PluginPainter(calendar);\n }\n\n setup(): boolean {\n const { itemSelector, theme } = this.calendar.options.options;\n\n if (!this.root) {\n this.root = select(itemSelector)\n .append('svg')\n .attr('data-theme', theme)\n .attr('class', DEFAULT_SELECTOR.slice(1));\n this.domainsContainerPainter.setup();\n }\n\n this.calendar.pluginManager.setupAll();\n\n return true;\n }\n\n paint(navigationDir: ScrollDirection = ScrollDirection.SCROLL_NONE) {\n const transitions = this.domainsContainerPainter\n .paint(navigationDir)\n .concat(this.pluginPainter.paint())\n .concat(this.domainsContainerPainter.updatePosition());\n\n this.#resize();\n\n return Promise.allSettled(transitions);\n }\n\n #getHeight(): Dimensions['height'] {\n return (\n this.domainsContainerPainter.height() + this.pluginPainter.insideHeight()\n );\n }\n\n #getWidth(): Dimensions['width'] {\n return (\n this.domainsContainerPainter.width() + this.pluginPainter.insideWidth()\n );\n }\n\n #resize(): void {\n const { options } = this.calendar.options;\n\n const newWidth = this.#getWidth();\n const newHeight = this.#getHeight();\n\n this.root\n .transition()\n .duration(options.animationDuration)\n .attr('width', newWidth)\n .attr('height', newHeight);\n\n if (\n newWidth !== this.dimensions.width ||\n newHeight !== this.dimensions.height\n ) {\n this.calendar.eventEmitter.emit(\n 'resize',\n newWidth,\n newHeight,\n this.dimensions.width,\n this.dimensions.height,\n );\n }\n\n this.dimensions = {\n width: newWidth,\n height: newHeight,\n };\n }\n\n destroy(): Promise {\n const result: Promise[] = this.calendar.pluginManager\n .destroyAll()\n .concat(this.domainsContainerPainter.destroy());\n\n if (!this.root) {\n return Promise.allSettled(result);\n }\n\n result.push(\n this.root\n .transition()\n .duration(this.calendar.options.options.animationDuration)\n .attr('width', 0)\n .attr('height', 0)\n .remove()\n .end(),\n );\n\n return Promise.allSettled(result);\n }\n}\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","import baseGetTag from './_baseGetTag.js';\nimport isObject from './isObject.js';\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nexport default isFunction;\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) === 'RegExp');\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es/no-string-prototype-startswith -- safe\nvar nativeStartsWith = uncurryThis(''.startsWith);\nvar stringSlice = uncurryThis(''.slice);\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = toString(searchString);\n return nativeStartsWith\n ? nativeStartsWith(that, search, index)\n : stringSlice(that, index, index + search.length) === search;\n }\n});\n","'use strict';\nvar isRegExp = require('../internals/is-regexp');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw new $TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (error1) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (error2) { /* empty */ }\n } return false;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar objectGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\nvar propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\nvar push = uncurryThis([].push);\n\n// in some IE versions, `propertyIsEnumerable` returns incorrect result on integer keys\n// of `null` prototype objects\nvar IE_BUG = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-create -- safe\n var O = Object.create(null);\n O[2] = 2;\n return !propertyIsEnumerable(O, 2);\n});\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var IE_WORKAROUND = IE_BUG && objectGetPrototypeOf(O) === null;\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || (IE_WORKAROUND ? key in O : propertyIsEnumerable(O, key))) {\n push(result, TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","import {ascending, descending} from \"d3\";\n\nexport function defined(x) {\n return x != null && !Number.isNaN(x);\n}\n\nexport function ascendingDefined(a, b) {\n return +defined(b) - +defined(a) || ascending(a, b);\n}\n\nexport function descendingDefined(a, b) {\n return +defined(b) - +defined(a) || descending(a, b);\n}\n\nexport function nonempty(x) {\n return x != null && `${x}` !== \"\";\n}\n\nexport function finite(x) {\n return isFinite(x) ? x : NaN;\n}\n\nexport function positive(x) {\n return x > 0 && isFinite(x) ? x : NaN;\n}\n\nexport function negative(x) {\n return x < 0 && isFinite(x) ? x : NaN;\n}\n","const re = /^(?:[-+]\\d{2})?\\d{4}(?:-\\d{2}(?:-\\d{2})?)?(?:T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{3})?)?(?:Z|[-+]\\d{2}:?\\d{2})?)?$/;\n\nexport default function parse(string, fallback) {\n if (!re.test(string += \"\")) return typeof fallback === \"function\" ? fallback(string) : fallback;\n return new Date(string);\n}\n","import {utcSecond, utcMinute, utcHour, utcDay, utcWeek, utcMonth, utcYear} from \"d3\";\nimport {utcMonday, utcTuesday, utcWednesday, utcThursday, utcFriday, utcSaturday, utcSunday} from \"d3\";\nimport {timeSecond, timeMinute, timeHour, timeDay, timeWeek, timeMonth, timeYear} from \"d3\";\nimport {timeMonday, timeTuesday, timeWednesday, timeThursday, timeFriday, timeSaturday, timeSunday} from \"d3\";\n\nconst timeIntervals = new Map([\n [\"second\", timeSecond],\n [\"minute\", timeMinute],\n [\"hour\", timeHour],\n [\"day\", timeDay],\n [\"week\", timeWeek],\n [\"month\", timeMonth],\n [\"quarter\", timeMonth.every(3)],\n [\"half\", timeMonth.every(6)],\n [\"year\", timeYear],\n [\"monday\", timeMonday],\n [\"tuesday\", timeTuesday],\n [\"wednesday\", timeWednesday],\n [\"thursday\", timeThursday],\n [\"friday\", timeFriday],\n [\"saturday\", timeSaturday],\n [\"sunday\", timeSunday]\n]);\n\nconst utcIntervals = new Map([\n [\"second\", utcSecond],\n [\"minute\", utcMinute],\n [\"hour\", utcHour],\n [\"day\", utcDay],\n [\"week\", utcWeek],\n [\"month\", utcMonth],\n [\"quarter\", utcMonth.every(3)],\n [\"half\", utcMonth.every(6)],\n [\"year\", utcYear],\n [\"monday\", utcMonday],\n [\"tuesday\", utcTuesday],\n [\"wednesday\", utcWednesday],\n [\"thursday\", utcThursday],\n [\"friday\", utcFriday],\n [\"saturday\", utcSaturday],\n [\"sunday\", utcSunday]\n]);\n\nexport function maybeTimeInterval(interval) {\n const i = timeIntervals.get(`${interval}`.toLowerCase());\n if (!i) throw new Error(`unknown interval: ${interval}`);\n return i;\n}\n\nexport function maybeUtcInterval(interval) {\n const i = utcIntervals.get(`${interval}`.toLowerCase());\n if (!i) throw new Error(`unknown interval: ${interval}`);\n return i;\n}\n","import {parse as isoParse} from \"isoformat\";\nimport {color, descending, range as rangei, quantile} from \"d3\";\nimport {maybeTimeInterval, maybeUtcInterval} from \"./time.js\";\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray\nexport const TypedArray = Object.getPrototypeOf(Uint8Array);\nconst objectToString = Object.prototype.toString;\n\nexport function valueof(data, value, type) {\n const valueType = typeof value;\n return valueType === \"string\"\n ? maybeTypedMap(data, field(value), type)\n : valueType === \"function\"\n ? maybeTypedMap(data, value, type)\n : valueType === \"number\" || value instanceof Date || valueType === \"boolean\"\n ? map(data, constant(value), type)\n : typeof value?.transform === \"function\"\n ? maybeTypedArrayify(value.transform(data), type)\n : maybeTypedArrayify(value, type);\n}\n\nfunction maybeTypedMap(data, f, type) {\n return map(data, type?.prototype instanceof TypedArray ? floater(f) : f, type);\n}\n\nfunction maybeTypedArrayify(data, type) {\n return type === undefined\n ? arrayify(data) // preserve undefined type\n : data instanceof type\n ? data\n : type.prototype instanceof TypedArray && !(data instanceof TypedArray)\n ? type.from(data, coerceNumber)\n : type.from(data);\n}\n\nfunction floater(f) {\n return (d, i) => coerceNumber(f(d, i));\n}\n\nexport const field = (name) => (d) => d[name];\nexport const indexOf = {transform: range};\nexport const identity = {transform: (d) => d};\nexport const zero = () => 0;\nexport const one = () => 1;\nexport const yes = () => true;\nexport const string = (x) => (x == null ? x : `${x}`);\nexport const number = (x) => (x == null ? x : +x);\nexport const boolean = (x) => (x == null ? x : !!x);\nexport const first = (x) => (x ? x[0] : undefined);\nexport const second = (x) => (x ? x[1] : undefined);\nexport const third = (x) => (x ? x[2] : undefined);\nexport const constant = (x) => () => x;\n\n// Converts a string like “p25” into a function that takes an index I and an\n// accessor function f, returning the corresponding percentile value.\nexport function percentile(reduce) {\n const p = +`${reduce}`.slice(1) / 100;\n return (I, f) => quantile(I, p, f);\n}\n\n// If the values are specified as a typed array, no coercion is required.\nexport function coerceNumbers(values) {\n return values instanceof TypedArray ? values : map(values, coerceNumber, Float64Array);\n}\n\n// Unlike Mark’s number, here we want to convert null and undefined to NaN since\n// the result will be stored in a Float64Array and we don’t want null to be\n// coerced to zero. We use Number instead of unary + to allow BigInt coercion.\nfunction coerceNumber(x) {\n return x == null ? NaN : Number(x);\n}\n\nexport function coerceDates(values) {\n return map(values, coerceDate);\n}\n\n// When coercing strings to dates, we only want to allow the ISO 8601 format\n// since the built-in string parsing of the Date constructor varies across\n// browsers. (In the future, this could be made more liberal if desired, though\n// it is still generally preferable to do date parsing yourself explicitly,\n// rather than rely on Plot.) Any non-string values are coerced to number first\n// and treated as milliseconds since UNIX epoch.\nexport function coerceDate(x) {\n return x instanceof Date && !isNaN(x)\n ? x\n : typeof x === \"string\"\n ? isoParse(x)\n : x == null || isNaN((x = +x))\n ? undefined\n : new Date(x);\n}\n\n// Some channels may allow a string constant to be specified; to differentiate\n// string constants (e.g., \"red\") from named fields (e.g., \"date\"), this\n// function tests whether the given value is a CSS color string and returns a\n// tuple [channel, constant] where one of the two is undefined, and the other is\n// the given value. If you wish to reference a named field that is also a valid\n// CSS color, use an accessor (d => d.red) instead.\nexport function maybeColorChannel(value, defaultValue) {\n if (value === undefined) value = defaultValue;\n return value === null ? [undefined, \"none\"] : isColor(value) ? [undefined, value] : [value, undefined];\n}\n\n// Similar to maybeColorChannel, this tests whether the given value is a number\n// indicating a constant, and otherwise assumes that it’s a channel value.\nexport function maybeNumberChannel(value, defaultValue) {\n if (value === undefined) value = defaultValue;\n return value === null || typeof value === \"number\" ? [undefined, value] : [value, undefined];\n}\n\n// Validates the specified optional string against the allowed list of keywords.\nexport function maybeKeyword(input, name, allowed) {\n if (input != null) return keyword(input, name, allowed);\n}\n\n// Validates the specified required string against the allowed list of keywords.\nexport function keyword(input, name, allowed) {\n const i = `${input}`.toLowerCase();\n if (!allowed.includes(i)) throw new Error(`invalid ${name}: ${input}`);\n return i;\n}\n\n// Promotes the specified data to an array as needed.\nexport function arrayify(data) {\n return data == null || data instanceof Array || data instanceof TypedArray ? data : Array.from(data);\n}\n\n// An optimization of type.from(values, f): if the given values are already an\n// instanceof the desired array type, the faster values.map method is used.\nexport function map(values, f, type = Array) {\n return values == null ? values : values instanceof type ? values.map(f) : type.from(values, f);\n}\n\n// An optimization of type.from(values): if the given values are already an\n// instanceof the desired array type, the faster values.slice method is used.\nexport function slice(values, type = Array) {\n return values instanceof type ? values.slice() : type.from(values);\n}\n\n// Disambiguates an options object (e.g., {y: \"x2\"}) from a primitive value.\nexport function isObject(option) {\n return option?.toString === objectToString;\n}\n\n// Disambiguates a scale options object (e.g., {color: {type: \"linear\"}}) from\n// some other option (e.g., {color: \"red\"}). When creating standalone legends,\n// this is used to test whether a scale is defined; this should be consistent\n// with inferScaleType when there are no channels associated with the scale, and\n// if this returns true, then normalizeScale must return non-null.\nexport function isScaleOptions(option) {\n return isObject(option) && (option.type !== undefined || option.domain !== undefined);\n}\n\n// Disambiguates an options object (e.g., {y: \"x2\"}) from a channel value\n// definition expressed as a channel transform (e.g., {transform: …}).\nexport function isOptions(option) {\n return isObject(option) && typeof option.transform !== \"function\";\n}\n\n// Disambiguates a sort transform (e.g., {sort: \"date\"}) from a channel domain\n// sort definition (e.g., {sort: {y: \"x\"}}).\nexport function isDomainSort(sort) {\n return isOptions(sort) && sort.value === undefined && sort.channel === undefined;\n}\n\n// For marks specified either as [0, x] or [x1, x2], such as areas and bars.\nexport function maybeZero(x, x1, x2, x3 = identity) {\n if (x1 === undefined && x2 === undefined) {\n // {x} or {}\n (x1 = 0), (x2 = x === undefined ? x3 : x);\n } else if (x1 === undefined) {\n // {x, x2} or {x2}\n x1 = x === undefined ? 0 : x;\n } else if (x2 === undefined) {\n // {x, x1} or {x1}\n x2 = x === undefined ? 0 : x;\n }\n return [x1, x2];\n}\n\n// For marks that have x and y channels (e.g., cell, dot, line, text).\nexport function maybeTuple(x, y) {\n return x === undefined && y === undefined ? [first, second] : [x, y];\n}\n\n// A helper for extracting the z channel, if it is variable. Used by transforms\n// that require series, such as moving average and normalize.\nexport function maybeZ({z, fill, stroke} = {}) {\n if (z === undefined) [z] = maybeColorChannel(fill);\n if (z === undefined) [z] = maybeColorChannel(stroke);\n return z;\n}\n\n// Returns a Uint32Array with elements [0, 1, 2, … data.length - 1].\nexport function range(data) {\n const n = data.length;\n const r = new Uint32Array(n);\n for (let i = 0; i < n; ++i) r[i] = i;\n return r;\n}\n\n// Returns a filtered range of data given the test function.\nexport function where(data, test) {\n return range(data).filter((i) => test(data[i], i, data));\n}\n\n// Returns an array [values[index[0]], values[index[1]], …].\nexport function take(values, index) {\n return map(index, (i) => values[i]);\n}\n\n// Based on InternMap (d3.group).\nexport function keyof(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n}\n\nexport function maybeInput(key, options) {\n if (options[key] !== undefined) return options[key];\n switch (key) {\n case \"x1\":\n case \"x2\":\n key = \"x\";\n break;\n case \"y1\":\n case \"y2\":\n key = \"y\";\n break;\n }\n return options[key];\n}\n\nexport function column(source) {\n // Defines a column whose values are lazily populated by calling the returned\n // setter. If the given source is labeled, the label is propagated to the\n // returned column definition.\n let value;\n return [\n {\n transform: () => value,\n label: labelof(source)\n },\n (v) => (value = v)\n ];\n}\n\n// Like column, but allows the source to be null.\nexport function maybeColumn(source) {\n return source == null ? [source] : column(source);\n}\n\nexport function labelof(value, defaultValue) {\n return typeof value === \"string\" ? value : value && value.label !== undefined ? value.label : defaultValue;\n}\n\n// Assuming that both x1 and x2 and lazy columns (per above), this derives a new\n// a column that’s the average of the two, and which inherits the column label\n// (if any). Both input columns are assumed to be quantitative. If either column\n// is temporal, the returned column is also temporal.\nexport function mid(x1, x2) {\n return {\n transform(data) {\n const X1 = x1.transform(data);\n const X2 = x2.transform(data);\n return isTemporal(X1) || isTemporal(X2)\n ? map(X1, (_, i) => new Date((+X1[i] + +X2[i]) / 2))\n : map(X1, (_, i) => (+X1[i] + +X2[i]) / 2, Float64Array);\n },\n label: x1.label\n };\n}\n\n// If interval is not nullish, converts interval shorthand such as a number (for\n// multiples) or a time interval name (such as “day”) to a {floor, offset,\n// range} object similar to a D3 time interval.\nexport function maybeInterval(interval, type) {\n if (interval == null) return;\n if (typeof interval === \"number\") {\n if (0 < interval && interval < 1 && Number.isInteger(1 / interval)) interval = -1 / interval;\n const n = Math.abs(interval);\n return interval < 0\n ? {\n floor: (d) => Math.floor(d * n) / n,\n offset: (d) => (d * n + 1) / n, // note: no optional step for simplicity\n range: (lo, hi) => rangei(Math.ceil(lo * n), hi * n).map((x) => x / n)\n }\n : {\n floor: (d) => Math.floor(d / n) * n,\n offset: (d) => d + n, // note: no optional step for simplicity\n range: (lo, hi) => rangei(Math.ceil(lo / n), hi / n).map((x) => x * n)\n };\n }\n if (typeof interval === \"string\") return (type === \"time\" ? maybeTimeInterval : maybeUtcInterval)(interval);\n if (typeof interval.floor !== \"function\") throw new Error(\"invalid interval; missing floor method\");\n if (typeof interval.offset !== \"function\") throw new Error(\"invalid interval; missing offset method\");\n return interval;\n}\n\n// Like maybeInterval, but requires a range method too.\nexport function maybeRangeInterval(interval, type) {\n interval = maybeInterval(interval, type);\n if (interval && typeof interval.range !== \"function\") throw new Error(\"invalid interval: missing range method\");\n return interval;\n}\n\n// Like maybeRangeInterval, but requires a ceil method too.\nexport function maybeNiceInterval(interval, type) {\n interval = maybeRangeInterval(interval, type);\n if (interval && typeof interval.ceil !== \"function\") throw new Error(\"invalid interval: missing ceil method\");\n return interval;\n}\n\n// This distinguishes between per-dimension options and a standalone value.\nexport function maybeValue(value) {\n return value === undefined || isOptions(value) ? value : {value};\n}\n\n// Coerces the given channel values (if any) to numbers. This is useful when\n// values will be interpolated into other code, such as an SVG transform, and\n// where we don’t wish to allow unexpected behavior for weird input.\nexport function numberChannel(source) {\n return source == null\n ? null\n : {\n transform: (data) => valueof(data, source, Float64Array),\n label: labelof(source)\n };\n}\n\nexport function isTuples(data) {\n if (!isIterable(data)) return false;\n for (const d of data) {\n if (d == null) continue;\n return typeof d === \"object\" && \"0\" in d && \"1\" in d;\n }\n}\n\nexport function isIterable(value) {\n return value && typeof value[Symbol.iterator] === \"function\";\n}\n\nexport function isTextual(values) {\n for (const value of values) {\n if (value == null) continue;\n return typeof value !== \"object\" || value instanceof Date;\n }\n}\n\nexport function isOrdinal(values) {\n for (const value of values) {\n if (value == null) continue;\n const type = typeof value;\n return type === \"string\" || type === \"boolean\";\n }\n}\n\nexport function isTemporal(values) {\n for (const value of values) {\n if (value == null) continue;\n return value instanceof Date;\n }\n}\n\n// Are these strings that might represent dates? This is stricter than ISO 8601\n// because we want to ignore false positives on numbers; for example, the string\n// \"1192\" is more likely to represent a number than a date even though it is\n// valid ISO 8601 representing 1192-01-01.\nexport function isTemporalString(values) {\n for (const value of values) {\n if (value == null) continue;\n return typeof value === \"string\" && isNaN(value) && isoParse(value);\n }\n}\n\n// Are these strings that might represent numbers? This is stricter than\n// coercion because we want to ignore false positives on e.g. empty strings.\nexport function isNumericString(values) {\n for (const value of values) {\n if (value == null) continue;\n if (typeof value !== \"string\") return false;\n if (!value.trim()) continue;\n return !isNaN(value);\n }\n}\n\nexport function isNumeric(values) {\n for (const value of values) {\n if (value == null) continue;\n return typeof value === \"number\";\n }\n}\n\n// Returns true if every non-null value in the specified iterable of values\n// passes the specified predicate, and there is at least one non-null value;\n// returns false if at least one non-null value does not pass the specified\n// predicate; otherwise returns undefined (as if all values are null).\nexport function isEvery(values, is) {\n let every;\n for (const value of values) {\n if (value == null) continue;\n if (!is(value)) return false;\n every = true;\n }\n return every;\n}\n\n// Mostly relies on d3-color, with a few extra color keywords. Currently this\n// strictly requires that the value be a string; we might want to apply string\n// coercion here, though note that d3-color instances would need to support\n// valueOf to work correctly with InternMap.\n// https://www.w3.org/TR/SVG11/painting.html#SpecifyingPaint\nexport function isColor(value) {\n if (typeof value !== \"string\") return false;\n value = value.toLowerCase().trim();\n return (\n value === \"none\" ||\n value === \"currentcolor\" ||\n (value.startsWith(\"url(\") && value.endsWith(\")\")) || // , e.g. pattern or gradient\n (value.startsWith(\"var(\") && value.endsWith(\")\")) || // CSS variable\n color(value) !== null\n );\n}\n\nexport function isOpacity(value) {\n return typeof value === \"number\" && ((0 <= value && value <= 1) || isNaN(value));\n}\n\nexport function isNoneish(value) {\n return value == null || isNone(value);\n}\n\nexport function isNone(value) {\n return /^\\s*none\\s*$/i.test(value);\n}\n\nexport function isRound(value) {\n return /^\\s*round\\s*$/i.test(value);\n}\n\nexport function maybeFrameAnchor(value = \"middle\") {\n return keyword(value, \"frameAnchor\", [\n \"middle\",\n \"top-left\",\n \"top\",\n \"top-right\",\n \"right\",\n \"bottom-right\",\n \"bottom\",\n \"bottom-left\",\n \"left\"\n ]);\n}\n\n// Like a sort comparator, returns a positive value if the given array of values\n// is in ascending order, a negative value if the values are in descending\n// order. Assumes monotonicity; only tests the first and last values.\nexport function orderof(values) {\n if (values == null) return;\n const first = values[0];\n const last = values[values.length - 1];\n return descending(first, last);\n}\n\n// Unlike {...defaults, ...options}, this ensures that any undefined (but\n// present) properties in options inherit the given default value.\nexport function inherit(options = {}, ...rest) {\n let o = options;\n for (const defaults of rest) {\n for (const key in defaults) {\n if (o[key] === undefined) {\n const value = defaults[key];\n if (o === options) o = {...o, [key]: value};\n else o[key] = value;\n }\n }\n }\n return o;\n}\n\n// Given an iterable of named things (objects with a name property), returns a\n// corresponding object with properties associated with the given name.\nexport function named(things) {\n console.warn(\"named iterables are deprecated; please use an object instead\");\n const names = new Set();\n return Object.fromEntries(\n Array.from(things, (thing) => {\n const {name} = thing;\n if (name == null) throw new Error(\"missing name\");\n const key = `${name}`;\n if (key === \"__proto__\") throw new Error(`illegal name: ${key}`);\n if (names.has(key)) throw new Error(`duplicate name: ${key}`);\n names.add(key);\n return [name, thing];\n })\n );\n}\n\nexport function maybeNamed(things) {\n return isIterable(things) ? named(things) : things;\n}\n","// Positional scales have associated axes, and for ordinal data, a point or band\n// scale is used instead of an ordinal scale.\nexport const position = Symbol(\"position\");\n\n// Color scales default to the turbo interpolator for quantitative data, and to\n// the Tableau10 scheme for ordinal data. Color scales may also have an\n// associated legend.\nexport const color = Symbol(\"color\");\n\n// Radius scales default to the sqrt type, have a default range of [0, 3], and a\n// default domain from 0 to the median first quartile of associated channels.\nexport const radius = Symbol(\"radius\");\n\n// Length scales default to the linear type, have a default range of [0, 12],\n// and a default domain from 0 to the median median of associated channels.\nexport const length = Symbol(\"length\");\n\n// Opacity scales have a default range of [0, 1], and a default domain from 0 to\n// the maximum value of associated channels.\nexport const opacity = Symbol(\"opacity\");\n\n// Symbol scales have a default range of categorical symbols.\nexport const symbol = Symbol(\"symbol\");\n\n// TODO Rather than hard-coding the list of known scale names, collect the names\n// and categories for each plot specification, so that custom marks can register\n// custom scales.\nexport const registry = new Map([\n [\"x\", position],\n [\"y\", position],\n [\"fx\", position],\n [\"fy\", position],\n [\"r\", radius],\n [\"color\", color],\n [\"opacity\", opacity],\n [\"symbol\", symbol],\n [\"length\", length]\n]);\n","import {symbolAsterisk, symbolDiamond2, symbolPlus, symbolSquare2, symbolTriangle2, symbolTimes} from \"d3\";\nimport {symbolCircle, symbolCross, symbolDiamond, symbolSquare, symbolStar, symbolTriangle, symbolWye} from \"d3\";\n\nexport const sqrt3 = Math.sqrt(3);\nexport const sqrt4_3 = 2 / sqrt3;\n\nconst symbolHexagon = {\n draw(context, size) {\n const rx = Math.sqrt(size / Math.PI),\n ry = rx * sqrt4_3,\n hy = ry / 2;\n context.moveTo(0, ry);\n context.lineTo(rx, hy);\n context.lineTo(rx, -hy);\n context.lineTo(0, -ry);\n context.lineTo(-rx, -hy);\n context.lineTo(-rx, hy);\n context.closePath();\n }\n};\n\nconst symbols = new Map([\n [\"asterisk\", symbolAsterisk],\n [\"circle\", symbolCircle],\n [\"cross\", symbolCross],\n [\"diamond\", symbolDiamond],\n [\"diamond2\", symbolDiamond2],\n [\"hexagon\", symbolHexagon],\n [\"plus\", symbolPlus],\n [\"square\", symbolSquare],\n [\"square2\", symbolSquare2],\n [\"star\", symbolStar],\n [\"times\", symbolTimes],\n [\"triangle\", symbolTriangle],\n [\"triangle2\", symbolTriangle2],\n [\"wye\", symbolWye]\n]);\n\nfunction isSymbolObject(value) {\n return value && typeof value.draw === \"function\";\n}\n\nexport function isSymbol(value) {\n if (isSymbolObject(value)) return true;\n if (typeof value !== \"string\") return false;\n return symbols.has(value.toLowerCase());\n}\n\nexport function maybeSymbol(symbol) {\n if (symbol == null || isSymbolObject(symbol)) return symbol;\n const value = symbols.get(`${symbol}`.toLowerCase());\n if (value) return value;\n throw new Error(`invalid symbol: ${symbol}`);\n}\n\nexport function maybeSymbolChannel(symbol) {\n if (symbol == null || isSymbolObject(symbol)) return [undefined, symbol];\n if (typeof symbol === \"string\") {\n const value = symbols.get(`${symbol}`.toLowerCase());\n if (value) return [undefined, value];\n }\n return [symbol, undefined];\n}\n","let warnings = 0;\n\nexport function consumeWarnings() {\n const w = warnings;\n warnings = 0;\n return w;\n}\n\nexport function warn(message) {\n console.warn(message);\n ++warnings;\n}\n","import {\n interpolateBlues,\n interpolateBrBG,\n interpolateBuGn,\n interpolateBuPu,\n interpolateGnBu,\n interpolateGreens,\n interpolateGreys,\n interpolateOranges,\n interpolateOrRd,\n interpolatePiYG,\n interpolatePRGn,\n interpolatePuBu,\n interpolatePuBuGn,\n interpolatePuOr,\n interpolatePuRd,\n interpolatePurples,\n interpolateRdBu,\n interpolateRdGy,\n interpolateRdPu,\n interpolateRdYlBu,\n interpolateRdYlGn,\n interpolateReds,\n interpolateSpectral,\n interpolateYlGn,\n interpolateYlGnBu,\n interpolateYlOrBr,\n interpolateYlOrRd,\n interpolateTurbo,\n interpolateViridis,\n interpolateMagma,\n interpolateInferno,\n interpolatePlasma,\n interpolateCividis,\n interpolateCubehelixDefault,\n interpolateWarm,\n interpolateCool,\n interpolateRainbow,\n interpolateSinebow,\n quantize,\n schemeAccent,\n schemeBlues,\n schemeBrBG,\n schemeBuGn,\n schemeBuPu,\n schemeCategory10,\n schemeDark2,\n schemeGnBu,\n schemeGreens,\n schemeGreys,\n schemeOranges,\n schemeOrRd,\n schemePaired,\n schemePastel1,\n schemePastel2,\n schemePiYG,\n schemePRGn,\n schemePuBu,\n schemePuBuGn,\n schemePuOr,\n schemePuRd,\n schemePurples,\n schemeRdBu,\n schemeRdGy,\n schemeRdPu,\n schemeRdYlBu,\n schemeRdYlGn,\n schemeReds,\n schemeSet1,\n schemeSet2,\n schemeSet3,\n schemeSpectral,\n schemeTableau10,\n schemeYlGn,\n schemeYlGnBu,\n schemeYlOrBr,\n schemeYlOrRd\n} from \"d3\";\n\nconst ordinalSchemes = new Map([\n // categorical\n [\"accent\", schemeAccent],\n [\"category10\", schemeCategory10],\n [\"dark2\", schemeDark2],\n [\"paired\", schemePaired],\n [\"pastel1\", schemePastel1],\n [\"pastel2\", schemePastel2],\n [\"set1\", schemeSet1],\n [\"set2\", schemeSet2],\n [\"set3\", schemeSet3],\n [\"tableau10\", schemeTableau10],\n\n // diverging\n [\"brbg\", scheme11(schemeBrBG, interpolateBrBG)],\n [\"prgn\", scheme11(schemePRGn, interpolatePRGn)],\n [\"piyg\", scheme11(schemePiYG, interpolatePiYG)],\n [\"puor\", scheme11(schemePuOr, interpolatePuOr)],\n [\"rdbu\", scheme11(schemeRdBu, interpolateRdBu)],\n [\"rdgy\", scheme11(schemeRdGy, interpolateRdGy)],\n [\"rdylbu\", scheme11(schemeRdYlBu, interpolateRdYlBu)],\n [\"rdylgn\", scheme11(schemeRdYlGn, interpolateRdYlGn)],\n [\"spectral\", scheme11(schemeSpectral, interpolateSpectral)],\n\n // reversed diverging (for temperature data)\n [\"burd\", scheme11r(schemeRdBu, interpolateRdBu)],\n [\"buylrd\", scheme11r(schemeRdYlBu, interpolateRdYlBu)],\n\n // sequential (single-hue)\n [\"blues\", scheme9(schemeBlues, interpolateBlues)],\n [\"greens\", scheme9(schemeGreens, interpolateGreens)],\n [\"greys\", scheme9(schemeGreys, interpolateGreys)],\n [\"oranges\", scheme9(schemeOranges, interpolateOranges)],\n [\"purples\", scheme9(schemePurples, interpolatePurples)],\n [\"reds\", scheme9(schemeReds, interpolateReds)],\n\n // sequential (multi-hue)\n [\"turbo\", schemei(interpolateTurbo)],\n [\"viridis\", schemei(interpolateViridis)],\n [\"magma\", schemei(interpolateMagma)],\n [\"inferno\", schemei(interpolateInferno)],\n [\"plasma\", schemei(interpolatePlasma)],\n [\"cividis\", schemei(interpolateCividis)],\n [\"cubehelix\", schemei(interpolateCubehelixDefault)],\n [\"warm\", schemei(interpolateWarm)],\n [\"cool\", schemei(interpolateCool)],\n [\"bugn\", scheme9(schemeBuGn, interpolateBuGn)],\n [\"bupu\", scheme9(schemeBuPu, interpolateBuPu)],\n [\"gnbu\", scheme9(schemeGnBu, interpolateGnBu)],\n [\"orrd\", scheme9(schemeOrRd, interpolateOrRd)],\n [\"pubu\", scheme9(schemePuBu, interpolatePuBu)],\n [\"pubugn\", scheme9(schemePuBuGn, interpolatePuBuGn)],\n [\"purd\", scheme9(schemePuRd, interpolatePuRd)],\n [\"rdpu\", scheme9(schemeRdPu, interpolateRdPu)],\n [\"ylgn\", scheme9(schemeYlGn, interpolateYlGn)],\n [\"ylgnbu\", scheme9(schemeYlGnBu, interpolateYlGnBu)],\n [\"ylorbr\", scheme9(schemeYlOrBr, interpolateYlOrBr)],\n [\"ylorrd\", scheme9(schemeYlOrRd, interpolateYlOrRd)],\n\n // cyclical\n [\"rainbow\", schemeicyclical(interpolateRainbow)],\n [\"sinebow\", schemeicyclical(interpolateSinebow)]\n]);\n\nfunction scheme9(scheme, interpolate) {\n return ({length: n}) => {\n if (n === 1) return [scheme[3][1]]; // favor midpoint\n if (n === 2) return [scheme[3][1], scheme[3][2]]; // favor darker\n n = Math.max(3, Math.floor(n));\n return n > 9 ? quantize(interpolate, n) : scheme[n];\n };\n}\n\nfunction scheme11(scheme, interpolate) {\n return ({length: n}) => {\n if (n === 2) return [scheme[3][0], scheme[3][2]]; // favor diverging extrema\n n = Math.max(3, Math.floor(n));\n return n > 11 ? quantize(interpolate, n) : scheme[n];\n };\n}\n\nfunction scheme11r(scheme, interpolate) {\n return ({length: n}) => {\n if (n === 2) return [scheme[3][2], scheme[3][0]]; // favor diverging extrema\n n = Math.max(3, Math.floor(n));\n return n > 11 ? quantize((t) => interpolate(1 - t), n) : scheme[n].slice().reverse();\n };\n}\n\nfunction schemei(interpolate) {\n return ({length: n}) => quantize(interpolate, Math.max(2, Math.floor(n)));\n}\n\nfunction schemeicyclical(interpolate) {\n return ({length: n}) => quantize(interpolate, Math.floor(n) + 1).slice(0, -1);\n}\n\nexport function ordinalScheme(scheme) {\n const s = `${scheme}`.toLowerCase();\n if (!ordinalSchemes.has(s)) throw new Error(`unknown ordinal scheme: ${s}`);\n return ordinalSchemes.get(s);\n}\n\nexport function ordinalRange(scheme, length) {\n const s = ordinalScheme(scheme);\n const r = typeof s === \"function\" ? s({length}) : s;\n return r.length !== length ? r.slice(0, length) : r;\n}\n\n// If the specified domain contains only booleans (ignoring null and undefined),\n// returns a corresponding range where false is mapped to the low color and true\n// is mapped to the high color of the specified scheme.\nexport function maybeBooleanRange(domain, scheme = \"greys\") {\n const range = new Set();\n const [f, t] = ordinalRange(scheme, 2);\n for (const value of domain) {\n if (value == null) continue;\n if (value === true) range.add(t);\n else if (value === false) range.add(f);\n else return;\n }\n return [...range];\n}\n\nconst quantitativeSchemes = new Map([\n // diverging\n [\"brbg\", interpolateBrBG],\n [\"prgn\", interpolatePRGn],\n [\"piyg\", interpolatePiYG],\n [\"puor\", interpolatePuOr],\n [\"rdbu\", interpolateRdBu],\n [\"rdgy\", interpolateRdGy],\n [\"rdylbu\", interpolateRdYlBu],\n [\"rdylgn\", interpolateRdYlGn],\n [\"spectral\", interpolateSpectral],\n\n // reversed diverging (for temperature data)\n [\"burd\", (t) => interpolateRdBu(1 - t)],\n [\"buylrd\", (t) => interpolateRdYlBu(1 - t)],\n\n // sequential (single-hue)\n [\"blues\", interpolateBlues],\n [\"greens\", interpolateGreens],\n [\"greys\", interpolateGreys],\n [\"purples\", interpolatePurples],\n [\"reds\", interpolateReds],\n [\"oranges\", interpolateOranges],\n\n // sequential (multi-hue)\n [\"turbo\", interpolateTurbo],\n [\"viridis\", interpolateViridis],\n [\"magma\", interpolateMagma],\n [\"inferno\", interpolateInferno],\n [\"plasma\", interpolatePlasma],\n [\"cividis\", interpolateCividis],\n [\"cubehelix\", interpolateCubehelixDefault],\n [\"warm\", interpolateWarm],\n [\"cool\", interpolateCool],\n [\"bugn\", interpolateBuGn],\n [\"bupu\", interpolateBuPu],\n [\"gnbu\", interpolateGnBu],\n [\"orrd\", interpolateOrRd],\n [\"pubugn\", interpolatePuBuGn],\n [\"pubu\", interpolatePuBu],\n [\"purd\", interpolatePuRd],\n [\"rdpu\", interpolateRdPu],\n [\"ylgnbu\", interpolateYlGnBu],\n [\"ylgn\", interpolateYlGn],\n [\"ylorbr\", interpolateYlOrBr],\n [\"ylorrd\", interpolateYlOrRd],\n\n // cyclical\n [\"rainbow\", interpolateRainbow],\n [\"sinebow\", interpolateSinebow]\n]);\n\nexport function quantitativeScheme(scheme) {\n const s = `${scheme}`.toLowerCase();\n if (!quantitativeSchemes.has(s)) throw new Error(`unknown quantitative scheme: ${s}`);\n return quantitativeSchemes.get(s);\n}\n\nconst divergingSchemes = new Set([\n \"brbg\",\n \"prgn\",\n \"piyg\",\n \"puor\",\n \"rdbu\",\n \"rdgy\",\n \"rdylbu\",\n \"rdylgn\",\n \"spectral\",\n \"burd\",\n \"buylrd\"\n]);\n\nexport function isDivergingScheme(scheme) {\n return scheme != null && divergingSchemes.has(`${scheme}`.toLowerCase());\n}\n","import {\n descending,\n extent,\n interpolateHcl,\n interpolateHsl,\n interpolateLab,\n interpolateNumber,\n interpolateRgb,\n interpolateRound,\n min,\n max,\n median,\n quantile,\n quantize,\n reverse as reverseof,\n scaleLinear,\n scaleLog,\n scalePow,\n scaleQuantile,\n scaleSymlog,\n scaleThreshold,\n scaleIdentity,\n ticks\n} from \"d3\";\nimport {positive, negative, finite} from \"../defined.js\";\nimport {arrayify, constant, orderof, slice, maybeNiceInterval, maybeRangeInterval} from \"../options.js\";\nimport {ordinalRange, quantitativeScheme} from \"./schemes.js\";\nimport {registry, radius, opacity, color, length} from \"./index.js\";\n\nexport const flip = (i) => (t) => i(1 - t);\nconst unit = [0, 1];\n\nconst interpolators = new Map([\n // numbers\n [\"number\", interpolateNumber],\n\n // color spaces\n [\"rgb\", interpolateRgb],\n [\"hsl\", interpolateHsl],\n [\"hcl\", interpolateHcl],\n [\"lab\", interpolateLab]\n]);\n\nexport function maybeInterpolator(interpolate) {\n const i = `${interpolate}`.toLowerCase();\n if (!interpolators.has(i)) throw new Error(`unknown interpolator: ${i}`);\n return interpolators.get(i);\n}\n\nexport function createScaleQ(\n key,\n scale,\n channels,\n {\n type,\n nice,\n clamp,\n zero,\n domain = inferAutoDomain(key, channels),\n unknown,\n round,\n scheme,\n interval,\n range = registry.get(key) === radius\n ? inferRadialRange(channels, domain)\n : registry.get(key) === length\n ? inferLengthRange(channels, domain)\n : registry.get(key) === opacity\n ? unit\n : undefined,\n interpolate = registry.get(key) === color\n ? scheme == null && range !== undefined\n ? interpolateRgb\n : quantitativeScheme(scheme !== undefined ? scheme : type === \"cyclical\" ? \"rainbow\" : \"turbo\")\n : round\n ? interpolateRound\n : interpolateNumber,\n reverse\n }\n) {\n interval = maybeRangeInterval(interval, type);\n if (type === \"cyclical\" || type === \"sequential\") type = \"linear\"; // shorthand for color schemes\n reverse = !!reverse;\n\n // Sometimes interpolate is a named interpolator, such as \"lab\" for Lab color\n // space. Other times interpolate is a function that takes two arguments and\n // is used in conjunction with the range. And other times the interpolate\n // function is a “fixed” interpolator on the [0, 1] interval, as when a\n // color scheme such as interpolateRdBu is used.\n if (typeof interpolate !== \"function\") {\n interpolate = maybeInterpolator(interpolate);\n }\n if (interpolate.length === 1) {\n if (reverse) {\n interpolate = flip(interpolate);\n reverse = false;\n }\n if (range === undefined) {\n range = Float64Array.from(domain, (_, i) => i / (domain.length - 1));\n if (range.length === 2) range = unit; // optimize common case of [0, 1]\n }\n scale.interpolate((range === unit ? constant : interpolatePiecewise)(interpolate));\n } else {\n scale.interpolate(interpolate);\n }\n\n // If a zero option is specified, we assume that the domain is numeric, and we\n // want to ensure that the domain crosses zero. However, note that the domain\n // may be reversed (descending) so we shouldn’t assume that the first value is\n // smaller than the last; and also it’s possible that the domain has more than\n // two values for a “poly” scale. And lastly be careful not to mutate input!\n if (zero) {\n const [min, max] = extent(domain);\n if (min > 0 || max < 0) {\n domain = slice(domain);\n if (orderof(domain) !== Math.sign(min)) domain[domain.length - 1] = 0;\n // [2, 1] or [-2, -1]\n else domain[0] = 0; // [1, 2] or [-1, -2]\n }\n }\n\n if (reverse) domain = reverseof(domain);\n scale.domain(domain).unknown(unknown);\n if (nice) scale.nice(maybeNice(nice, type)), (domain = scale.domain());\n if (range !== undefined) scale.range(range);\n if (clamp) scale.clamp(clamp);\n return {type, domain, range, scale, interpolate, interval};\n}\n\nfunction maybeNice(nice, type) {\n return nice === true ? undefined : typeof nice === \"number\" ? nice : maybeNiceInterval(nice, type);\n}\n\nexport function createScaleLinear(key, channels, options) {\n return createScaleQ(key, scaleLinear(), channels, options);\n}\n\nexport function createScaleSqrt(key, channels, options) {\n return createScalePow(key, channels, {...options, exponent: 0.5});\n}\n\nexport function createScalePow(key, channels, {exponent = 1, ...options}) {\n return createScaleQ(key, scalePow().exponent(exponent), channels, {...options, type: \"pow\"});\n}\n\nexport function createScaleLog(key, channels, {base = 10, domain = inferLogDomain(channels), ...options}) {\n return createScaleQ(key, scaleLog().base(base), channels, {...options, domain});\n}\n\nexport function createScaleSymlog(key, channels, {constant = 1, ...options}) {\n return createScaleQ(key, scaleSymlog().constant(constant), channels, options);\n}\n\nexport function createScaleQuantile(\n key,\n channels,\n {\n range,\n quantiles = range === undefined ? 5 : (range = [...range]).length, // deprecated; use n instead\n n = quantiles,\n scheme = \"rdylbu\",\n domain = inferQuantileDomain(channels),\n unknown,\n interpolate,\n reverse\n }\n) {\n if (range === undefined) {\n range =\n interpolate !== undefined\n ? quantize(interpolate, n)\n : registry.get(key) === color\n ? ordinalRange(scheme, n)\n : undefined;\n }\n if (domain.length > 0) {\n domain = scaleQuantile(domain, range === undefined ? {length: n} : range).quantiles();\n }\n return createScaleThreshold(key, channels, {domain, range, reverse, unknown});\n}\n\nexport function createScaleQuantize(\n key,\n channels,\n {\n range,\n n = range === undefined ? 5 : (range = [...range]).length,\n scheme = \"rdylbu\",\n domain = inferAutoDomain(key, channels),\n unknown,\n interpolate,\n reverse\n }\n) {\n const [min, max] = extent(domain);\n let thresholds;\n if (range === undefined) {\n thresholds = ticks(min, max, n); // approximate number of nice, round thresholds\n if (thresholds[0] <= min) thresholds.splice(0, 1); // drop exact lower bound\n if (thresholds[thresholds.length - 1] >= max) thresholds.pop(); // drop exact upper bound\n n = thresholds.length + 1;\n range =\n interpolate !== undefined\n ? quantize(interpolate, n)\n : registry.get(key) === color\n ? ordinalRange(scheme, n)\n : undefined;\n } else {\n thresholds = quantize(interpolateNumber(min, max), n + 1).slice(1, -1); // exactly n - 1 thresholds to match range\n if (min instanceof Date) thresholds = thresholds.map((x) => new Date(x)); // preserve date types\n }\n if (orderof(arrayify(domain)) < 0) thresholds.reverse(); // preserve descending domain\n return createScaleThreshold(key, channels, {domain: thresholds, range, reverse, unknown});\n}\n\nexport function createScaleThreshold(\n key,\n channels,\n {\n domain = [0], // explicit thresholds in ascending order\n unknown,\n scheme = \"rdylbu\",\n interpolate,\n range = interpolate !== undefined\n ? quantize(interpolate, domain.length + 1)\n : registry.get(key) === color\n ? ordinalRange(scheme, domain.length + 1)\n : undefined,\n reverse\n }\n) {\n domain = arrayify(domain);\n const sign = orderof(domain); // preserve descending domain\n if (!isNaN(sign) && !isOrdered(domain, sign)) throw new Error(`the ${key} scale has a non-monotonic domain`);\n if (reverse) range = reverseof(range); // domain ascending, so reverse range\n return {\n type: \"threshold\",\n scale: scaleThreshold(sign < 0 ? reverseof(domain) : domain, range === undefined ? [] : range).unknown(unknown),\n domain,\n range\n };\n}\n\nfunction isOrdered(domain, sign) {\n for (let i = 1, n = domain.length, d = domain[0]; i < n; ++i) {\n const s = descending(d, (d = domain[i]));\n if (s !== 0 && s !== sign) return false;\n }\n return true;\n}\n\nexport function createScaleIdentity() {\n return {type: \"identity\", scale: scaleIdentity()};\n}\n\nexport function inferDomain(channels, f = finite) {\n return channels.length\n ? [\n min(channels, ({value}) => (value === undefined ? value : min(value, f))),\n max(channels, ({value}) => (value === undefined ? value : max(value, f)))\n ]\n : [0, 1];\n}\n\nfunction inferAutoDomain(key, channels) {\n const type = registry.get(key);\n return (type === radius || type === opacity || type === length ? inferZeroDomain : inferDomain)(channels);\n}\n\nfunction inferZeroDomain(channels) {\n return [0, channels.length ? max(channels, ({value}) => (value === undefined ? value : max(value, finite))) : 1];\n}\n\n// We don’t want the upper bound of the radial domain to be zero, as this would\n// be degenerate, so we ignore nonpositive values. We also don’t want the\n// maximum default radius to exceed 30px.\nfunction inferRadialRange(channels, domain) {\n const hint = channels.find(({radius}) => radius !== undefined);\n if (hint !== undefined) return [0, hint.radius]; // a natural maximum radius, e.g. hexbins\n const h25 = quantile(channels, 0.5, ({value}) => (value === undefined ? NaN : quantile(value, 0.25, positive)));\n const range = domain.map((d) => 3 * Math.sqrt(d / h25));\n const k = 30 / max(range);\n return k < 1 ? range.map((r) => r * k) : range;\n}\n\n// We want a length scale’s domain to go from zero to a positive value, and to\n// treat negative lengths if any as inverted vectors of equivalent magnitude. We\n// also don’t want the maximum default length to exceed 60px.\nfunction inferLengthRange(channels, domain) {\n const h50 = median(channels, ({value}) => (value === undefined ? NaN : median(value, Math.abs)));\n const range = domain.map((d) => (12 * d) / h50);\n const k = 60 / max(range);\n return k < 1 ? range.map((r) => r * k) : range;\n}\n\nfunction inferLogDomain(channels) {\n for (const {value} of channels) {\n if (value !== undefined) {\n for (let v of value) {\n if (v > 0) return inferDomain(channels, positive);\n if (v < 0) return inferDomain(channels, negative);\n }\n }\n }\n return [1, 10];\n}\n\nfunction inferQuantileDomain(channels) {\n const domain = [];\n for (const {value} of channels) {\n if (value === undefined) continue;\n for (const v of value) domain.push(v);\n }\n return domain;\n}\n\nexport function interpolatePiecewise(interpolate) {\n return (i, j) => (t) => interpolate(i + t * (j - i));\n}\n","import {\n descending,\n interpolateNumber,\n interpolateRgb,\n piecewise,\n scaleDiverging,\n scaleDivergingLog,\n scaleDivergingPow,\n scaleDivergingSymlog\n} from \"d3\";\nimport {positive, negative} from \"../defined.js\";\nimport {quantitativeScheme} from \"./schemes.js\";\nimport {registry, color} from \"./index.js\";\nimport {inferDomain, maybeInterpolator, flip, interpolatePiecewise} from \"./quantitative.js\";\n\nfunction createScaleD(\n key,\n scale,\n transform,\n channels,\n {\n type,\n nice,\n clamp,\n domain = inferDomain(channels),\n unknown,\n pivot = 0,\n scheme,\n range,\n symmetric = true,\n interpolate = registry.get(key) === color\n ? scheme == null && range !== undefined\n ? interpolateRgb\n : quantitativeScheme(scheme !== undefined ? scheme : \"rdbu\")\n : interpolateNumber,\n reverse\n }\n) {\n pivot = +pivot;\n let [min, max] = domain;\n if (descending(min, max) < 0) ([min, max] = [max, min]), (reverse = !reverse);\n min = Math.min(min, pivot);\n max = Math.max(max, pivot);\n\n // Sometimes interpolate is a named interpolator, such as \"lab\" for Lab color\n // space. Other times interpolate is a function that takes two arguments and\n // is used in conjunction with the range. And other times the interpolate\n // function is a “fixed” interpolator on the [0, 1] interval, as when a\n // color scheme such as interpolateRdBu is used.\n if (typeof interpolate !== \"function\") {\n interpolate = maybeInterpolator(interpolate);\n }\n\n // If an explicit range is specified, promote it to a piecewise interpolator.\n if (range !== undefined) {\n interpolate =\n interpolate.length === 1 ? interpolatePiecewise(interpolate)(...range) : piecewise(interpolate, range);\n }\n\n // Reverse before normalization.\n if (reverse) interpolate = flip(interpolate);\n\n // Normalize the interpolator for symmetric difference around the pivot.\n if (symmetric) {\n const mid = transform.apply(pivot);\n const mindelta = mid - transform.apply(min);\n const maxdelta = transform.apply(max) - mid;\n if (mindelta < maxdelta) min = transform.invert(mid - maxdelta);\n else if (mindelta > maxdelta) max = transform.invert(mid + mindelta);\n }\n\n scale.domain([min, pivot, max]).unknown(unknown).interpolator(interpolate);\n if (clamp) scale.clamp(clamp);\n if (nice) scale.nice(nice);\n return {type, domain: [min, max], pivot, interpolate, scale};\n}\n\nexport function createScaleDiverging(key, channels, options) {\n return createScaleD(key, scaleDiverging(), transformIdentity, channels, options);\n}\n\nexport function createScaleDivergingSqrt(key, channels, options) {\n return createScaleDivergingPow(key, channels, {...options, exponent: 0.5});\n}\n\nexport function createScaleDivergingPow(key, channels, {exponent = 1, ...options}) {\n return createScaleD(key, scaleDivergingPow().exponent((exponent = +exponent)), transformPow(exponent), channels, {\n ...options,\n type: \"diverging-pow\"\n });\n}\n\nexport function createScaleDivergingLog(\n key,\n channels,\n {base = 10, pivot = 1, domain = inferDomain(channels, pivot < 0 ? negative : positive), ...options}\n) {\n return createScaleD(key, scaleDivergingLog().base((base = +base)), transformLog, channels, {\n domain,\n pivot,\n ...options\n });\n}\n\nexport function createScaleDivergingSymlog(key, channels, {constant = 1, ...options}) {\n return createScaleD(\n key,\n scaleDivergingSymlog().constant((constant = +constant)),\n transformSymlog(constant),\n channels,\n options\n );\n}\n\nconst transformIdentity = {\n apply(x) {\n return x;\n },\n invert(x) {\n return x;\n }\n};\n\nconst transformLog = {\n apply: Math.log,\n invert: Math.exp\n};\n\nconst transformSqrt = {\n apply(x) {\n return Math.sign(x) * Math.sqrt(Math.abs(x));\n },\n invert(x) {\n return Math.sign(x) * (x * x);\n }\n};\n\nfunction transformPow(exponent) {\n return exponent === 0.5\n ? transformSqrt\n : {\n apply(x) {\n return Math.sign(x) * Math.pow(Math.abs(x), exponent);\n },\n invert(x) {\n return Math.sign(x) * Math.pow(Math.abs(x), 1 / exponent);\n }\n };\n}\n\nfunction transformSymlog(constant) {\n return {\n apply(x) {\n return Math.sign(x) * Math.log1p(Math.abs(x / constant));\n },\n invert(x) {\n return Math.sign(x) * Math.expm1(Math.abs(x)) * constant;\n }\n };\n}\n","import {scaleTime, scaleUtc} from \"d3\";\nimport {createScaleQ} from \"./quantitative.js\";\n\nfunction createScaleT(key, scale, channels, options) {\n return createScaleQ(key, scale, channels, options);\n}\n\nexport function createScaleTime(key, channels, options) {\n return createScaleT(key, scaleTime(), channels, options);\n}\n\nexport function createScaleUtc(key, channels, options) {\n return createScaleT(key, scaleUtc(), channels, options);\n}\n","import {InternSet, extent, quantize, reverse as reverseof, sort, symbolsFill, symbolsStroke} from \"d3\";\nimport {scaleBand, scaleOrdinal, scalePoint, scaleImplicit} from \"d3\";\nimport {ascendingDefined} from \"../defined.js\";\nimport {isNoneish, map, maybeRangeInterval} from \"../options.js\";\nimport {maybeSymbol} from \"../symbol.js\";\nimport {registry, color, position, symbol} from \"./index.js\";\nimport {maybeBooleanRange, ordinalScheme, quantitativeScheme} from \"./schemes.js\";\n\n// This denotes an implicitly ordinal color scale: the scale type was not set,\n// but the associated values are strings or booleans. If the associated defined\n// values are entirely boolean, the range will default to greys. You can opt out\n// of this by setting the type explicitly.\nexport const ordinalImplicit = Symbol(\"ordinal\");\n\nfunction createScaleO(key, scale, channels, {type, interval, domain, range, reverse, hint}) {\n interval = maybeRangeInterval(interval, type);\n if (domain === undefined) domain = inferDomain(channels, interval, key);\n if (type === \"categorical\" || type === ordinalImplicit) type = \"ordinal\"; // shorthand for color schemes\n if (reverse) domain = reverseof(domain);\n scale.domain(domain);\n if (range !== undefined) {\n // If the range is specified as a function, pass it the domain.\n if (typeof range === \"function\") range = range(domain);\n scale.range(range);\n }\n return {type, domain, range, scale, hint, interval};\n}\n\nexport function createScaleOrdinal(key, channels, {type, interval, domain, range, scheme, unknown, ...options}) {\n interval = maybeRangeInterval(interval, type);\n if (domain === undefined) domain = inferDomain(channels, interval, key);\n let hint;\n if (registry.get(key) === symbol) {\n hint = inferSymbolHint(channels);\n range = range === undefined ? inferSymbolRange(hint) : map(range, maybeSymbol);\n } else if (registry.get(key) === color) {\n if (range === undefined && (type === \"ordinal\" || type === ordinalImplicit)) {\n range = maybeBooleanRange(domain, scheme);\n if (range !== undefined) scheme = undefined; // Don’t re-apply scheme.\n }\n if (scheme === undefined && range === undefined) {\n scheme = type === \"ordinal\" ? \"turbo\" : \"tableau10\";\n }\n if (scheme !== undefined) {\n if (range !== undefined) {\n const interpolate = quantitativeScheme(scheme);\n const t0 = range[0],\n d = range[1] - range[0];\n range = ({length: n}) => quantize((t) => interpolate(t0 + d * t), n);\n } else {\n range = ordinalScheme(scheme);\n }\n }\n }\n if (unknown === scaleImplicit) {\n throw new Error(`implicit unknown on ${key} scale is not supported`);\n }\n return createScaleO(key, scaleOrdinal().unknown(unknown), channels, {...options, type, domain, range, hint});\n}\n\nexport function createScalePoint(key, channels, {align = 0.5, padding = 0.5, ...options}) {\n return maybeRound(scalePoint().align(align).padding(padding), channels, options, key);\n}\n\nexport function createScaleBand(\n key,\n channels,\n {\n align = 0.5,\n padding = 0.1,\n paddingInner = padding,\n paddingOuter = key === \"fx\" || key === \"fy\" ? 0 : padding,\n ...options\n }\n) {\n return maybeRound(\n scaleBand().align(align).paddingInner(paddingInner).paddingOuter(paddingOuter),\n channels,\n options,\n key\n );\n}\n\nfunction maybeRound(scale, channels, options, key) {\n let {round} = options;\n if (round !== undefined) scale.round((round = !!round));\n scale = createScaleO(key, scale, channels, options);\n scale.round = round; // preserve for autoScaleRound\n return scale;\n}\n\nfunction inferDomain(channels, interval, key) {\n const values = new InternSet();\n for (const {value, domain} of channels) {\n if (domain !== undefined) return domain(); // see channelDomain\n if (value === undefined) continue;\n for (const v of value) values.add(v);\n }\n if (interval !== undefined) {\n const [min, max] = extent(values).map(interval.floor, interval);\n return interval.range(min, interval.offset(max));\n }\n if (values.size > 10e3 && registry.get(key) === position) {\n throw new Error(`implicit ordinal domain of ${key} scale has more than 10,000 values`);\n }\n return sort(values, ascendingDefined);\n}\n\n// If all channels provide a consistent hint, propagate it to the scale.\nfunction inferHint(channels, key) {\n let value;\n for (const {hint} of channels) {\n const candidate = hint?.[key];\n if (candidate === undefined) continue; // no hint here\n if (value === undefined) value = candidate;\n // first hint\n else if (value !== candidate) return; // inconsistent hint\n }\n return value;\n}\n\nfunction inferSymbolHint(channels) {\n return {\n fill: inferHint(channels, \"fill\"),\n stroke: inferHint(channels, \"stroke\")\n };\n}\n\nfunction inferSymbolRange(hint) {\n return isNoneish(hint.fill) ? symbolsStroke : symbolsFill;\n}\n","import {\n isOrdinal,\n isTemporal,\n isTemporalString,\n isNumericString,\n isScaleOptions,\n map,\n slice,\n coerceNumbers,\n coerceDates\n} from \"./options.js\";\nimport {registry, color, position, radius, opacity, symbol, length} from \"./scales/index.js\";\nimport {\n createScaleLinear,\n createScaleSqrt,\n createScalePow,\n createScaleLog,\n createScaleSymlog,\n createScaleQuantile,\n createScaleQuantize,\n createScaleThreshold,\n createScaleIdentity\n} from \"./scales/quantitative.js\";\nimport {\n createScaleDiverging,\n createScaleDivergingSqrt,\n createScaleDivergingPow,\n createScaleDivergingLog,\n createScaleDivergingSymlog\n} from \"./scales/diverging.js\";\nimport {isDivergingScheme} from \"./scales/schemes.js\";\nimport {createScaleTime, createScaleUtc} from \"./scales/temporal.js\";\nimport {createScaleOrdinal, createScalePoint, createScaleBand, ordinalImplicit} from \"./scales/ordinal.js\";\nimport {maybeSymbol} from \"./symbol.js\";\nimport {warn} from \"./warnings.js\";\n\nexport function createScales(\n channelsByScale,\n {\n label: globalLabel,\n inset: globalInset = 0,\n insetTop: globalInsetTop = globalInset,\n insetRight: globalInsetRight = globalInset,\n insetBottom: globalInsetBottom = globalInset,\n insetLeft: globalInsetLeft = globalInset,\n round,\n nice,\n clamp,\n zero,\n align,\n padding,\n projection,\n facet: {label: facetLabel = globalLabel} = {},\n ...options\n } = {}\n) {\n const scales = {};\n for (const [key, channels] of channelsByScale) {\n const scaleOptions = options[key];\n const scale = createScale(key, channels, {\n round: registry.get(key) === position ? round : undefined, // only for position\n nice,\n clamp,\n zero,\n align,\n padding,\n projection,\n ...scaleOptions\n });\n if (scale) {\n // populate generic scale options (percent, transform, insets)\n let {\n label = key === \"fx\" || key === \"fy\" ? facetLabel : globalLabel,\n percent,\n transform,\n inset,\n insetTop = inset !== undefined ? inset : key === \"y\" ? globalInsetTop : 0, // not fy\n insetRight = inset !== undefined ? inset : key === \"x\" ? globalInsetRight : 0, // not fx\n insetBottom = inset !== undefined ? inset : key === \"y\" ? globalInsetBottom : 0, // not fy\n insetLeft = inset !== undefined ? inset : key === \"x\" ? globalInsetLeft : 0 // not fx\n } = scaleOptions || {};\n if (transform == null) transform = undefined;\n else if (typeof transform !== \"function\") throw new Error(\"invalid scale transform; not a function\");\n scale.percent = !!percent;\n scale.label = label === undefined ? inferScaleLabel(channels, scale) : label;\n scale.transform = transform;\n if (key === \"x\" || key === \"fx\") {\n scale.insetLeft = +insetLeft;\n scale.insetRight = +insetRight;\n } else if (key === \"y\" || key === \"fy\") {\n scale.insetTop = +insetTop;\n scale.insetBottom = +insetBottom;\n }\n scales[key] = scale;\n }\n }\n return scales;\n}\n\nexport function createScaleFunctions(scales) {\n return Object.fromEntries(\n Object.entries(scales)\n .filter(([, {scale}]) => scale) // drop identity scales\n .map(([name, {scale, type, interval, label}]) => {\n scale.type = type; // for axis\n if (interval != null) scale.interval = interval; // for axis\n if (label != null) scale.label = label; // for axis\n return [name, scale];\n })\n );\n}\n\n// Mutates scale.range!\nexport function autoScaleRange(scales, dimensions) {\n const {x, y, fx, fy} = scales;\n const superdimensions = fx || fy ? outerDimensions(dimensions) : dimensions;\n if (fx) autoScaleRangeX(fx, superdimensions);\n if (fy) autoScaleRangeY(fy, superdimensions);\n const subdimensions = fx || fy ? innerDimensions(scales, dimensions) : dimensions;\n if (x) autoScaleRangeX(x, subdimensions);\n if (y) autoScaleRangeY(y, subdimensions);\n}\n\n// Channels can have labels; if all the channels for a given scale are\n// consistently labeled (i.e., have the same value if not undefined), and the\n// corresponding scale doesn’t already have an explicit label, then the\n// channels’ label is promoted to the scale. This inferred label should have an\n// orientation-appropriate arrow added when used as an axis, but we don’t want\n// to add the arrow when the label is set explicitly as an option; so, the\n// inferred label is distinguished as an object with an “inferred” property.\nfunction inferScaleLabel(channels = [], scale) {\n let label;\n for (const {label: l} of channels) {\n if (l === undefined) continue;\n if (label === undefined) label = l;\n else if (label !== l) return;\n }\n if (label === undefined) return;\n // Ignore the implicit label for temporal scales if it’s simply “date”.\n if (isTemporalScale(scale) && /^(date|time|year)$/i.test(label)) return;\n if (!isOrdinalScale(scale) && scale.percent) label = `${label} (%)`;\n return {inferred: true, toString: () => label};\n}\n\n// Returns the dimensions of the outer frame; this is subdivided into facets\n// with the margins of each facet collapsing into the outer margins.\nexport function outerDimensions(dimensions) {\n const {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n width,\n height,\n facet: {\n marginTop: facetMarginTop,\n marginRight: facetMarginRight,\n marginBottom: facetMarginBottom,\n marginLeft: facetMarginLeft\n }\n } = dimensions;\n return {\n marginTop: Math.max(marginTop, facetMarginTop),\n marginRight: Math.max(marginRight, facetMarginRight),\n marginBottom: Math.max(marginBottom, facetMarginBottom),\n marginLeft: Math.max(marginLeft, facetMarginLeft),\n width,\n height\n };\n}\n\n// Returns the dimensions of each facet.\nexport function innerDimensions({fx, fy}, dimensions) {\n const {marginTop, marginRight, marginBottom, marginLeft, width, height} = outerDimensions(dimensions);\n return {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n width: fx ? fx.scale.bandwidth() + marginLeft + marginRight : width,\n height: fy ? fy.scale.bandwidth() + marginTop + marginBottom : height\n };\n}\n\nfunction autoScaleRangeX(scale, dimensions) {\n if (scale.range === undefined) {\n const {insetLeft, insetRight} = scale;\n const {width, marginLeft = 0, marginRight = 0} = dimensions;\n const left = marginLeft + insetLeft;\n const right = width - marginRight - insetRight;\n scale.range = [left, Math.max(left, right)];\n if (!isOrdinalScale(scale)) scale.range = piecewiseRange(scale);\n scale.scale.range(scale.range);\n }\n autoScaleRound(scale);\n}\n\nfunction autoScaleRangeY(scale, dimensions) {\n if (scale.range === undefined) {\n const {insetTop, insetBottom} = scale;\n const {height, marginTop = 0, marginBottom = 0} = dimensions;\n const top = marginTop + insetTop;\n const bottom = height - marginBottom - insetBottom;\n scale.range = [Math.max(top, bottom), top];\n if (!isOrdinalScale(scale)) scale.range = piecewiseRange(scale);\n else scale.range.reverse();\n scale.scale.range(scale.range);\n }\n autoScaleRound(scale);\n}\n\nfunction autoScaleRound(scale) {\n if (scale.round === undefined && isBandScale(scale) && roundError(scale) <= 30) {\n scale.scale.round(true);\n }\n}\n\n// If we were to turn on rounding for this band or point scale, how much wasted\n// space would it introduce (on both ends of the range)? This must match\n// d3.scaleBand’s rounding behavior:\n// https://github.com/d3/d3-scale/blob/83555bd759c7314420bd4240642beda5e258db9e/src/band.js#L20-L32\nfunction roundError({scale}) {\n const n = scale.domain().length;\n const [start, stop] = scale.range();\n const paddingInner = scale.paddingInner ? scale.paddingInner() : 1;\n const paddingOuter = scale.paddingOuter ? scale.paddingOuter() : scale.padding();\n const m = n - paddingInner;\n const step = Math.abs(stop - start) / Math.max(1, m + paddingOuter * 2);\n return (step - Math.floor(step)) * m;\n}\n\nfunction piecewiseRange(scale) {\n const length = scale.scale.domain().length + isThresholdScale(scale);\n if (!(length > 2)) return scale.range;\n const [start, end] = scale.range;\n return Array.from({length}, (_, i) => start + (i / (length - 1)) * (end - start));\n}\n\nexport function normalizeScale(key, scale, hint) {\n return createScale(key, hint === undefined ? undefined : [{hint}], {...scale});\n}\n\nfunction createScale(key, channels = [], options = {}) {\n const type = inferScaleType(key, channels, options);\n\n // Warn for common misuses of implicit ordinal scales. We disable this test if\n // you specify a scale interval or if you set the domain or range explicitly,\n // since setting the domain or range (typically with a cardinality of more than\n // two) is another indication that you intended for the scale to be ordinal; we\n // also disable it for facet scales since these are always band scales.\n if (\n options.type === undefined &&\n options.domain === undefined &&\n options.range === undefined &&\n options.interval == null &&\n key !== \"fx\" &&\n key !== \"fy\" &&\n isOrdinalScale({type})\n ) {\n const values = channels.map(({value}) => value).filter((value) => value !== undefined);\n if (values.some(isTemporal))\n warn(\n `Warning: some data associated with the ${key} scale are dates. Dates are typically associated with a \"utc\" or \"time\" scale rather than a \"${formatScaleType(\n type\n )}\" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can specify the interval of the ${key} scale (e.g., d3.utcDay), or you can suppress this warning by setting the type of the ${key} scale to \"${formatScaleType(\n type\n )}\".`\n );\n else if (values.some(isTemporalString))\n warn(\n `Warning: some data associated with the ${key} scale are strings that appear to be dates (e.g., YYYY-MM-DD). If these strings represent dates, you should parse them to Date objects. Dates are typically associated with a \"utc\" or \"time\" scale rather than a \"${formatScaleType(\n type\n )}\" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can suppress this warning by setting the type of the ${key} scale to \"${formatScaleType(\n type\n )}\".`\n );\n else if (values.some(isNumericString))\n warn(\n `Warning: some data associated with the ${key} scale are strings that appear to be numbers. If these strings represent numbers, you should parse or coerce them to numbers. Numbers are typically associated with a \"linear\" scale rather than a \"${formatScaleType(\n type\n )}\" scale. If you want to treat this data as ordinal, you can specify the interval of the ${key} scale (e.g., 1 for integers), or you can suppress this warning by setting the type of the ${key} scale to \"${formatScaleType(\n type\n )}\".`\n );\n }\n\n options.type = type; // Mutates input!\n\n // Once the scale type is known, coerce the associated channel values and any\n // explicitly-specified domain to the expected type.\n switch (type) {\n case \"diverging\":\n case \"diverging-sqrt\":\n case \"diverging-pow\":\n case \"diverging-log\":\n case \"diverging-symlog\":\n case \"cyclical\":\n case \"sequential\":\n case \"linear\":\n case \"sqrt\":\n case \"threshold\":\n case \"quantile\":\n case \"pow\":\n case \"log\":\n case \"symlog\":\n options = coerceType(channels, options, coerceNumbers);\n break;\n case \"identity\":\n switch (registry.get(key)) {\n case position:\n options = coerceType(channels, options, coerceNumbers);\n break;\n case symbol:\n options = coerceType(channels, options, coerceSymbols);\n break;\n }\n break;\n case \"utc\":\n case \"time\":\n options = coerceType(channels, options, coerceDates);\n break;\n }\n\n switch (type) {\n case \"diverging\":\n return createScaleDiverging(key, channels, options);\n case \"diverging-sqrt\":\n return createScaleDivergingSqrt(key, channels, options);\n case \"diverging-pow\":\n return createScaleDivergingPow(key, channels, options);\n case \"diverging-log\":\n return createScaleDivergingLog(key, channels, options);\n case \"diverging-symlog\":\n return createScaleDivergingSymlog(key, channels, options);\n case \"categorical\":\n case \"ordinal\":\n case ordinalImplicit:\n return createScaleOrdinal(key, channels, options);\n case \"cyclical\":\n case \"sequential\":\n case \"linear\":\n return createScaleLinear(key, channels, options);\n case \"sqrt\":\n return createScaleSqrt(key, channels, options);\n case \"threshold\":\n return createScaleThreshold(key, channels, options);\n case \"quantile\":\n return createScaleQuantile(key, channels, options);\n case \"quantize\":\n return createScaleQuantize(key, channels, options);\n case \"pow\":\n return createScalePow(key, channels, options);\n case \"log\":\n return createScaleLog(key, channels, options);\n case \"symlog\":\n return createScaleSymlog(key, channels, options);\n case \"utc\":\n return createScaleUtc(key, channels, options);\n case \"time\":\n return createScaleTime(key, channels, options);\n case \"point\":\n return createScalePoint(key, channels, options);\n case \"band\":\n return createScaleBand(key, channels, options);\n case \"identity\":\n return registry.get(key) === position ? createScaleIdentity() : {type: \"identity\"};\n case undefined:\n return;\n default:\n throw new Error(`unknown scale type: ${type}`);\n }\n}\n\nfunction formatScaleType(type) {\n return typeof type === \"symbol\" ? type.description : type;\n}\n\n// A special type symbol when the x and y scales are replaced with a projection.\nconst typeProjection = {toString: () => \"projection\"};\n\nfunction inferScaleType(key, channels, {type, domain, range, scheme, pivot, projection}) {\n // The facet scales are always band scales; this cannot be changed.\n if (key === \"fx\" || key === \"fy\") return \"band\";\n\n // If a projection is specified, the x- and y-scales are disabled; these\n // channels will be projected rather than scaled. (But still check that none\n // of the associated channels are incompatible with a projection.)\n if ((key === \"x\" || key === \"y\") && projection != null) type = typeProjection;\n\n // If a channel dictates a scale type, make sure that it is consistent with\n // the user-specified scale type (if any) and all other channels. For example,\n // barY requires x to be a band scale and disallows any other scale type.\n for (const {type: t} of channels) {\n if (t === undefined) continue;\n else if (type === undefined) type = t;\n else if (type !== t) throw new Error(`scale incompatible with channel: ${type} !== ${t}`);\n }\n\n // If the scale, a channel, or user specified a (consistent) type, return it.\n if (type === typeProjection) return;\n if (type !== undefined) return type;\n\n // If there’s no data (and no type) associated with this scale, don’t create a scale.\n if (domain === undefined && !channels.some(({value}) => value !== undefined)) return;\n\n // Some scales have default types.\n const kind = registry.get(key);\n if (kind === radius) return \"sqrt\";\n if (kind === opacity || kind === length) return \"linear\";\n if (kind === symbol) return \"ordinal\";\n\n // If the domain or range has more than two values, assume it’s ordinal. You\n // can still use a “piecewise” (or “polylinear”) scale, but you must set the\n // type explicitly.\n if ((domain || range || []).length > 2) return asOrdinalType(kind);\n\n // Otherwise, infer the scale type from the data! Prefer the domain, if\n // present, over channels. (The domain and channels should be consistently\n // typed, and the domain is more explicit and typically much smaller.) We only\n // check the first defined value for expedience and simplicity; we expect\n // that the types are consistent.\n if (domain !== undefined) {\n if (isOrdinal(domain)) return asOrdinalType(kind);\n if (isTemporal(domain)) return \"utc\";\n if (kind === color && (pivot != null || isDivergingScheme(scheme))) return \"diverging\";\n return \"linear\";\n }\n\n // If any channel is ordinal or temporal, it takes priority.\n const values = channels.map(({value}) => value).filter((value) => value !== undefined);\n if (values.some(isOrdinal)) return asOrdinalType(kind);\n if (values.some(isTemporal)) return \"utc\";\n if (kind === color && (pivot != null || isDivergingScheme(scheme))) return \"diverging\";\n return \"linear\";\n}\n\n// Positional scales default to a point scale instead of an ordinal scale.\nfunction asOrdinalType(kind) {\n switch (kind) {\n case position:\n return \"point\";\n case color:\n return ordinalImplicit;\n default:\n return \"ordinal\";\n }\n}\n\nexport function isTemporalScale({type}) {\n return type === \"time\" || type === \"utc\";\n}\n\nexport function isOrdinalScale({type}) {\n return type === \"ordinal\" || type === \"point\" || type === \"band\" || type === ordinalImplicit;\n}\n\nexport function isThresholdScale({type}) {\n return type === \"threshold\";\n}\n\nfunction isBandScale({type}) {\n return type === \"point\" || type === \"band\";\n}\n\nexport function isDivergingScale({type}) {\n return /^diverging($|-)/.test(type);\n}\n\n// Certain marks have special behavior if a scale is collapsed, i.e. if the\n// domain is degenerate and represents only a single value such as [3, 3]; for\n// example, a rect will span the full extent of the chart along a collapsed\n// dimension (whereas a dot will simply be drawn in the center).\nexport function isCollapsed(scale) {\n if (scale === undefined) return true; // treat missing scale as collapsed\n const domain = scale.domain();\n const value = scale(domain[0]);\n for (let i = 1, n = domain.length; i < n; ++i) {\n if (scale(domain[i]) - value) {\n return false;\n }\n }\n return true;\n}\n\n// Mutates channel.value!\nfunction coerceType(channels, {domain, ...options}, coerceValues) {\n for (const c of channels) {\n if (c.value !== undefined) {\n c.value = coerceValues(c.value);\n }\n }\n return {\n domain: domain === undefined ? domain : coerceValues(domain),\n ...options\n };\n}\n\nfunction coerceSymbols(values) {\n return map(values, maybeSymbol);\n}\n\nexport function scale(options = {}) {\n let scale;\n for (const key in options) {\n if (!registry.has(key)) continue; // ignore unknown properties\n if (!isScaleOptions(options[key])) continue; // e.g., ignore {color: \"red\"}\n if (scale !== undefined) throw new Error(\"ambiguous scale definition; multiple scales found\");\n scale = exposeScale(normalizeScale(key, options[key]));\n }\n if (scale === undefined) throw new Error(\"invalid scale definition; no scale found\");\n return scale;\n}\n\nexport function exposeScales(scaleDescriptors) {\n return (key) => {\n if (!registry.has((key = `${key}`))) throw new Error(`unknown scale: ${key}`);\n return key in scaleDescriptors ? exposeScale(scaleDescriptors[key]) : undefined;\n };\n}\n\n// Note: axis- and legend-related properties (such as label, ticks and\n// tickFormat) are not included here as they do not affect the scale’s behavior.\nfunction exposeScale({scale, type, domain, range, interpolate, interval, transform, percent, pivot}) {\n if (type === \"identity\") return {type: \"identity\", apply: (d) => d, invert: (d) => d};\n const unknown = scale.unknown ? scale.unknown() : undefined;\n return {\n type,\n domain: slice(domain), // defensive copy\n ...(range !== undefined && {range: slice(range)}), // defensive copy\n ...(transform !== undefined && {transform}),\n ...(percent && {percent}), // only exposed if truthy\n ...(unknown !== undefined && {unknown}),\n ...(interval !== undefined && {interval}),\n\n // quantitative\n ...(interpolate !== undefined && {interpolate}),\n ...(scale.clamp && {clamp: scale.clamp()}),\n\n // diverging (always asymmetric; we never want to apply the symmetric transform twice)\n ...(pivot !== undefined && {pivot, symmetric: false}),\n\n // log, diverging-log\n ...(scale.base && {base: scale.base()}),\n\n // pow, diverging-pow\n ...(scale.exponent && {exponent: scale.exponent()}),\n\n // symlog, diverging-symlog\n ...(scale.constant && {constant: scale.constant()}),\n\n // band, point\n ...(scale.align && {align: scale.align(), round: scale.round()}),\n ...(scale.padding &&\n (scale.paddingInner\n ? {paddingInner: scale.paddingInner(), paddingOuter: scale.paddingOuter()}\n : {padding: scale.padding()})),\n ...(scale.bandwidth && {bandwidth: scale.bandwidth(), step: scale.step()}),\n\n // utilities\n apply: (t) => scale(t),\n ...(scale.invert && {invert: (t) => scale.invert(t)})\n };\n}\n","// @ts-ignore\nimport { scale } from '@observablehq/plot';\nimport { OptionsType } from './options/Options';\nimport { SCALE_BASE_OPACITY_COLOR } from './constant';\n\nimport type { SubDomain } from './index';\n\ntype ValueType = string | number | undefined;\n\nexport function normalizedScale(scaleOptions: OptionsType['scale']): any {\n try {\n const scaleType = Object.keys(scaleOptions!)[0];\n\n return scale({\n [scaleType]: {\n ...scaleOptions![scaleType as 'color' | 'opacity'],\n clamp: true,\n },\n });\n } catch (error) {\n return null;\n }\n}\n\nfunction scaleStyle(_scale: any, scaleOptions: OptionsType['scale']) {\n const styles: { fill?: Function; 'fill-opacity'?: Function } = {};\n\n if (scaleOptions!.hasOwnProperty('opacity')) {\n styles.fill = () =>\n // eslint-disable-next-line implicit-arrow-linebreak\n scaleOptions!.opacity!.baseColor || SCALE_BASE_OPACITY_COLOR;\n styles['fill-opacity'] = (d: ValueType) => _scale?.apply(d);\n } else {\n styles.fill = (d: ValueType) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n (typeof d === 'string' && d?.startsWith('#') ? d : _scale?.apply(d));\n }\n\n return styles;\n}\n\nexport function applyScaleStyle(\n elem: any,\n _scale: any,\n scaleOptions: OptionsType['scale'],\n keyname?: string,\n) {\n Object.entries(scaleStyle(_scale, scaleOptions)).forEach(([prop, val]) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n elem.style(prop, (d: SubDomain | string) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n val(keyname ? (d as SubDomain)[keyname as keyof SubDomain] : d)));\n}\n","import isFunction from 'lodash-es/isFunction';\nimport { hcl } from 'd3-color';\nimport { normalizedScale, applyScaleStyle } from '../scale';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport type { SubDomain, Timestamp } from '../index';\n\nexport default class Populator {\n calendar: CalHeatmap;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n }\n\n populate(): void {\n const { calendar } = this;\n const { scale, subDomain } = calendar.options.options;\n const colorScale = normalizedScale(scale);\n\n calendar.calendarPainter\n .root!.selectAll('.ch-domain')\n .selectAll('svg')\n .selectAll('g')\n .data((d: Timestamp) => calendar.domainCollection.get(d) || [])\n .call((element: any) => {\n applyScaleStyle(element.select('rect'), colorScale, scale!, 'v');\n })\n .call((element: any) => {\n element\n .select('text')\n .attr('style', (d: SubDomain) => {\n const defaultColor =\n hcl(colorScale?.apply(d.v)).l > 60 ? '#000' : '#fff';\n let color = subDomain.color || (d.v ? defaultColor : null);\n\n if (isFunction(color)) {\n color = color(d.t, d.v, colorScale?.apply(d.v));\n }\n\n if (!color) {\n return null;\n }\n\n return `fill: ${color};`;\n })\n .text((d: SubDomain, i: number, nodes: any[]) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n calendar.dateHelper.format(d.t, subDomain.label, d.v, nodes[i]));\n })\n .call(() => {\n calendar.eventEmitter.emit('fill');\n });\n }\n}\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nexport default eq;\n","import eq from './eq.js';\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nexport default assocIndexOf;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nexport default listCacheDelete;\n","import listCacheClear from './_listCacheClear.js';\nimport listCacheDelete from './_listCacheDelete.js';\nimport listCacheGet from './_listCacheGet.js';\nimport listCacheHas from './_listCacheHas.js';\nimport listCacheSet from './_listCacheSet.js';\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nexport default ListCache;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nexport default listCacheClear;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nexport default listCacheGet;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nexport default listCacheHas;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nexport default listCacheSet;\n","import root from './_root.js';\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nexport default coreJsData;\n","import coreJsData from './_coreJsData.js';\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nexport default isMasked;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nexport default toSource;\n","import isFunction from './isFunction.js';\nimport isMasked from './_isMasked.js';\nimport isObject from './isObject.js';\nimport toSource from './_toSource.js';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nexport default baseIsNative;\n","import baseIsNative from './_baseIsNative.js';\nimport getValue from './_getValue.js';\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nexport default getNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nexport default getValue;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nexport default Map;\n","import getNative from './_getNative.js';\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nexport default nativeCreate;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nexport default hashGet;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nexport default hashHas;\n","import hashClear from './_hashClear.js';\nimport hashDelete from './_hashDelete.js';\nimport hashGet from './_hashGet.js';\nimport hashHas from './_hashHas.js';\nimport hashSet from './_hashSet.js';\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nexport default Hash;\n","import isKeyable from './_isKeyable.js';\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nexport default getMapData;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nexport default isKeyable;\n","import mapCacheClear from './_mapCacheClear.js';\nimport mapCacheDelete from './_mapCacheDelete.js';\nimport mapCacheGet from './_mapCacheGet.js';\nimport mapCacheHas from './_mapCacheHas.js';\nimport mapCacheSet from './_mapCacheSet.js';\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nexport default MapCache;\n","import nativeCreate from './_nativeCreate.js';\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nexport default hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default hashDelete;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nexport default hashSet;\n","import Hash from './_Hash.js';\nimport ListCache from './_ListCache.js';\nimport Map from './_Map.js';\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nexport default mapCacheClear;\n","import getMapData from './_getMapData.js';\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default mapCacheDelete;\n","import getMapData from './_getMapData.js';\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nexport default mapCacheGet;\n","import getMapData from './_getMapData.js';\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nexport default mapCacheHas;\n","import getMapData from './_getMapData.js';\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nexport default mapCacheSet;\n","import ListCache from './_ListCache.js';\nimport stackClear from './_stackClear.js';\nimport stackDelete from './_stackDelete.js';\nimport stackGet from './_stackGet.js';\nimport stackHas from './_stackHas.js';\nimport stackSet from './_stackSet.js';\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nexport default Stack;\n","import ListCache from './_ListCache.js';\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nexport default stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nexport default stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nexport default stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nexport default stackHas;\n","import ListCache from './_ListCache.js';\nimport Map from './_Map.js';\nimport MapCache from './_MapCache.js';\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nexport default stackSet;\n","import getNative from './_getNative.js';\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nexport default defineProperty;\n","import defineProperty from './_defineProperty.js';\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nexport default baseAssignValue;\n","import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nexport default assignMergeValue;\n","import createBaseFor from './_createBaseFor.js';\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nexport default baseFor;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nexport default createBaseFor;\n","import root from './_root.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nexport default cloneBuffer;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nexport default Uint8Array;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nexport default cloneTypedArray;\n","import Uint8Array from './_Uint8Array.js';\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nexport default cloneArrayBuffer;\n","import isObject from './isObject.js';\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nexport default baseCreate;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nexport default overArg;\n","import overArg from './_overArg.js';\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nexport default getPrototype;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nexport default isPrototype;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nexport default baseIsArguments;\n","import baseIsArguments from './_baseIsArguments.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nexport default isArguments;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nexport default isLength;\n","import isFunction from './isFunction.js';\nimport isLength from './isLength.js';\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nexport default isArrayLike;\n","import root from './_root.js';\nimport stubFalse from './stubFalse.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nexport default isBuffer;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nexport default stubFalse;\n","import baseGetTag from './_baseGetTag.js';\nimport getPrototype from './_getPrototype.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nexport default isPlainObject;\n","import baseGetTag from './_baseGetTag.js';\nimport isLength from './isLength.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nexport default baseIsTypedArray;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nexport default nodeUtil;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nexport default baseUnary;\n","import baseIsTypedArray from './_baseIsTypedArray.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nexport default isTypedArray;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nexport default safeGet;\n","import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nexport default assignValue;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nexport default isIndex;\n","import baseTimes from './_baseTimes.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isIndex from './_isIndex.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default arrayLikeKeys;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nexport default baseTimes;\n","import isObject from './isObject.js';\nimport isPrototype from './_isPrototype.js';\nimport nativeKeysIn from './_nativeKeysIn.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeysIn;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default nativeKeysIn;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeysIn from './_baseKeysIn.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nexport default keysIn;\n","import copyObject from './_copyObject.js';\nimport keysIn from './keysIn.js';\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nexport default toPlainObject;\n","import assignValue from './_assignValue.js';\nimport baseAssignValue from './_baseAssignValue.js';\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nexport default copyObject;\n","import assignMergeValue from './_assignMergeValue.js';\nimport cloneBuffer from './_cloneBuffer.js';\nimport cloneTypedArray from './_cloneTypedArray.js';\nimport copyArray from './_copyArray.js';\nimport initCloneObject from './_initCloneObject.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isArrayLikeObject from './isArrayLikeObject.js';\nimport isBuffer from './isBuffer.js';\nimport isFunction from './isFunction.js';\nimport isObject from './isObject.js';\nimport isPlainObject from './isPlainObject.js';\nimport isTypedArray from './isTypedArray.js';\nimport safeGet from './_safeGet.js';\nimport toPlainObject from './toPlainObject.js';\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nexport default baseMergeDeep;\n","import isArrayLike from './isArrayLike.js';\nimport isObjectLike from './isObjectLike.js';\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nexport default isArrayLikeObject;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nexport default copyArray;\n","import baseCreate from './_baseCreate.js';\nimport getPrototype from './_getPrototype.js';\nimport isPrototype from './_isPrototype.js';\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nexport default initCloneObject;\n","import Stack from './_Stack.js';\nimport assignMergeValue from './_assignMergeValue.js';\nimport baseFor from './_baseFor.js';\nimport baseMergeDeep from './_baseMergeDeep.js';\nimport isObject from './isObject.js';\nimport keysIn from './keysIn.js';\nimport safeGet from './_safeGet.js';\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nexport default baseMerge;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nexport default identity;\n","import apply from './_apply.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nexport default overRest;\n","import constant from './constant.js';\nimport defineProperty from './_defineProperty.js';\nimport identity from './identity.js';\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nexport default baseSetToString;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nexport default constant;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nexport default shortOut;\n","import baseSetToString from './_baseSetToString.js';\nimport shortOut from './_shortOut.js';\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nexport default setToString;\n","import identity from './identity.js';\nimport overRest from './_overRest.js';\nimport setToString from './_setToString.js';\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nexport default baseRest;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nexport default apply;\n","import baseMerge from './_baseMerge.js';\nimport createAssigner from './_createAssigner.js';\n\n/**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * if (_.isArray(objValue)) {\n * return objValue.concat(srcValue);\n * }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\nvar mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n baseMerge(object, source, srcIndex, customizer);\n});\n\nexport default mergeWith;\n","import baseRest from './_baseRest.js';\nimport isIterateeCall from './_isIterateeCall.js';\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nexport default createAssigner;\n","import eq from './eq.js';\nimport isArrayLike from './isArrayLike.js';\nimport isIndex from './_isIndex.js';\nimport isObject from './isObject.js';\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nexport default isIterateeCall;\n","import MapCache from './_MapCache.js';\nimport setCacheAdd from './_setCacheAdd.js';\nimport setCacheHas from './_setCacheHas.js';\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nexport default SetCache;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nexport default arraySome;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nexport default setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nexport default setCacheHas;\n","import SetCache from './_SetCache.js';\nimport arraySome from './_arraySome.js';\nimport cacheHas from './_cacheHas.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nexport default equalArrays;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nexport default cacheHas;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nexport default mapToArray;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nexport default setToArray;\n","import Symbol from './_Symbol.js';\nimport Uint8Array from './_Uint8Array.js';\nimport eq from './eq.js';\nimport equalArrays from './_equalArrays.js';\nimport mapToArray from './_mapToArray.js';\nimport setToArray from './_setToArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nexport default equalByTag;\n","import arrayFilter from './_arrayFilter.js';\nimport stubArray from './stubArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nexport default getSymbols;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nexport default arrayFilter;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nexport default stubArray;\n","import overArg from './_overArg.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nexport default nativeKeys;\n","import isPrototype from './_isPrototype.js';\nimport nativeKeys from './_nativeKeys.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeys;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeys from './_baseKeys.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nexport default keys;\n","import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbols from './_getSymbols.js';\nimport keys from './keys.js';\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nexport default getAllKeys;\n","import arrayPush from './_arrayPush.js';\nimport isArray from './isArray.js';\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nexport default baseGetAllKeys;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nexport default arrayPush;\n","import getAllKeys from './_getAllKeys.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nexport default equalObjects;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nexport default DataView;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nexport default Promise;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nexport default Set;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nexport default WeakMap;\n","import DataView from './_DataView.js';\nimport Map from './_Map.js';\nimport Promise from './_Promise.js';\nimport Set from './_Set.js';\nimport WeakMap from './_WeakMap.js';\nimport baseGetTag from './_baseGetTag.js';\nimport toSource from './_toSource.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nexport default getTag;\n","import Stack from './_Stack.js';\nimport equalArrays from './_equalArrays.js';\nimport equalByTag from './_equalByTag.js';\nimport equalObjects from './_equalObjects.js';\nimport getTag from './_getTag.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nexport default baseIsEqualDeep;\n","import baseIsEqualDeep from './_baseIsEqualDeep.js';\nimport isObjectLike from './isObjectLike.js';\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nexport default baseIsEqual;\n","import baseIsEqual from './_baseIsEqual.js';\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nexport default isEqual;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n}\n\nexport default baseHas;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","import isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nexport default isKey;\n","import MapCache from './_MapCache.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nexport default memoize;\n","import memoizeCapped from './_memoizeCapped.js';\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nexport default stringToPath;\n","import memoize from './memoize.js';\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nexport default memoizeCapped;\n","import Symbol from './_Symbol.js';\nimport arrayMap from './_arrayMap.js';\nimport isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default baseToString;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nexport default arrayMap;\n","import isArray from './isArray.js';\nimport isKey from './_isKey.js';\nimport stringToPath from './_stringToPath.js';\nimport toString from './toString.js';\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nexport default castPath;\n","import baseToString from './_baseToString.js';\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nexport default toString;\n","import isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default toKey;\n","import baseHas from './_baseHas.js';\nimport hasPath from './_hasPath.js';\n\n/**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\nfunction has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n}\n\nexport default has;\n","import castPath from './_castPath.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isIndex from './_isIndex.js';\nimport isLength from './isLength.js';\nimport toKey from './_toKey.js';\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nexport default hasPath;\n","import baseGet from './_baseGet.js';\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nexport default get;\n","import castPath from './_castPath.js';\nimport toKey from './_toKey.js';\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nexport default baseGet;\n","import baseSet from './_baseSet.js';\n\n/**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\nfunction set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n}\n\nexport default set;\n","import assignValue from './_assignValue.js';\nimport castPath from './_castPath.js';\nimport isIndex from './_isIndex.js';\nimport isObject from './isObject.js';\nimport toKey from './_toKey.js';\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n}\n\nexport default baseSet;\n","import castArray from 'lodash-es/castArray';\nimport isFunction from 'lodash-es/isFunction';\nimport isString from 'lodash-es/isString';\nimport type { SubDomainOptions } from './Options';\n\nexport default {\n range: (value: number): number => Math.max(+value, 1),\n 'date.highlight': (args: Date[] | Date): Date[] => castArray(args),\n 'subDomain.label': (\n value: SubDomainOptions['label'],\n ): string | Function | null =>\n // eslint-disable-next-line\n ((isString(value) && value !== '') || isFunction(value) ? value : null),\n};\n","'use strict';\n/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */\n/* eslint-disable regexp/no-useless-quantifier -- testing */\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar regexpFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar shared = require('../internals/shared');\nvar create = require('../internals/object-create');\nvar getInternalState = require('../internals/internal-state').get;\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\nvar nativeExec = RegExp.prototype.exec;\nvar patchedExec = nativeExec;\nvar charAt = uncurryThis(''.charAt);\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n call(nativeExec, re1, 'a');\n call(nativeExec, re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;\n\nif (PATCH) {\n patchedExec = function exec(string) {\n var re = this;\n var state = getInternalState(re);\n var str = toString(string);\n var raw = state.raw;\n var result, reCopy, lastIndex, match, i, object, group;\n\n if (raw) {\n raw.lastIndex = re.lastIndex;\n result = call(patchedExec, raw, str);\n re.lastIndex = raw.lastIndex;\n return result;\n }\n\n var groups = state.groups;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = call(regexpFlags, re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = replace(flags, 'y', '');\n if (indexOf(flags, 'g') === -1) {\n flags += 'g';\n }\n\n strCopy = stringSlice(str, re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = call(nativeExec, sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = stringSlice(match.input, charsAdded);\n match[0] = stringSlice(match[0], charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn't work for /(.?)?/\n call(nativeReplace, match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n if (match && groups) {\n match.groups = object = create(null);\n for (i = 0; i < groups.length; i++) {\n group = groups[i];\n object[group[0]] = match[group[1]];\n }\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","import baseGetTag from './_baseGetTag.js';\nimport isArray from './isArray.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nexport default isString;\n","import mergeWith from 'lodash-es/mergeWith';\nimport isEqual from 'lodash-es/isEqual';\nimport has from 'lodash-es/has';\nimport get from 'lodash-es/get';\nimport set from 'lodash-es/set';\nimport type { Ls } from 'dayjs';\nimport type { DomainType, Timestamp } from '../index';\nimport {\n OPTIONS_DEFAULT_DOMAIN_TYPE,\n OPTIONS_DEFAULT_SUBDOMAIN_TYPE,\n OPTIONS_DEFAULT_SUBDOMAIN_WIDTH,\n OPTIONS_DEFAULT_SUBDOMAIN_HEIGHT,\n OPTIONS_DEFAULT_SUBDOMAIN_GUTTER,\n OPTIONS_DEFAULT_SUBDOMAIN_RADIUS,\n OPTIONS_DEFAULT_THEME,\n OPTIONS_DEFAULT_ANIMATION_DURATION,\n OPTIONS_DEFAULT_ITEM_SELECTOR,\n OPTIONS_DEFAULT_RANGE,\n SCALE_BASE_COLOR_SCHEME,\n SCALE_BASE_COLOR_TYPE,\n SCALE_BASE_COLOR_DOMAIN,\n OPTIONS_DEFAULT_LOCALE,\n} from '../constant';\n\nimport OptionsPreProcessors from './OptionsPreProcessors';\n\ntype SortOrder = 'asc' | 'desc';\nexport type TextAlign = 'start' | 'middle' | 'end';\nexport type Padding = [number, number, number, number];\n\nexport type DomainOptions = {\n type: DomainType;\n gutter: number;\n padding: Padding;\n dynamicDimension: boolean;\n label: LabelOptions;\n sort: SortOrder;\n};\n\ntype LabelOptions = {\n text?:\n | string\n | null\n | ((timestamp: Timestamp, element: SVGElement) => string);\n position: 'top' | 'right' | 'bottom' | 'left';\n textAlign: TextAlign;\n offset: {\n x: number;\n y: number;\n };\n rotate: null | 'left' | 'right';\n width: number;\n height: number;\n};\n\nexport type SubDomainOptions = {\n type: string;\n width: number;\n height: number;\n gutter: number;\n radius: number;\n label:\n | string\n | null\n | ((timestamp: Timestamp, value: number, element: SVGElement) => string);\n color?:\n | string\n | ((\n timestamp: Timestamp,\n value: number | string | null | undefined,\n backgroundColor: string,\n ) => string);\n sort: SortOrder;\n};\n\nexport type DataGroupType = 'sum' | 'count' | 'min' | 'max' | 'average';\n\ntype DateOptions = {\n start: Date;\n min?: Date;\n max?: Date;\n highlight: Date[];\n locale: string | Partial<(typeof Ls)[0]>;\n timezone?: string;\n};\n\nexport type DataRecord = Record;\nexport type DataOptions = {\n source: string | DataRecord[];\n type: 'json' | 'csv' | 'tsv' | 'txt';\n requestInit: object;\n x: string | ((datum: DataRecord) => number);\n y: string | ((datum: DataRecord) => number);\n groupY:\n | DataGroupType\n | ((values: (string | number | null)[]) => string | number | null);\n defaultValue: null | number | string;\n};\n\ntype ScaleOptions = {\n opacity?: {\n domain: number[];\n type?: string;\n baseColor: string;\n };\n color?: {\n domain: number[];\n scheme?: string;\n range?: string[];\n interpolate?: any;\n type?: string;\n };\n};\n\nexport type OptionsType = {\n itemSelector: string;\n range: number;\n domain: DomainOptions;\n subDomain: SubDomainOptions;\n date: DateOptions;\n data: DataOptions;\n scale?: ScaleOptions;\n animationDuration: number;\n verticalOrientation: boolean;\n theme: 'light' | 'dark';\n};\n\ntype InternalOptionsType = {\n x: {\n domainHorizontalLabelWidth: number;\n domainVerticalLabelHeight: number;\n };\n};\n\nexport default class Options {\n options: OptionsType & InternalOptionsType;\n\n preProcessors: {\n [key: string]: (value: any) => any;\n };\n\n constructor(processors = OptionsPreProcessors) {\n this.preProcessors = processors;\n\n this.options = {\n // selector string of the container to append the graph to\n // Accept any string value accepted by document.querySelector or CSS3\n // or an Element object\n itemSelector: OPTIONS_DEFAULT_ITEM_SELECTOR,\n\n // Number of domain to display on the graph\n range: OPTIONS_DEFAULT_RANGE,\n\n domain: {\n type: OPTIONS_DEFAULT_DOMAIN_TYPE,\n\n // Space between each domain, in pixel\n gutter: 4,\n\n padding: [0, 0, 0, 0],\n\n // Whether to enable dynamic domain size\n // The width/height on a domain depends on the number of\n // subDomains items count\n dynamicDimension: true,\n\n // Whether to show most recent date first\n sort: 'asc',\n\n label: {\n // Formatting of the domain label\n // @default: undefined, will use the formatting\n // according to domain type\n // Accept any string accepted by dayjs.format()\n // or a function\n //\n // Refer to https://day.js.org/docs/en/display/format\n // for list of accepted string tokens used by dayjs.format()\n text: undefined,\n\n // valid: top, right, bottom, left\n position: 'bottom',\n\n // Valid are the direct svg values: start, middle, end\n textAlign: 'middle',\n\n // By default, there is no margin/padding around the label\n offset: {\n x: 0,\n y: 0,\n },\n\n rotate: null,\n\n // Used only on vertical orientation\n width: 100,\n\n // Used only on horizontal orientation\n height: 25,\n },\n },\n\n subDomain: {\n type: OPTIONS_DEFAULT_SUBDOMAIN_TYPE,\n\n // Width of each subDomain cell, in pixel\n width: OPTIONS_DEFAULT_SUBDOMAIN_WIDTH,\n\n // Height of each subDomain cell, in pixel\n height: OPTIONS_DEFAULT_SUBDOMAIN_HEIGHT,\n\n // Space between each subDomain cell, in pixel\n gutter: OPTIONS_DEFAULT_SUBDOMAIN_GUTTER,\n\n // Radius of each subDomain cell, in pixel\n radius: OPTIONS_DEFAULT_SUBDOMAIN_RADIUS,\n\n // Formatting of the text inside each subDomain cell\n // @default: null, no text\n // Accept any string accepted by dayjs.format()\n // or a function\n //\n // Refer to https://day.js.org/docs/en/display/format\n // for list of accepted string tokens used by dayjs.format()\n label: null,\n\n color: undefined,\n\n sort: 'asc',\n },\n\n date: {\n // Start date of the graph\n // @default now\n start: new Date(),\n\n min: undefined,\n\n max: undefined,\n\n // List of dates to highlight\n // Valid values:\n // - []: don't highlight anything\n // - an array of Date objects: highlight the specified dates\n highlight: [],\n\n locale: OPTIONS_DEFAULT_LOCALE,\n\n timezone: undefined,\n },\n\n // Calendar orientation\n // false: display domains side by side\n // true : display domains one under the other\n verticalOrientation: false,\n\n data: {\n // Data source\n // URL, where to fetch the original datas\n source: '',\n\n // Data type\n // Default: json\n type: 'json',\n\n requestInit: {},\n\n // keyname of the time property\n x: '',\n\n // keyname of the value property\n y: '',\n\n // Grouping function of the values\n groupY: 'sum',\n\n defaultValue: null,\n },\n\n scale: undefined,\n\n // Animation duration, in ms\n animationDuration: OPTIONS_DEFAULT_ANIMATION_DURATION,\n\n // Theme mode: dark/light\n theme: OPTIONS_DEFAULT_THEME,\n\n // Internally used options, do not edit not set\n x: {\n domainHorizontalLabelWidth: 0,\n domainVerticalLabelHeight: 0,\n },\n };\n }\n\n /**\n * Set a new value for an option, only if unchanged\n * @param {string} key Name of the option\n * @param {any} value Value of the option\n * @return {boolean} Whether the option have been changed\n */\n set(key: string, value: any): boolean {\n if (!has(this.options, key) || isEqual(get(this.options, key), value)) {\n return false;\n }\n\n set(\n this.options,\n key,\n has(this.preProcessors, key) ?\n get(this.preProcessors, key)(value) :\n value,\n );\n\n return true;\n }\n\n init(opts?: CalHeatmap.DeepPartial): void {\n this.options = {\n // eslint-disable-next-line arrow-body-style\n ...mergeWith(this.options, opts, (_, srcValue) => {\n return Array.isArray(srcValue) ? srcValue : undefined;\n }),\n };\n\n const { options } = this;\n\n Object.keys(this.preProcessors).forEach((key) => {\n set(options, key, get(this.preProcessors, key)(get(options, key)));\n });\n\n if (typeof options.scale === 'undefined') {\n this.initScale();\n }\n\n options.x.domainVerticalLabelHeight = options.domain.label.height;\n\n // When the label is affecting the height\n if (\n options.domain.label.position === 'top' ||\n options.domain.label.position === 'bottom'\n ) {\n options.x.domainHorizontalLabelWidth = 0;\n } else {\n options.x.domainVerticalLabelHeight = 0;\n options.x.domainHorizontalLabelWidth = options.domain.label.width;\n }\n\n if (\n options.domain.label.text === null ||\n options.domain.label.text === ''\n ) {\n options.x.domainVerticalLabelHeight = 0;\n options.x.domainHorizontalLabelWidth = 0;\n }\n }\n\n initScale() {\n this.options.scale = {\n color: {\n scheme: SCALE_BASE_COLOR_SCHEME,\n type: SCALE_BASE_COLOR_TYPE,\n domain: SCALE_BASE_COLOR_DOMAIN,\n },\n };\n }\n}\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.hasIndices) result += 'd';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.unicodeSets) result += 'v';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nvar UNSUPPORTED_Y = fails(function () {\n var re = $RegExp('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') !== null;\n});\n\n// UC Browser bug\n// https://github.com/zloirock/core-js/issues/1008\nvar MISSED_STICKY = UNSUPPORTED_Y || fails(function () {\n return !$RegExp('a', 'y').sticky;\n});\n\nvar BROKEN_CARET = UNSUPPORTED_Y || fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = $RegExp('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') !== null;\n});\n\nmodule.exports = {\n BROKEN_CARET: BROKEN_CARET,\n MISSED_STICKY: MISSED_STICKY,\n UNSUPPORTED_Y: UNSUPPORTED_Y\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('.', 's');\n return !(re.dotAll && re.test('\\n') && re.flags === 's');\n});\n","'use strict';\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?b)', 'g') -> /(?b)/g and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('(?b)', 'g');\n return re.exec('b').groups.a !== 'b' ||\n 'b'.replace(re, '$c') !== 'bc';\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (KEY, exec, FORCED, SHAM) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) !== 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () {\n execCalled = true;\n return null;\n };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n FORCED\n ) {\n var uncurriedNativeRegExpMethod = uncurryThis(/./[SYMBOL]);\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n var uncurriedNativeMethod = uncurryThis(nativeMethod);\n var $exec = regexp.exec;\n if ($exec === regexpExec || $exec === RegExpPrototype.exec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: uncurriedNativeRegExpMethod(regexp, str, arg2) };\n }\n return { done: true, value: uncurriedNativeMethod(str, regexp, arg2) };\n }\n return { done: false };\n });\n\n defineBuiltIn(String.prototype, KEY, methods[0]);\n defineBuiltIn(RegExpPrototype, SYMBOL, methods[1]);\n }\n\n if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n// eslint-disable-next-line redos/no-vulnerable -- safe\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace(replacement, symbols, function (match, ch) {\n var capture;\n switch (charAt(ch, 0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return stringSlice(str, 0, position);\n case \"'\": return stringSlice(str, tailPos);\n case '<':\n capture = namedCaptures[stringSlice(ch, 1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar regexpExec = require('../internals/regexp-exec');\n\nvar $TypeError = TypeError;\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (isCallable(exec)) {\n var result = call(exec, R, S);\n if (result !== null) anObject(result);\n return result;\n }\n if (classof(R) === 'RegExp') return call(regexpExec, R, S);\n throw new $TypeError('RegExp#exec called on incompatible receiver');\n};\n","'use strict';\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getMethod = require('../internals/get-method');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar max = Math.max;\nvar min = Math.min;\nvar concat = uncurryThis([].concat);\nvar push = uncurryThis([].push);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive\n return ''.replace(re, '$') !== '7';\n});\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = isNullOrUndefined(searchValue) ? undefined : getMethod(searchValue, REPLACE);\n return replacer\n ? call(replacer, searchValue, O, replaceValue)\n : call(nativeReplace, toString(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (string, replaceValue) {\n var rx = anObject(this);\n var S = toString(string);\n\n if (\n typeof replaceValue == 'string' &&\n stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 &&\n stringIndexOf(replaceValue, '$<') === -1\n ) {\n var res = maybeCallNative(nativeReplace, rx, S, replaceValue);\n if (res.done) return res.value;\n }\n\n var functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n\n var global = rx.global;\n var fullUnicode;\n if (global) {\n fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n\n var results = [];\n var result;\n while (true) {\n result = regExpExec(rx, S);\n if (result === null) break;\n\n push(results, result);\n if (!global) break;\n\n var matchStr = toString(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = toString(result[0]);\n var position = max(min(toIntegerOrInfinity(result.index), S.length), 0);\n var captures = [];\n var replacement;\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) push(captures, maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = concat([matched], captures, position, S);\n if (namedCaptures !== undefined) push(replacerArgs, namedCaptures);\n replacement = toString(apply(replaceValue, undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n\n return accumulatedResult + stringSlice(S, nextSourcePosition);\n }\n ];\n}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);\n","import {\n json, csv, dsv, text,\n} from 'd3-fetch';\n\nimport type { DataOptions, DataRecord } from './options/Options';\nimport type { Timestamp } from './index';\nimport type CalHeatmap from './CalHeatmap';\n\nexport default class DataFetcher {\n calendar: CalHeatmap;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n }\n\n /**\n * Fetch and interpret data from the datasource\n *\n * @param {string|object} source\n * @param {number} startTimestamp\n * @param {number} endTimestamp\n *\n * @return {Promize} A promise, that will return the final data when resolved\n */\n async getDatas(\n source: DataOptions['source'],\n startTimestamp: Timestamp,\n endTimestamp: Timestamp,\n ): Promise {\n if (typeof source === 'string' && source.length > 0) {\n return this.#fetch(source, startTimestamp, endTimestamp);\n }\n\n let d: DataRecord[] = [];\n if (Array.isArray(source)) {\n d = source;\n }\n\n return new Promise((resolve) => {\n resolve(d);\n });\n }\n\n parseURI(\n str: string,\n startTimestamp: Timestamp,\n endTimestamp: Timestamp,\n ): string {\n let newUri = str.replace(/\\{\\{start=(.*?)\\}\\}/g, (_, format) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n this.calendar.dateHelper.date(startTimestamp).format(format));\n newUri = newUri.replace(/\\{\\{end=(.*?)\\}\\}/g, (_, format) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n this.calendar.dateHelper.date(endTimestamp).format(format));\n\n return newUri;\n }\n\n #fetch(\n source: DataOptions['source'],\n startTimestamp: Timestamp,\n endTimestamp: Timestamp,\n ): Promise {\n const { type, requestInit } = this.calendar.options.options.data;\n\n const url = this.parseURI(source as string, startTimestamp, endTimestamp);\n\n switch (type) {\n case 'json':\n return json(url, requestInit);\n case 'csv':\n return csv(url, requestInit);\n case 'tsv':\n return dsv('\\t', url, requestInit);\n case 'txt':\n return text(url, requestInit);\n default:\n return new Promise((resolve) => {\n resolve([]);\n });\n }\n }\n}\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FUNCTION_NAME_EXISTS = require('../internals/function-name').EXISTS;\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\n\nvar FunctionPrototype = Function.prototype;\nvar functionToString = uncurryThis(FunctionPrototype.toString);\nvar nameRE = /function\\b(?:\\s|\\/\\*[\\S\\s]*?\\*\\/|\\/\\/[^\\n\\r]*[\\n\\r]+)*([^\\s(/]*)/;\nvar regExpExec = uncurryThis(nameRE.exec);\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !FUNCTION_NAME_EXISTS) {\n defineBuiltInAccessor(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return regExpExec(nameRE, functionToString(this))[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)25){var f=r(this).startOf(t).add(1,t).date(n),s=r(this).endOf(e);if(f.isBefore(s))return 1}var a=r(this).startOf(t).date(n).startOf(e).subtract(1,\"millisecond\"),o=this.diff(a,e,!0);return o<0?r(this).startOf(\"week\").week():Math.ceil(o)},f.weeks=function(e){return void 0===e&&(e=null),this.week(e)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_dayOfYear=t()}(this,(function(){\"use strict\";return function(e,t,n){t.prototype.dayOfYear=function(e){var t=Math.round((n(this).startOf(\"day\")-n(this).startOf(\"year\"))/864e5)+1;return null==e?t:this.add(e-t,\"day\")}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekday=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.weekday=function(e){var t=this.$locale().weekStart||0,i=this.$W,n=(i0&&(n=n[0]);t=(n=n.filter((function(e){return e})))[0];for(var i=1;i4&&(o+=7),n.add(o,e));return r.diff(u,\"week\")+1},d.isoWeekday=function(e){return this.$utils().u(e)?this.day()||7:this.day(this.day()%7?e:e-7)};var n=d.startOf;d.startOf=function(e,t){var i=this.$utils(),s=!!i.u(t)||t;return\"isoweek\"===i.p(e)?s?this.date(this.date()-(this.isoWeekday()-1)).startOf(\"day\"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf(\"day\"):n.bind(this)(e,t)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isLeapYear=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.isLeapYear=function(){return this.$y%4==0&&this.$y%100!=0||this.$y%400==0}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_advancedFormat=t()}(this,(function(){\"use strict\";return function(e,t){var r=t.prototype,n=r.format;r.format=function(e){var t=this,r=this.$locale();if(!this.isValid())return n.bind(this)(e);var s=this.$utils(),a=(e||\"YYYY-MM-DDTHH:mm:ssZ\").replace(/\\[([^\\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(e){switch(e){case\"Q\":return Math.ceil((t.$M+1)/3);case\"Do\":return r.ordinal(t.$D);case\"gggg\":return t.weekYear();case\"GGGG\":return t.isoWeekYear();case\"wo\":return r.ordinal(t.week(),\"W\");case\"w\":case\"ww\":return s.s(t.week(),\"w\"===e?1:2,\"0\");case\"W\":case\"WW\":return s.s(t.isoWeek(),\"W\"===e?1:2,\"0\");case\"k\":case\"kk\":return s.s(String(0===t.$H?24:t.$H),\"k\"===e?1:2,\"0\");case\"X\":return Math.floor(t.$d.getTime()/1e3);case\"x\":return t.$d.getTime();case\"z\":return\"[\"+t.offsetName()+\"]\";case\"zzz\":return\"[\"+t.offsetName(\"long\")+\"]\";default:return e}}));return n.bind(this)(a)}}}));","!function(t,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_utc=i()}(this,(function(){\"use strict\";var t=\"minute\",i=/[+-]\\d\\d(?::?\\d\\d)?/g,e=/([+-]|\\d\\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t)};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else r.call(this)};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if(\"string\"==typeof s&&(s=function(t){void 0===t&&(t=\"\");var s=t.match(i);if(!s)return null;var f=(\"\"+s[0]).match(e)||[\"-\",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:\"+\"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?\"YYYY-MM-DDTHH:mm:ss[Z]\":\"\");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return\"s\"===t&&this.$offset?n(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)}}}));","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_timezone=e()}(this,(function(){\"use strict\";var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(n,i,o){var r,a=function(t,n,i){void 0===i&&(i={});var o=new Date(t),r=function(t,n){void 0===n&&(n={});var i=n.timeZoneName||\"short\",o=t+\"|\"+i,r=e[o];return r||(r=new Intl.DateTimeFormat(\"en-US\",{hour12:!1,timeZone:t,year:\"numeric\",month:\"2-digit\",day:\"2-digit\",hour:\"2-digit\",minute:\"2-digit\",second:\"2-digit\",timeZoneName:i}),e[o]=r),r}(n,i);return r.formatToParts(o)},u=function(e,n){for(var i=a(e,n),r=[],u=0;u=0&&(r[c]=parseInt(m,10))}var d=r[3],l=24===d?0:d,h=r[0]+\"-\"+r[1]+\"-\"+r[2]+\" \"+l+\":\"+r[4]+\":\"+r[5]+\":000\",v=+e;return(o.utc(h).valueOf()-(v-=v%1e3))/6e4},f=i.prototype;f.tz=function(t,e){void 0===t&&(t=r);var n=this.utcOffset(),i=this.toDate(),a=i.toLocaleString(\"en-US\",{timeZone:t}),u=Math.round((i-new Date(a))/1e3/60),f=o(a,{locale:this.$L}).$set(\"millisecond\",this.$ms).utcOffset(15*-Math.round(i.getTimezoneOffset()/15)-u,!0);if(e){var s=f.utcOffset();f=f.add(n-s,\"minute\")}return f.$x.$timezone=t,f},f.offsetName=function(t){var e=this.$x.$timezone||o.tz.guess(),n=a(this.valueOf(),e,{timeZoneName:t}).find((function(t){return\"timezonename\"===t.type.toLowerCase()}));return n&&n.value};var s=f.startOf;f.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return s.call(this,t,e);var n=o(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\"),{locale:this.$L});return s.call(n,t,e).tz(this.$x.$timezone,!0)},o.tz=function(t,e,n){var i=n&&e,a=n||e||r,f=u(+o(),a);if(\"string\"!=typeof t)return o(t).tz(a);var s=function(t,e,n){var i=t-60*e*1e3,o=u(i,n);if(e===o)return[i,e];var r=u(i-=60*(o-e)*1e3,n);return o===r?[i,o]:[t-60*Math.min(o,r)*1e3,Math.max(o,r)]}(o.utc(t,i).valueOf(),f,a),m=s[0],c=s[1],d=o(m).utcOffset(c);return d.$x.$timezone=a,d},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(t){r=t}}}));","!function(n,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(n=\"undefined\"!=typeof globalThis?globalThis:n||self).dayjs_plugin_localeData=e()}(this,(function(){\"use strict\";return function(n,e,t){var r=e.prototype,o=function(n){return n&&(n.indexOf?n:n.s)},u=function(n,e,t,r,u){var i=n.name?n:n.$locale(),a=o(i[e]),s=o(i[t]),f=a||s.map((function(n){return n.slice(0,r)}));if(!u)return f;var d=i.weekStart;return f.map((function(n,e){return f[(e+(d||0))%7]}))},i=function(){return t.Ls[t.locale()]},a=function(n,e){return n.formats[e]||function(n){return n.replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(n,e,t){return e||t.slice(1)}))}(n.formats[e.toUpperCase()])},s=function(){var n=this;return{months:function(e){return e?e.format(\"MMMM\"):u(n,\"months\")},monthsShort:function(e){return e?e.format(\"MMM\"):u(n,\"monthsShort\",\"months\",3)},firstDayOfWeek:function(){return n.$locale().weekStart||0},weekdays:function(e){return e?e.format(\"dddd\"):u(n,\"weekdays\")},weekdaysMin:function(e){return e?e.format(\"dd\"):u(n,\"weekdaysMin\",\"weekdays\",2)},weekdaysShort:function(e){return e?e.format(\"ddd\"):u(n,\"weekdaysShort\",\"weekdays\",3)},longDateFormat:function(e){return a(n.$locale(),e)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};r.localeData=function(){return s.bind(this)()},t.localeData=function(){var n=i();return{firstDayOfWeek:function(){return n.weekStart||0},weekdays:function(){return t.weekdays()},weekdaysShort:function(){return t.weekdaysShort()},weekdaysMin:function(){return t.weekdaysMin()},months:function(){return t.months()},monthsShort:function(){return t.monthsShort()},longDateFormat:function(e){return a(n,e)},meridiem:n.meridiem,ordinal:n.ordinal}},t.months=function(){return u(i(),\"months\")},t.monthsShort=function(){return u(i(),\"monthsShort\",\"months\",3)},t.weekdays=function(n){return u(i(),\"weekdays\",null,null,n)},t.weekdaysShort=function(n){return u(i(),\"weekdaysShort\",\"weekdays\",3,n)},t.weekdaysMin=function(n){return u(i(),\"weekdaysMin\",\"weekdays\",2,n)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_localizedFormat=t()}(this,(function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"};return function(t,o,n){var r=o.prototype,i=r.format;n.en.formats=e,r.format=function(t){void 0===t&&(t=\"YYYY-MM-DDTHH:mm:ssZ\");var o=this.$locale().formats,n=function(t,o){return t.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var i=r&&r.toUpperCase();return n||o[r]||e[r]||o[i].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,o){return t||o.slice(1)}))}))}(t,void 0===o?{}:o);return i.call(this,n)}}}));","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_updateLocale=n()}(this,(function(){\"use strict\";return function(e,n,t){t.updateLocale=function(e,n){var o=t.Ls[e];if(o)return(n?Object.keys(n):[]).forEach((function(e){o[e]=n[e]})),o}}}));","import dayjs from 'dayjs';\nimport weekOfYear from 'dayjs/plugin/weekOfYear';\nimport dayOfYear from 'dayjs/plugin/dayOfYear';\nimport weekday from 'dayjs/plugin/weekday';\nimport minMax from 'dayjs/plugin/minMax';\nimport isoWeeksInYear from 'dayjs/plugin/isoWeeksInYear';\nimport isoWeek from 'dayjs/plugin/isoWeek';\nimport isLeapYear from 'dayjs/plugin/isLeapYear';\nimport advancedFormat from 'dayjs/plugin/advancedFormat';\nimport utc from 'dayjs/plugin/utc';\nimport timezone from 'dayjs/plugin/timezone';\nimport localeData from 'dayjs/plugin/localeData';\nimport localizedFormat from 'dayjs/plugin/localizedFormat';\nimport updateLocale from 'dayjs/plugin/updateLocale';\n\nimport type { ManipulateType, PluginFunc, Ls } from 'dayjs';\nimport type { OptionsType } from '../options/Options';\nimport type { Timestamp, DomainType } from '../index';\n\ndayjs.extend(weekOfYear);\ndayjs.extend(isoWeeksInYear);\ndayjs.extend(isoWeek);\ndayjs.extend(isLeapYear);\ndayjs.extend(dayOfYear);\ndayjs.extend(weekday);\ndayjs.extend(minMax);\ndayjs.extend(advancedFormat);\ndayjs.extend(utc);\ndayjs.extend(timezone);\ndayjs.extend(localeData);\ndayjs.extend(localizedFormat);\ndayjs.extend(updateLocale);\n\nconst DEFAULT_LOCALE = 'en';\n\nexport default class DateHelper {\n locale: OptionsType['date']['locale'];\n\n timezone: string;\n\n constructor() {\n this.locale = DEFAULT_LOCALE;\n this.timezone = dayjs.tz.guess();\n if (typeof window === 'object') {\n (window as any).dayjs ||= dayjs;\n }\n }\n\n async setup({ options }: { options: OptionsType }) {\n this.timezone = options.date.timezone || dayjs.tz.guess();\n const userLocale = options.date.locale;\n\n if (typeof userLocale === 'string' && userLocale !== DEFAULT_LOCALE) {\n let locale;\n if (typeof window === 'object') {\n locale =\n (window as any)[`dayjs_locale_${userLocale}`] ||\n (await this.loadBrowserLocale(userLocale));\n } else {\n locale = await this.loadNodeLocale(userLocale);\n }\n dayjs.locale(userLocale);\n this.locale = locale;\n }\n\n if (typeof userLocale === 'object') {\n if (userLocale.hasOwnProperty('name')) {\n dayjs.locale(userLocale.name, userLocale);\n this.locale = userLocale;\n } else {\n this.locale = dayjs.updateLocale(DEFAULT_LOCALE, userLocale);\n }\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n extend(dayjsPlugin: PluginFunc): dayjs.Dayjs {\n return dayjs.extend(dayjsPlugin);\n }\n\n /**\n * Return the week number, relative to its month\n *\n * @param {number|Date} d Date or timestamp in milliseconds\n * @returns {number} The week number, relative to the month [0-5]\n */\n getMonthWeekNumber(d: Timestamp | dayjs.Dayjs): number {\n const dayjsDate = this.date(d);\n const date = dayjsDate.startOf('day');\n const endOfWeek = dayjsDate.startOf('month').endOf('week');\n\n if (date <= endOfWeek) {\n return 1;\n }\n return Math.ceil(date.diff(endOfWeek, 'weeks', true)) + 1;\n }\n\n /**\n * Return the number of weeks in the given month\n *\n * As there is no fixed standard to specify which month a partial week should\n * belongs to, the ISO week date standard is used, where:\n * - the first week of the month should have at least 4 days\n *\n * @see https://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Timestamp | dayjs.Dayjs} d Datejs object or timestamp\n * @return {number} The number of weeks\n */\n getWeeksCountInMonth(d: Timestamp | dayjs.Dayjs): number {\n const pivotDate = this.date(d);\n\n return (\n this.getLastWeekOfMonth(pivotDate).diff(\n this.getFirstWeekOfMonth(pivotDate),\n 'week',\n ) + 1\n );\n }\n\n /**\n * Return the start of the first week of the month\n *\n * @see getWeeksCountInMonth() about standard warning\n * @return {dayjs.Dayjs} A dayjs object representing the start of the\n * first week\n */\n getFirstWeekOfMonth(d: Timestamp | dayjs.Dayjs): dayjs.Dayjs {\n const startOfMonth = this.date(d).startOf('month');\n let startOfFirstWeek = startOfMonth.startOf('week');\n if (startOfMonth.weekday() > 4) {\n startOfFirstWeek = startOfFirstWeek.add(1, 'week');\n }\n\n return startOfFirstWeek;\n }\n\n /**\n * Return the end of the last week of the month\n *\n * @see getWeeksCountInMonth() about standard warning\n * @return {dayjs.Dayjs} A dayjs object representing the end of the last week\n */\n getLastWeekOfMonth(d: Timestamp | dayjs.Dayjs): dayjs.Dayjs {\n const endOfMonth = this.date(d).endOf('month');\n let endOfLastWeek = endOfMonth.endOf('week');\n if (endOfMonth.weekday() < 4) {\n endOfLastWeek = endOfLastWeek.subtract(1, 'week');\n }\n\n return endOfLastWeek;\n }\n\n date(d: Timestamp | Date | dayjs.Dayjs | string = new Date()): dayjs.Dayjs {\n if (dayjs.isDayjs(d)) {\n return d;\n }\n\n return dayjs(d)\n .tz(this.timezone)\n .utcOffset(0)\n .locale(this.locale as (typeof Ls)[0] | string);\n }\n\n format(\n timestamp: Timestamp,\n formatter: null | string | Function,\n ...args: any\n ): string | null {\n if (typeof formatter === 'function') {\n return formatter(timestamp, ...args);\n }\n\n if (typeof formatter === 'string') {\n return this.date(timestamp).format(formatter);\n }\n\n return null;\n }\n\n /**\n * Return an array of time interval\n *\n * @param {number|Date} date A random date included in the wanted interval\n * @param {number|Date} range Length of the wanted interval, or a stop date.\n * @param {boolean} range Whether the end date should be excluded\n * from the result\n * @returns {Array} Array of unix timestamp, in milliseconds\n */\n intervals(\n interval: DomainType,\n date: Timestamp | Date | dayjs.Dayjs,\n range: number | Date | dayjs.Dayjs,\n excludeEnd: boolean = true,\n ): Timestamp[] {\n let start = this.date(date);\n let end: dayjs.Dayjs;\n if (typeof range === 'number') {\n end = start.add(range, interval as ManipulateType);\n } else if (dayjs.isDayjs(range)) {\n end = range;\n } else {\n end = this.date(range);\n }\n\n start = start.startOf(interval as ManipulateType);\n\n end = end.startOf(interval as ManipulateType);\n let pivot = dayjs.min(start, end)!;\n end = dayjs.max(start, end)!;\n const result: Timestamp[] = [];\n\n if (!excludeEnd) {\n end = end.add(1, 'second');\n }\n\n do {\n result.push(+pivot);\n pivot = pivot.add(1, interval as ManipulateType);\n } while (pivot < end);\n\n return result;\n }\n\n // this function will work cross-browser for loading scripts asynchronously\n // eslint-disable-next-line class-methods-use-this\n loadBrowserLocale(userLocale: string): Promise {\n return new Promise((resolve, reject) => {\n const s = document.createElement('script');\n s.type = 'text/javascript';\n s.async = true;\n s.src = `https://cdn.jsdelivr.net/npm/dayjs@1/locale/${userLocale}.js`;\n s.onerror = (err) => {\n reject(err);\n };\n s.onload = () => {\n resolve((window as any)[`dayjs_locale_${userLocale}`]);\n };\n document.head.appendChild(s);\n });\n }\n\n // eslint-disable-next-line class-methods-use-this\n loadNodeLocale(userLocale: string): Promise {\n return import(`dayjs/locale/${userLocale}.js`);\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\nvar stringIndexOf = uncurryThis(''.indexOf);\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~stringIndexOf(\n toString(requireObjectCoercible(this)),\n toString(notARegExp(searchString)),\n arguments.length > 1 ? arguments[1] : undefined\n );\n }\n});\n","import type TemplateCollection from '../TemplateCollection';\nimport type { DomainOptions, SubDomainOptions, DataOptions } from './Options';\nimport type { DomainType } from '../index';\n\nconst ALLOWED_DATA_TYPES = ['json', 'csv', 'tsv', 'txt'];\n\n/**\n * Ensure that critical options are valid\n *\n * @throw {Error} on critical invalid options\n * @return {boolean} Returns true when there is not critical errors\n */\nexport default function validate(\n templateCollection: TemplateCollection,\n {\n domain,\n subDomain,\n data,\n }: {\n domain: Partial;\n subDomain: Partial;\n data: Partial;\n },\n): boolean {\n const domainType = domain.type as DomainType;\n const subDomainType = subDomain.type as string;\n\n if (!templateCollection.has(domainType)) {\n throw new Error(`'${domainType}' is not a valid domain type'`);\n }\n\n if (!templateCollection.has(subDomainType)) {\n throw new Error(`'${subDomainType}' is not a valid subDomain type'`);\n }\n\n if (data.type && !ALLOWED_DATA_TYPES.includes(data.type)) {\n throw new Error(`The data type '${data.type}' is not valid data type`);\n }\n\n if (\n !(templateCollection.get(subDomainType).allowedDomainType || []).includes(\n domainType,\n )\n ) {\n throw new Error(\n `The subDomain.type '${subDomainType}' can not be used together ` +\n `with the domain type ${domainType}`,\n );\n }\n\n return true;\n}\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.es/ecma262/#sec-set-objects\ncollection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","import isEqual from 'lodash-es/isEqual';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport {\n PluginDefinition,\n PluginOptions,\n IPluginContructor,\n IPlugin,\n} from '../index';\n\ntype PluginSetting = {\n options?: PluginOptions;\n dirty: boolean;\n};\n\nfunction createPlugin(\n Creator: IPluginContructor,\n calendar: CalHeatmap,\n): IPlugin {\n return new Creator(calendar);\n}\n\nfunction extractPluginName(\n PluginClass: IPluginContructor,\n options?: PluginOptions,\n): string {\n return `${new PluginClass().name}${options?.key || ''}`;\n}\n\nexport default class PluginManager {\n calendar: CalHeatmap;\n\n settings: Map;\n\n plugins: Map;\n\n pendingPaint: Set;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n this.settings = new Map();\n this.plugins = new Map();\n this.pendingPaint = new Set();\n }\n\n add(plugins: PluginDefinition[]): void {\n plugins.forEach(([PluginClass, pluginOptions]) => {\n const name = extractPluginName(PluginClass, pluginOptions);\n\n const existingPlugin = this.plugins.get(name);\n\n if (\n existingPlugin &&\n this.settings.get(name) &&\n isEqual(this.settings.get(name)!.options, pluginOptions)\n ) {\n return;\n }\n\n this.settings.set(name, {\n options: pluginOptions,\n dirty: true,\n });\n\n if (!this.plugins.has(name)) {\n this.plugins.set(name, createPlugin(PluginClass, this.calendar));\n }\n\n this.pendingPaint.add(this.plugins.get(name)!);\n });\n }\n\n setupAll(): void {\n this.plugins.forEach((pluginInstance, name) => {\n const settings = this.settings.get(name);\n\n if (typeof settings !== 'undefined') {\n if (settings.dirty) {\n pluginInstance.setup(settings.options);\n settings.dirty = false;\n\n this.settings.set(name, settings);\n }\n }\n });\n }\n\n paintAll(): Promise[] {\n return Array.from(this.pendingPaint.values()).map((p) => p.paint());\n }\n\n destroyAll(): Promise[] {\n return this.allPlugins().map((p) => p.destroy());\n }\n\n getFromPosition(position: PluginOptions['position']): IPlugin[] {\n return this.allPlugins().filter(\n (plugin) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n plugin.options?.position === position,\n );\n }\n\n getHeightFromPosition(position: PluginOptions['position']): number {\n return this.getFromPosition(position)\n .map((d) => d.options.dimensions!.height)\n .reduce((a, b) => a + b, 0);\n }\n\n getWidthFromPosition(position: PluginOptions['position']): number {\n return this.getFromPosition(position)\n .map((d) => d.options.dimensions!.width)\n .reduce((a, b) => a + b, 0);\n }\n\n allPlugins(): IPlugin[] {\n return Array.from(this.plugins.values());\n }\n}\n","import minuteTemplate from './minute';\nimport hourTemplate from './hour';\nimport dayTemplate from './day';\nimport xDayTemplate from './xDay';\nimport ghDayTemplate from './ghDay';\nimport weekTemplate from './week';\nimport monthTemplate from './month';\nimport yearTemplate from './year';\n\nexport default [\n minuteTemplate,\n hourTemplate,\n dayTemplate,\n xDayTemplate,\n ghDayTemplate,\n weekTemplate,\n monthTemplate,\n yearTemplate,\n];\n","import type { Template, DomainType } from '../index';\n\nconst minuteTemplate: Template = (DateHelper) => {\n const COLUMNS_COUNT = 10;\n const ROWS_COUNT = 6;\n const ALLOWED_DOMAIN_TYPE: DomainType[] = ['day', 'hour'];\n\n return {\n name: 'minute',\n allowedDomainType: ALLOWED_DOMAIN_TYPE,\n rowsCount: () => COLUMNS_COUNT,\n columnsCount: () => ROWS_COUNT,\n mapping: (startTimestamp, endTimestamp) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n DateHelper.intervals(\n 'minute',\n startTimestamp,\n DateHelper.date(endTimestamp),\n ).map((ts, index: number) => ({\n t: ts,\n x: Math.floor(index / COLUMNS_COUNT),\n y: index % COLUMNS_COUNT,\n })),\n extractUnit: (ts) => DateHelper.date(ts).startOf('minute').valueOf(),\n };\n};\n\nexport default minuteTemplate;\n","import type { DomainOptions } from '../options/Options';\nimport type { Template, DomainType } from '../index';\n\nconst hourTemplate: Template = (\n DateHelper,\n { domain }: { domain: DomainOptions },\n) => {\n const TOTAL_ITEMS = 24;\n const ROWS_COUNT = 6;\n const ALLOWED_DOMAIN_TYPE: DomainType[] = ['month', 'week', 'day'];\n\n return {\n name: 'hour',\n allowedDomainType: ALLOWED_DOMAIN_TYPE,\n rowsCount: () => ROWS_COUNT,\n columnsCount: (ts) => {\n switch (domain.type) {\n case 'week':\n return (TOTAL_ITEMS / ROWS_COUNT) * 7;\n case 'month':\n return (\n (TOTAL_ITEMS / ROWS_COUNT) *\n (domain.dynamicDimension ? DateHelper.date(ts).daysInMonth() : 31)\n );\n case 'day':\n default:\n return TOTAL_ITEMS / ROWS_COUNT;\n }\n },\n mapping: (startTimestamp, endTimestamp) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n DateHelper.intervals(\n 'hour',\n startTimestamp,\n DateHelper.date(endTimestamp),\n ).map((ts) => {\n const date = DateHelper.date(ts);\n const hour = date.hour();\n const monthDate = date.date();\n let baseX = Math.floor(hour / ROWS_COUNT);\n const columnOffset = TOTAL_ITEMS / ROWS_COUNT;\n\n if (domain.type === 'month') {\n baseX += (monthDate - 1) * columnOffset;\n }\n if (domain.type === 'week') {\n baseX += +date.format('d') * columnOffset;\n }\n\n return {\n t: ts,\n x: baseX,\n y: Math.floor(hour % ROWS_COUNT),\n };\n }),\n extractUnit: (ts) => DateHelper.date(ts).startOf('hour').valueOf(),\n };\n};\n\nexport default hourTemplate;\n","import type { OptionsType, DomainOptions } from '../options/Options';\nimport type { Template, DomainType } from '../index';\n\nconst dayTemplate: Template = (\n DateHelper,\n {\n domain,\n verticalOrientation,\n }: {\n domain: DomainOptions;\n verticalOrientation: OptionsType['verticalOrientation'];\n },\n) => {\n const ROWS_COUNT = 7;\n const ALLOWED_DOMAIN_TYPE: DomainType[] = ['year', 'month', 'week'];\n\n return {\n name: 'day',\n allowedDomainType: ALLOWED_DOMAIN_TYPE,\n rowsCount: () => (domain.type === 'week' ? 1 : ROWS_COUNT),\n columnsCount: (ts) => {\n switch (domain.type) {\n case 'month':\n return Math.ceil(\n domain.dynamicDimension && !verticalOrientation ?\n DateHelper.getMonthWeekNumber(\n DateHelper.date(ts).endOf('month'),\n ) :\n 6, // In rare case, when the first week contains less than 3 days\n );\n case 'year':\n return Math.ceil(\n domain.dynamicDimension ?\n DateHelper.date(ts).endOf('year').dayOfYear() / ROWS_COUNT :\n 54,\n );\n case 'week':\n default:\n return ROWS_COUNT;\n }\n },\n mapping: (startTimestamp, endTimestamp) => {\n let weekNumber = 0;\n let x = -1;\n\n return DateHelper.intervals(\n 'day',\n startTimestamp,\n DateHelper.date(endTimestamp),\n ).map((ts) => {\n const date = DateHelper.date(ts);\n\n switch (domain.type) {\n case 'month':\n x = DateHelper.getMonthWeekNumber(ts) - 1;\n break;\n case 'year':\n if (weekNumber !== date.week()) {\n weekNumber = date.week();\n x += 1;\n }\n break;\n case 'week':\n x = date.weekday();\n break;\n default:\n }\n\n return {\n t: ts,\n x,\n y: domain.type === 'week' ? 0 : date.weekday(),\n };\n });\n },\n extractUnit: (ts) => DateHelper.date(ts).startOf('day').valueOf(),\n };\n};\n\nexport default dayTemplate;\n","import type { OptionsType, DomainOptions } from '../options/Options';\nimport type { Template, DomainType } from '../index';\n\nconst dayTemplate: Template = (\n DateHelper,\n {\n domain,\n verticalOrientation,\n }: {\n domain: DomainOptions;\n verticalOrientation: OptionsType['verticalOrientation'];\n },\n) => {\n const COLUMNS_COUNT = 7;\n const ALLOWED_DOMAIN_TYPE: DomainType[] = ['year', 'month', 'week'];\n\n return {\n name: 'xDay',\n allowedDomainType: ALLOWED_DOMAIN_TYPE,\n rowsCount: (ts) => {\n switch (domain.type) {\n case 'month':\n return Math.ceil(\n domain.dynamicDimension && !verticalOrientation ?\n DateHelper.getMonthWeekNumber(\n DateHelper.date(ts).endOf('month'),\n ) :\n 6, // In rare case, when the first week contains less than 3 days\n );\n case 'year':\n return Math.ceil(\n domain.dynamicDimension ?\n DateHelper.date(ts).endOf('year').dayOfYear() / COLUMNS_COUNT :\n 54,\n );\n case 'week':\n default:\n return COLUMNS_COUNT;\n }\n },\n columnsCount: () => {\n if (domain.type === 'week') {\n return 1;\n }\n return COLUMNS_COUNT;\n },\n mapping: (startTimestamp, endTimestamp) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n DateHelper.intervals(\n 'day',\n startTimestamp,\n DateHelper.date(endTimestamp),\n ).map((ts) => {\n const date = DateHelper.date(ts);\n const endWeekNumber = date.endOf('year').week();\n let x = 0;\n\n switch (domain.type) {\n case 'month':\n x = DateHelper.getMonthWeekNumber(ts) - 1;\n break;\n case 'year':\n if (endWeekNumber === 1 && date.week() === endWeekNumber) {\n x = date.subtract(1, 'week').week() + 1;\n }\n\n x = date.week() - 1;\n break;\n case 'week':\n x = date.weekday();\n break;\n default:\n }\n\n return {\n t: ts,\n y: x,\n x: domain.type === 'week' ? 0 : date.weekday(),\n };\n }),\n extractUnit: (ts) => DateHelper.date(ts).startOf('day').valueOf(),\n };\n};\n\nexport default dayTemplate;\n","import type { Template, DomainType } from '../index';\n\nconst dayTemplate: Template = (DateHelper) => {\n const ROWS_COUNT = 7;\n const ALLOWED_DOMAIN_TYPE: DomainType[] = ['month'];\n\n return {\n name: 'ghDay',\n allowedDomainType: ALLOWED_DOMAIN_TYPE,\n rowsCount: () => ROWS_COUNT,\n columnsCount: (ts) => DateHelper.getWeeksCountInMonth(ts),\n mapping: (startTimestamp, endTimestamp) => {\n const clampStart = DateHelper.getFirstWeekOfMonth(startTimestamp);\n const clampEnd = DateHelper.getFirstWeekOfMonth(endTimestamp);\n\n let x = -1;\n const pivotDay = clampStart.weekday();\n\n return DateHelper.intervals('day', clampStart, clampEnd).map((ts) => {\n const weekday = DateHelper.date(ts).weekday();\n if (weekday === pivotDay) {\n x += 1;\n }\n\n return {\n t: ts,\n x,\n y: weekday,\n };\n });\n },\n extractUnit: (ts) => DateHelper.date(ts).startOf('day').valueOf(),\n };\n};\n\nexport default dayTemplate;\n","import type { DomainOptions } from '../options/Options';\nimport type { Template, DomainType } from '../index';\n\nconst weekTemplate: Template = (\n DateHelper,\n { domain }: { domain: DomainOptions },\n) => {\n const ALLOWED_DOMAIN_TYPE: DomainType[] = ['year', 'month'];\n\n return {\n name: 'week',\n allowedDomainType: ALLOWED_DOMAIN_TYPE,\n rowsCount: () => 1,\n columnsCount: (ts) => {\n switch (domain.type) {\n case 'year':\n return domain.dynamicDimension ?\n DateHelper.date(ts).endOf('year').isoWeeksInYear() :\n 53;\n case 'month':\n return domain.dynamicDimension ?\n DateHelper.getWeeksCountInMonth(ts) :\n 5;\n default:\n return 1;\n }\n },\n mapping: (startTimestamp, endTimestamp) => {\n const clampStart = DateHelper.getFirstWeekOfMonth(startTimestamp);\n const clampEnd = DateHelper.getFirstWeekOfMonth(endTimestamp);\n\n return DateHelper.intervals('week', clampStart, clampEnd).map(\n (ts, i) => ({\n t: ts,\n x: i,\n y: 0,\n }),\n );\n },\n extractUnit: (ts) => DateHelper.date(ts).startOf('week').valueOf(),\n };\n};\n\nexport default weekTemplate;\n","import type { Template, DomainType } from '../index';\n\nconst monthTemplate: Template = (DateHelper) => {\n const ALLOWED_DOMAIN_TYPE: DomainType[] = ['year'];\n\n return {\n name: 'month',\n allowedDomainType: ALLOWED_DOMAIN_TYPE,\n rowsCount: () => 1,\n columnsCount: () => 12,\n mapping: (startTimestamp, endTimestamp) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n DateHelper.intervals(\n 'month',\n startTimestamp,\n DateHelper.date(endTimestamp),\n ).map((ts) => ({\n t: ts,\n x: DateHelper.date(ts).month(),\n y: 0,\n })),\n extractUnit: (ts) => DateHelper.date(ts).startOf('month').valueOf(),\n };\n};\n\nexport default monthTemplate;\n","import type { Template, DomainType } from '../index';\n\nconst yearTemplate: Template = (DateHelper) => {\n const ALLOWED_DOMAIN_TYPE: DomainType[] = [];\n\n return {\n name: 'year',\n allowedDomainType: ALLOWED_DOMAIN_TYPE,\n rowsCount: () => 1,\n columnsCount: () => 1,\n mapping: (startTimestamp, endTimestamp) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n DateHelper.intervals(\n 'year',\n startTimestamp,\n DateHelper.date(endTimestamp),\n ).map((ts, index) => ({\n t: ts,\n x: index,\n y: 0,\n })),\n extractUnit: (ts) => DateHelper.date(ts).startOf('year').valueOf(),\n };\n};\n\nexport default yearTemplate;\n","import castArray from 'lodash-es/castArray';\n\nimport DefaultTemplates from './templates/index';\nimport type Options from './options/Options';\nimport type { Template, TemplateResult } from './index';\nimport type DateHelper from './helpers/DateHelper';\n\nexport default class TemplateCollection {\n dateHelper: DateHelper;\n\n options: Options;\n\n settings: Map;\n\n // Whether the default templates has been initiated\n initiated: boolean;\n\n constructor(dateHelper: DateHelper, options: Options) {\n this.settings = new Map();\n this.dateHelper = dateHelper;\n this.options = options;\n this.initiated = false;\n }\n\n get(subDomainType: string): TemplateResult {\n return this.settings.get(subDomainType)!;\n }\n\n has(subDomainType: string): boolean {\n return this.settings.has(subDomainType);\n }\n\n init() {\n if (!this.initiated) {\n this.initiated = true;\n this.add(DefaultTemplates);\n }\n }\n\n add(templates: Template | Template[]) {\n this.init();\n\n const tplWithParent: string[] = [];\n castArray(templates).forEach((f) => {\n const template = f(this.dateHelper, this.options.options);\n this.settings.set(template.name, template);\n\n if (template.hasOwnProperty('parent')) {\n tplWithParent.push(template.name);\n }\n });\n\n tplWithParent.forEach((name) => {\n const parentTemplate = this.settings.get(\n this.settings.get(name)!.parent!,\n );\n\n if (!parentTemplate) {\n return;\n }\n\n this.settings.set(name, {\n ...parentTemplate,\n ...this.settings.get(name),\n });\n });\n }\n}\n","import EventEmmiter from 'eventemitter3';\nimport castArray from 'lodash-es/castArray';\nimport type { PluginFunc } from 'dayjs';\nimport type dayjs from 'dayjs';\n\nimport Navigator from './calendar/Navigator';\nimport CalendarPainter from './calendar/CalendarPainter';\nimport Populator from './calendar/Populator';\nimport Options from './options/Options';\nimport DataFetcher from './DataFetcher';\nimport DomainCollection from './calendar/DomainCollection';\nimport DateHelper from './helpers/DateHelper';\nimport validate from './options/OptionsValidator';\nimport PluginManager from './plugins/PluginManager';\nimport VERSION from './version';\n\nimport './cal-heatmap.scss';\n\nimport TemplateCollection from './TemplateCollection';\n\nimport type { OptionsType } from './options/Options';\nimport type {\n Template,\n Dimensions,\n PluginDefinition,\n Timestamp,\n} from './index';\n\nimport { ScrollDirection } from './constant';\n\nexport default class CalHeatmap {\n static VERSION = VERSION;\n\n options: Options;\n\n calendarPainter: CalendarPainter;\n\n populator: Populator;\n\n navigator: Navigator;\n\n eventEmitter: EventEmmiter;\n\n dataFetcher: DataFetcher;\n\n domainCollection!: DomainCollection;\n\n templateCollection: TemplateCollection;\n\n dateHelper: DateHelper;\n\n pluginManager: PluginManager;\n\n constructor() {\n // Default options\n this.options = new Options();\n\n // Init the helpers with the default options\n this.dateHelper = new DateHelper();\n this.templateCollection = new TemplateCollection(\n this.dateHelper,\n this.options,\n );\n this.dataFetcher = new DataFetcher(this);\n this.navigator = new Navigator(this);\n this.populator = new Populator(this);\n\n this.calendarPainter = new CalendarPainter(this);\n this.eventEmitter = new EventEmmiter();\n this.pluginManager = new PluginManager(this);\n }\n\n createDomainCollection(\n startDate: Timestamp | Date,\n range: number | Date,\n excludeEnd: boolean = true,\n ): DomainCollection {\n return new DomainCollection(\n this.dateHelper,\n this.options.options.domain.type,\n startDate,\n range,\n excludeEnd,\n );\n }\n\n // =========================================================================\n // PUBLIC API\n // =========================================================================\n\n /**\n * Setup and paint the calendar with the given options\n *\n * @param {Object} options The Options object\n * @return A Promise, which will fulfill once all the underlying asynchronous\n * tasks settle, whether resolved or rejected.\n */\n async paint(\n options?: CalHeatmap.DeepPartial,\n plugins?: PluginDefinition[] | PluginDefinition,\n ): Promise {\n this.options.init(options);\n await this.dateHelper.setup(this.options);\n\n this.templateCollection.init();\n\n try {\n validate(this.templateCollection, this.options.options);\n } catch (error) {\n return Promise.reject(error);\n }\n\n if (plugins) {\n this.pluginManager.add(castArray(plugins as any) as PluginDefinition[]);\n }\n\n this.calendarPainter.setup();\n\n // Record all the valid domains\n // Each domain value is a timestamp in milliseconds\n this.domainCollection = new DomainCollection(this.dateHelper);\n this.navigator.loadNewDomains(\n this.createDomainCollection(\n this.options.options.date.start,\n this.options.options.range,\n ),\n );\n\n return Promise.allSettled([this.calendarPainter.paint(), this.fill()]);\n }\n\n /**\n * Add a new subDomainTemplate\n *\n * @since 4.0.0\n * @param {SubDomainTemplate[] | SubDomainTemplate} templates\n * A single, or an array of SubDomainTemplate object\n * @return void\n */\n addTemplates(templates: Template | Template[]): void {\n this.templateCollection.add(templates);\n }\n\n /**\n * Shift the calendar by n domains forward\n *\n * @param {number} n Number of domain intervals to shift forward\n * @return A Promise, which will fulfill once all the underlying asynchronous\n * tasks settle, whether resolved or rejected.\n */\n next(n: number = 1): Promise {\n const loadDirection = this.navigator.loadNewDomains(\n this.createDomainCollection(this.domainCollection.max, n + 1).slice(n),\n ScrollDirection.SCROLL_FORWARD,\n );\n\n return Promise.allSettled([\n this.calendarPainter.paint(loadDirection),\n this.fill(),\n ]);\n }\n\n /**\n * Shift the calendar by n domains backward\n *\n * @param {number} n Number of domain intervals to shift backward\n * @return A Promise, which will fulfill once all the underlying asynchronous\n * tasks settle, whether resolved or rejected.\n */\n previous(n: number = 1): Promise {\n const loadDirection = this.navigator.loadNewDomains(\n this.createDomainCollection(this.domainCollection.min, -n),\n ScrollDirection.SCROLL_BACKWARD,\n );\n\n return Promise.allSettled([\n this.calendarPainter.paint(loadDirection),\n this.fill(),\n ]);\n }\n\n /**\n * Jump directly to a specific date\n *\n * JumpTo will scroll the calendar until the wanted domain with the specified\n * date is visible. Unless you set reset to true, the wanted domain\n * will not necessarily be the first domain of the calendar.\n *\n * @param {Date} date Jump to the domain containing that date\n * @param {boolean} reset Whether the wanted domain\n * should be the first domain of the calendar\n * @return A Promise, which will fulfill once all the underlying asynchronous\n * tasks settle, whether resolved or rejected.\n */\n jumpTo(date: Date, reset: boolean = false): Promise {\n return Promise.allSettled([\n this.calendarPainter.paint(this.navigator.jumpTo(date, reset)),\n this.fill(),\n ]);\n }\n\n /**\n * Fill the calendar with the given data\n *\n * @param {Object|string} dataSource The calendar's datasource,\n * same type as `options.data.source`\n * @return A Promise, which will fulfill once all the underlying asynchronous\n * tasks settle, whether resolved or rejected.\n */\n fill(dataSource = this.options.options.data.source): Promise {\n const { options } = this.options;\n const template = this.templateCollection;\n const endDate = this.dateHelper.intervals(\n options.domain.type,\n this.domainCollection.max,\n 2,\n )[1];\n\n const dataPromise = this.dataFetcher.getDatas(\n dataSource,\n this.domainCollection.min,\n endDate,\n );\n\n return new Promise((resolve, reject) => {\n dataPromise.then(\n (data: any) => {\n this.domainCollection.fill(\n data,\n options.data,\n template.get(options.subDomain.type)!.extractUnit,\n );\n this.populator.populate();\n resolve(null);\n },\n (error) => {\n reject(error);\n },\n );\n });\n }\n\n /**\n * Listener for all events\n *\n * @since 4.0.0\n * @param {string} eventName Name of the event to listen to\n * @param {function} Callback function to execute on event trigger\n * @return void\n */\n on(name: string, fn: (...args: any[]) => any): void {\n this.eventEmitter.on(name, fn);\n }\n\n dimensions(): Dimensions {\n return this.calendarPainter.dimensions;\n }\n\n /**\n * Destroy the calendar\n *\n * @since 3.3.6\n * @return A Promise, which will fulfill once all the underlying asynchronous\n * tasks settle, whether resolved or rejected.\n */\n destroy(): Promise {\n return this.calendarPainter.destroy();\n }\n\n extendDayjs(plugin: PluginFunc): dayjs.Dayjs {\n return this.dateHelper.extend(plugin);\n }\n}\n","const VERSION = '4.2.4';\nexport default VERSION;\n"],"names":["check","it","Math","global","globalThis","window","self","this","Function","shared$4","exports","require$$0","defineProperty","Object","defineGlobalProperty","key","value","configurable","writable","error","require$$1","SHARED","sharedStore","store","sharedModule","undefined","push","version","mode","copyright","license","source","match","fails","exec","functionBindNative","test","bind","hasOwnProperty","NATIVE_BIND","FunctionPrototype","prototype","call","uncurryThisWithBind","functionUncurryThis","fn","apply","arguments","isNullOrUndefined","$TypeError","TypeError","requireObjectCoercible","$Object","toObject","argument","hasOwnProperty_1","hasOwn","uncurryThis","id","postfix","random","toString","uid","engineUserAgent","navigator","String","userAgent","process","Deno","versions","v8","split","engineV8Version","V8_VERSION","$String","require$$2","symbolConstructorDetection","getOwnPropertySymbols","symbol","Symbol","sham","useSymbolAsUid","iterator","shared","require$$3","NATIVE_SYMBOL","require$$4","USE_SYMBOL_AS_UID","require$$5","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","wellKnownSymbol","name","toStringTagSupport","documentAll","document","all","documentAll_1","IS_HTMLDDA","isCallable","objectDefineProperty","descriptors","get","isObject","EXISTS","createElement","documentCreateElement","ie8DomDefine","a","v8PrototypeDefineBug","anObject","functionCall","getBuiltIn","namespace","method","length","objectIsPrototypeOf","isPrototypeOf","isSymbol","$Symbol","tryToString","aCallable","getMethod","V","P","func","ordinaryToPrimitive","input","pref","val","valueOf","TO_PRIMITIVE","toPrimitive","result","exoticToPrim","toPropertyKey","DESCRIPTORS","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","$defineProperty","$getOwnPropertyDescriptor","getOwnPropertyDescriptor","ENUMERABLE","CONFIGURABLE","WRITABLE","f","O","Attributes","current","enumerable","makeBuiltIn$3","getDescriptor","functionName","PROPER","functionToString","inspectSource","set","has","WeakMap","weakMapBasicDetection","createPropertyDescriptor","bitmap","definePropertyModule","createNonEnumerableProperty","object","keys","sharedKey","hiddenKeys","NATIVE_WEAK_MAP","require$$6","require$$7","OBJECT_ALREADY_INITIALIZED","state","metadata","facade","STATE","internalState","enforce","getterFor","TYPE","type","CONFIGURABLE_FUNCTION_NAME","enforceInternalState","getInternalState","stringSlice","slice","replace","join","CONFIGURABLE_LENGTH","TEMPLATE","makeBuiltIn","makeBuiltInModule","options","getter","setter","arity","constructor","defineBuiltIn","simple","unsafe","nonConfigurable","nonWritable","classofRaw","TO_STRING_TAG_SUPPORT","TO_STRING_TAG","CORRECT_ARGUMENTS","classof","tag","tryGet","callee","objectGetOwnPropertyDescriptor","objectPropertyIsEnumerable","$propertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","descriptor","indexedObject","IndexedObject","toIndexedObject","propertyIsEnumerableModule","objectGetOwnPropertyNames","ceil","floor","trunc","x","n","toIntegerOrInfinity","number","max","min","toAbsoluteIndex","index","integer","toLength","lengthOfArrayLike","obj","createMethod","IS_INCLUDES","$this","el","fromIndex","arrayIncludes","includes","indexOf","objectKeysInternal","names","i","enumBugKeys","internalObjectKeys","concat","getOwnPropertyNames","objectGetOwnPropertySymbols","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","ownKeys","getOwnPropertyDescriptorModule","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","toLowerCase","isForced_1","copyConstructorProperties","target","exceptions","_export","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","forced","engineIsNode","uncurryThisAccessor","aPossiblePrototype","objectSetPrototypeOf","setPrototypeOf","CORRECT_SETTER","Array","proto","__proto__","setToStringTag","TAG","defineBuiltInAccessor","SPECIES","setSpecies","CONSTRUCTOR_NAME","Constructor","anInstance","Prototype","noop","empty","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","$location","defer","channel","port","isConstructor","called","aConstructor","functionApply","Reflect","functionUncurryThisClause","functionBindContext","that","html","arraySlice","engineIsIos","require$$8","validateArgumentsLength","passed","required","IS_IOS","require$$10","IS_NODE","require$$11","setImmediate","clear","clearImmediate","Dispatch","MessageChannel","counter","queue","ONREADYSTATECHANGE","location","run","runner","eventListener","event","globalPostMessageDefer","postMessage","protocol","host","handler","args","nextTick","now","port2","port1","onmessage","addEventListener","importScripts","appendChild","removeChild","setTimeout","task","Queue","head","tail","add","item","entry","next","notify","toggle","node","promise","then","engineIsIosPebble","Pebble","engineIsWebosWebkit","macrotask","IS_IOS_PEBBLE","IS_WEBOS_WEBKIT","MutationObserver","WebKitMutationObserver","Promise","queueMicrotaskDescriptor","microtask","flush","parent","domain","exit","enter","resolve","createTextNode","observe","characterData","microtask_1","perform","promiseNativeConstructor","engineIsDeno","engineIsBrowser","NativePromiseConstructor","IS_BROWSER","IS_DENO","require$$9","SUBCLASSING","NATIVE_PROMISE_REJECTION_EVENT","PromiseRejectionEvent","FORCED_PROMISE_CONSTRUCTOR","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","FakePromise","promiseConstructorDetection","CONSTRUCTOR","REJECTION_EVENT","newPromiseCapability$2","PromiseCapability","C","reject","$$resolve","$$reject","newPromiseCapability","Internal","OwnPromiseCapability","nativeThen","$","require$$12","speciesConstructor","defaultConstructor","S","require$$14","require$$15","hostReportErrors","b","console","require$$17","require$$18","InternalStateModule","require$$19","require$$20","newPromiseCapabilityModule","require$$22","PROMISE","require$$21","NATIVE_PROMISE_SUBCLASSING","getInternalPromiseState","setInternalState","NativePromisePrototype","PromiseConstructor","PromisePrototype","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","isThenable","callReaction","reaction","exited","ok","fail","rejection","onHandleUnhandled","isReject","notified","reactions","onUnhandled","reason","initEvent","isUnhandled","emit","unwrap","internalReject","done","internalResolve","wrapper","executor","onFulfilled","onRejected","PromiseWrapper","wrap","iterators","Iterators","ITERATOR","ArrayPrototype","isArrayIteratorMethod","getIteratorMethod","getIterator","usingIterator","iteratorMethod","iteratorClose","kind","innerResult","innerError","Result","stopped","ResultPrototype","iterate","iterable","unboundFunction","iterFn","step","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","stop","condition","callFn","SAFE_CLOSING","iteratorWithReturn","return","from","checkCorrectnessOfIteration","SKIP_CLOSING","ITERATION_SUPPORT","promiseStaticsIncorrectIteration","capability","$promiseResolve","values","remaining","alreadyCalled","real","catch","race","r","promiseResolve","promiseCapability","objectDefineProperties","objectKeys","defineProperties","Properties","props","activeXDocument","definePropertiesModule","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","JS","style","display","src","contentWindow","open","F","objectCreate","create","UNSCOPABLES","IteratorPrototype","PrototypeOfArrayIteratorPrototype","arrayIterator","addToUnscopables","correctPrototypeGetter","getPrototypeOf","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","objectGetPrototypeOf","BUGGY_SAFARI_ITERATORS","NEW_ITERATOR_PROTOTYPE","iteratorsCore","returnThis","createIteratorConstructor","IteratorConstructor","NAME","ENUMERABLE_NEXT","PROPER_FUNCTION_NAME","require$$13","KEYS","VALUES","ENTRIES","iteratorDefine","Iterable","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","createIterResultObject","defineIterator","ARRAY_ITERATOR","es_array_iterator","iterated","Arguments","allSettled","status","charAt","charCodeAt","CONVERT_TO_STRING","pos","first","second","position","size","stringMultibyte","codeAt","STRING_ITERATOR","point","domIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","classList","DOMTokenListPrototype","domTokenListPrototype","DOMIterables","ArrayIteratorMethods","ArrayValues","handlePrototype","CollectionPrototype","COLLECTION_NAME","METHOD_NAME","fill","argumentsLength","end","endPos","isArray","createProperty","propertyKey","arrayMethodHasSpeciesSupport","array","foo","Boolean","nativeSlice","HAS_SPECIES_SUPPORT","$Array","__awaiter","thisArg","_arguments","generator","fulfilled","e","rejected","__classPrivateFieldGet","receiver","start","k","fin","prefix","Events","EE","context","once","addListener","emitter","listener","evt","_events","_eventsCount","clearEvent","EventEmitter","eventNames","events","listeners","handlers","l","ee","listenerCount","a1","a2","a3","a4","a5","len","removeListener","j","on","removeAllListeners","off","prefixed","module","isArray$3","castArray","arraySpeciesConstructor","originalArray","arraySpeciesCreate","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","callbackfn","specificCreate","boundFunction","arrayIteration","forEach","map","filter","some","every","find","findIndex","filterReject","$map","$assign","assign","objectAssign","A","B","alphabet","chr","T","internalMetadata","objectGetOwnPropertyNamesExternal","arraySliceSimple","$getOwnPropertyNames","windowNames","getWindowNames","arrayBufferNonExtensible","ArrayBuffer","buffer","isExtensible","ARRAY_BUFFER_NON_EXTENSIBLE","$isExtensible","objectIsExtensible","freezing","preventExtensions","getOwnPropertyNamesExternalModule","FREEZING","REQUIRED","METADATA","setMetadata","objectID","weakData","meta","internalMetadataModule","enable","splice","fastKey","getWeakData","onFreeze","InternalMetadataModule","inheritIfRequired","dummy","Wrapper","NewTarget","NewTargetPrototype","collection","common","IS_WEAK","ADDER","NativeConstructor","NativePrototype","exported","fixMethod","uncurriedNativeMethod","getConstructor","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","setStrong","defineBuiltIns","internalStateGetterFor","uncaughtFrozenStore","frozen","UncaughtFrozenStore","findUncaughtFrozen","delete","ScrollDirection","Position","collectionWeak","define","init","SCALE_BASE_OPACITY_COLOR","SCALE_BASE_COLOR_DOMAIN","Navigator","calendar","_classCallCheck","maxDomainReached","minDomainReached","_createClass","newDomainCollection","_this","direction","SCROLL_NONE","templatesClt","templateCollection","minDate","date","extractUnit","maxDate","domainCollection","_Navigator_instances","_Navigator_isDomainBoundaryReached","clamp","range","SCROLL_FORWARD","merge","domainKey","subDomainEndDate","at","dateHelper","intervals","pop","subDomain","mapping","d","v","defaultValue","_Navigator_setDomainsBoundaryReached","SCROLL_BACKWARD","eventEmitter","reset","_this$calendar","Date","loadNewDomains","createDomainCollection","WeakSet","lowerBound","upperBound","reached","doesNotExceedSafeInteger","IS_CONCAT_SPREADABLE","IS_CONCAT_SPREADABLE_SUPPORT","isConcatSpreadable","spreadable","arg","E","arrayMethodIsStrict","nativeJoin","separator","collectionStrong","last","previous","getEntry","removed","prev","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","mergeSort","comparefn","middle","insertionSort","element","left","right","llength","rlength","lindex","rindex","arraySort","firefox","engineFfVersion","engineIsIeOrEdge","webkit","engineWebkitVersion","deletePropertyOrThrow","internalSort","FF","IE_OR_EDGE","V8","WEBKIT","nativeSort","sort","FAILS_ON_UNDEFINED","FAILS_ON_NULL","STRICT_METHOD","STABLE_SORT","code","fromCharCode","itemsLength","items","arrayLength","y","getSortCompare","$forEach","arrayForEach","isVertical","horizontalPadding","padding","LEFT","RIGHT","verticalPadding","TOP","BOTTOM","DomainCoordinates","domainPainter","Map","scrollDirection","_this$calendar$option","verticalOrientation","dimensions","width","height","exitingTotal","scrollFactor","reverse","yankedDomains","coor","w","_DomainCoordinates_instances","_DomainCoordinates_getWidth","h","_DomainCoordinates_getHeight","pre_x","pre_y","inner_width","gutter","inner_height","_this$calendar$option2","columnsCount","subDomainWidth","domainHorizontalLabelWidth","_this$calendar$option3","rowsCount","subDomainHeight","domainVerticalLabelHeight","DEFAULT_SELECTOR","DomainPainter","coordinates","root","rootNode","animationDuration","t","transition","duration","update","promises","selectAll","append","attr","enterSelection","updateSelection","exitSelection","remove","classname","helper","hour","format","week","month","year","$includes","$filter","callWithSafeIterationClosing","arrayLike","IS_CONSTRUCTOR","mapfn","DOMAIN_FORMAT","xDay","ghDay","day","minute","DomainCollection","interval","excludeEnd","ts","_DomainCollection_instances","_DomainCollection_refreshKeys","callback","newCollection","limit","createValueCallback","_this2","keyToRemove","_this3","fromBeginning","_ref","subDomainKeyExtractor","_this4","groupY","groupedRecords","groupRecords","records","_DomainCollection_setSubDomainValues","_this5","results","validSubDomainTimestamp","timestamp","extractTimestamp","groupFn","cleanedValues","reduce","_toConsumableArray","datum","extractorFn","_this6","groupValues","_DomainCollection_extractValues","parseInt","DomainLabelPainter","label","text","textAlign","_DomainLabelPainter_instances","_DomainLabelPainter_textVerticalAlign","nodes","selection","_DomainLabelPainter_domainRotate","rotate","_this$calendar$option4","offset","_DomainLabelPainter_getDomainInsideWidth","_this$calendar$option5","_this$calendar$option6","_this$calendar$option7","_DomainLabelPainter_getDomainInsideHeight","_this$calendar$option8","calendarPainter","domainsContainerPainter","_this$calendar$option9","_this$calendar$option10","_this$calendar$option11","labelWidth","domainWidth","domainHeight","s","whitespaces","ltrim","RegExp","rtrim","stringTrim","trim","$trim","forcedStringTrimMethod","SubDomainPainter","containerClassname","subDomainSvgGroup","_SubDomainPainter_instances","_SubDomainPainter_setPositions","radius","subDomainsCollection","abs","insert","_SubDomainPainter_classname","ev","_SubDomainPainter_appendText","_options$domain","highlight","unitFn","_len","otherClasses","_key","elem","_SubDomainPainter_getCoordinates","axis","BASE_SELECTOR","TRANSITION_CLASSNAME","DomainsContainerPainter","subDomainPainter","domainLabelPainter","transitionsQueueCount","_DomainsContainerPainter_instances","_DomainsContainerPainter_startAnimation","paint","_DomainsContainerPainter_recomputeDimensions","_DomainsContainerPainter_endAnimation","_a","topHeight","pluginManager","getHeightFromPosition","leftWidth","getWidthFromPosition","select","parentNode","classed","domainsDimensions","PluginPainter","paintAll","setPluginsPosition","top","getFromPosition","bottom","topOffset","plugin","leftOffset","CalendarPainter","pluginPainter","itemSelector","theme","setup","setupAll","navigationDir","transitions","updatePosition","_CalendarPainter_instances","_CalendarPainter_resize","destroyAll","destroy","insideHeight","_CalendarPainter_getWidth","insideWidth","newWidth","newHeight","freeGlobal$1","freeSelf","root$1","freeGlobal","Symbol$2","objectProto","nativeObjectToString","symToStringTag","toStringTag","nullTag","undefinedTag","baseGetTag","isOwn","unmasked","getRawTag","objectToString","asyncTag","funcTag","genTag","proxyTag","isFunction","nativeKeys","MATCH","isRegExp","notARegexp","correctIsRegexpLogic","regexp","error1","error2","notARegExp","correctIsRegExpLogic","nativeStartsWith","startsWith","CORRECT_IS_REGEXP_LOGIC","searchString","search","IE_BUG","TO_ENTRIES","IE_WORKAROUND","$entries","defined","Number","isNaN","ascendingDefined","ascending","finite","isFinite","NaN","positive","negative","re","parse","fallback","timeIntervals","timeSecond","timeMinute","timeHour","timeDay","timeWeek","timeMonth","timeYear","timeMonday","timeTuesday","timeWednesday","timeThursday","timeFriday","timeSaturday","timeSunday","utcIntervals","utcSecond","utcMinute","utcHour","utcDay","utcWeek","utcMonth","utcYear","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","utcSunday","maybeTimeInterval","Error","maybeUtcInterval","TypedArray","Uint8Array","constant","coerceNumbers","coerceNumber","Float64Array","coerceDates","coerceDate","isoParse","arrayify","isScaleOptions","option","maybeInterval","isInteger","lo","hi","rangei","maybeRangeInterval","isOrdinal","isTemporal","isTemporalString","isNumericString","orderof","descending","color","opacity","registry","sqrt4_3","sqrt","symbolHexagon","draw","rx","PI","ry","hy","moveTo","lineTo","closePath","symbols","symbolAsterisk","symbolCircle","symbolCross","symbolDiamond","symbolDiamond2","symbolPlus","symbolSquare","symbolSquare2","symbolStar","symbolTimes","symbolTriangle","symbolTriangle2","symbolWye","maybeSymbol","isSymbolObject","warn","message","ordinalSchemes","schemeAccent","schemeCategory10","schemeDark2","schemePaired","schemePastel1","schemePastel2","schemeSet1","schemeSet2","schemeSet3","schemeTableau10","scheme11","schemeBrBG","interpolateBrBG","schemePRGn","interpolatePRGn","schemePiYG","interpolatePiYG","schemePuOr","interpolatePuOr","schemeRdBu","interpolateRdBu","schemeRdGy","interpolateRdGy","schemeRdYlBu","interpolateRdYlBu","schemeRdYlGn","interpolateRdYlGn","schemeSpectral","interpolateSpectral","scheme11r","scheme9","schemeBlues","interpolateBlues","schemeGreens","interpolateGreens","schemeGreys","interpolateGreys","schemeOranges","interpolateOranges","schemePurples","interpolatePurples","schemeReds","interpolateReds","schemei","interpolateTurbo","interpolateViridis","interpolateMagma","interpolateInferno","interpolatePlasma","interpolateCividis","interpolateCubehelixDefault","interpolateWarm","interpolateCool","schemeBuGn","interpolateBuGn","schemeBuPu","interpolateBuPu","schemeGnBu","interpolateGnBu","schemeOrRd","interpolateOrRd","schemePuBu","interpolatePuBu","schemePuBuGn","interpolatePuBuGn","schemePuRd","interpolatePuRd","schemeRdPu","interpolateRdPu","schemeYlGn","interpolateYlGn","schemeYlGnBu","interpolateYlGnBu","schemeYlOrBr","interpolateYlOrBr","schemeYlOrRd","interpolateYlOrRd","schemeicyclical","interpolateRainbow","interpolateSinebow","scheme","interpolate","quantize","ordinalScheme","ordinalRange","quantitativeSchemes","quantitativeScheme","divergingSchemes","Set","isDivergingScheme","flip","unit","interpolators","interpolateNumber","interpolateRgb","interpolateHsl","interpolateHcl","interpolateLab","maybeInterpolator","createScaleQ","scale","channels","nice","zero","inferAutoDomain","unknown","round","inferRadialRange","inferLengthRange","interpolateRound","_","interpolatePiecewise","extent","sign","reverseof","maybeNiceInterval","maybeNice","createScalePow","exponent","scalePow","createScaleThreshold","isOrdered","scaleThreshold","inferDomain","inferZeroDomain","hint","h25","quantile","h50","median","inferLogDomain","inferQuantileDomain","createScaleD","transform","pivot","symmetric","piecewise","mid","mindelta","maxdelta","invert","interpolator","createScaleDivergingPow","scaleDivergingPow","transformSqrt","pow","transformPow","createScaleDivergingSymlog","scaleDivergingSymlog","log1p","expm1","transformSymlog","transformIdentity","transformLog","log","exp","createScaleT","ordinalImplicit","createScaleO","createScaleOrdinal","inferHint","stroke","inferSymbolHint","isNone","symbolsStroke","symbolsFill","inferSymbolRange","maybeBooleanRange","t0","scaleImplicit","scaleOrdinal","maybeRound","InternSet","candidate","normalizeScale","projection","typeProjection","asOrdinalType","inferScaleType","isOrdinalScale","formatScaleType","coerceType","coerceSymbols","scaleDiverging","createScaleDiverging","createScaleDivergingSqrt","base","scaleDivergingLog","createScaleDivergingLog","scaleLinear","createScaleLinear","createScaleSqrt","quantiles","scaleQuantile","createScaleQuantile","thresholds","ticks","createScaleQuantize","scaleLog","createScaleLog","scaleSymlog","createScaleSymlog","scaleUtc","createScaleUtc","scaleTime","createScaleTime","align","scalePoint","createScalePoint","paddingInner","paddingOuter","scaleBand","createScaleBand","scaleIdentity","createScale","description","coerceValues","c","exposeScale","percent","bandwidth","normalizedScale","scaleOptions","scaleType","applyScaleStyle","_scale","keyname","styles","baseColor","scaleStyle","_ref2","_slicedToArray","prop","Populator","_calendar$options$opt","colorScale","defaultColor","hcl","eq","other","assocIndexOf","ListCache","__data__","coreJsData$1","maskSrcKey","coreJsData","funcToString","toSource","reIsHostCtor","funcProto","reIsNative","baseIsNative","getNative","getValue","Map$2","nativeCreate$1","Hash","getMapData","MapCache","nativeCreate","hash","Stack","pairs","LARGE_ARRAY_SIZE","defineProperty$1","baseAssignValue","assignMergeValue","fromRight","baseFor","iteratee","keysFunc","baseFor$1","freeExports","nodeType","freeModule","Buffer","allocUnsafe","Uint8Array$2","cloneTypedArray","typedArray","isDeep","arrayBuffer","byteLength","byteOffset","baseCreate$1","overArg","getPrototype$1","isPrototype","Ctor","isObjectLike","baseIsArguments","isArguments","isArguments$1","MAX_SAFE_INTEGER","isLength","isArrayLike","isBuffer$1","isBuffer","objectTag","objectCtorString","typedArrayTags","freeProcess","nodeUtil","types","require","binding","nodeIsTypedArray","isTypedArray","isTypedArray$1","safeGet","assignValue","objValue","reIsUint","isIndex","arrayLikeKeys","inherited","isArr","isArg","isBuff","isType","skipIndexes","baseTimes","baseKeysIn","nativeKeysIn","isProto","keysIn","toPlainObject","customizer","isNew","newValue","copyObject","baseMergeDeep","srcIndex","mergeFunc","stack","srcValue","stacked","isCommon","isTyped","copyArray","copy","cloneBuffer","getPrototype","isPlainObject","baseCreate","initCloneObject","baseMerge","identity","nativeMax","baseSetToString","baseSetToString$1","nativeNow","setToString","count","lastCalled","stamp","shortOut","setToString$1","baseRest","otherArgs","overRest","assigner","mergeWith","sources","guard","isIterateeCall","mergeWith$1","SetCache","arraySome","predicate","COMPARE_PARTIAL_FLAG","COMPARE_UNORDERED_FLAG","equalArrays","bitmask","equalFunc","isPartial","arrLength","othLength","arrStacked","othStacked","seen","arrValue","othValue","compared","othIndex","mapToArray","setToArray","boolTag","dateTag","errorTag","mapTag","numberTag","regexpTag","setTag","stringTag","symbolTag","arrayBufferTag","dataViewTag","symbolProto","symbolValueOf","nativeGetSymbols","getSymbols","resIndex","arrayFilter","getSymbols$1","nativeKeys$1","baseKeys","getAllKeys","symbolsFunc","arrayPush","baseGetAllKeys","DataView$1","Promise$2","Set$2","WeakMap$1","promiseTag","weakMapTag","dataViewCtorString","DataView","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","getTag","ctorString","getTag$1","argsTag","arrayTag","baseIsEqualDeep","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","convert","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","objProps","objLength","objStacked","skipCtor","objCtor","othCtor","equalObjects","baseIsEqual","isEqual","baseHas","reIsDeepProp","reIsPlainProp","FUNC_ERROR_TEXT","memoize","resolver","memoized","cache","Cache","rePropName","reEscapeChar","stringToPath","memoizeCapped","quote","subString","stringToPath$1","INFINITY","symbolToString","baseToString","arrayMap","castPath","isKey","toKey","path","hasFunc","hasPath","baseGet","lastIndex","nested","baseSet","re1","re2","OptionsPreProcessors","isString","Options","processors","preProcessors","dynamicDimension","locale","timezone","requestInit","opts","initScale","$RegExp","UNSUPPORTED_Y","MISSED_STICKY","sticky","BROKEN_CARET","regexpStickyHelpers","regexpUnsupportedDotAll","dotAll","flags","regexpUnsupportedNcg","groups","regexpFlags","hasIndices","ignoreCase","multiline","unicode","unicodeSets","stickyHelpers","UNSUPPORTED_DOT_ALL","UNSUPPORTED_NCG","nativeReplace","nativeExec","patchedExec","UPDATES_LAST_INDEX_WRONG","NPCG_INCLUDED","reCopy","group","str","raw","charsAdded","strCopy","regexpExec","RegExpPrototype","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","fixRegExpWellKnownSymbolLogic","SHAM","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","uncurriedNativeRegExpMethod","nativeMethod","arg2","forceStringMethod","$exec","advanceStringIndex","getSubstitution","matched","captures","namedCaptures","tailPos","m","ch","capture","regExpExec","R","REPLACE","require$$16","stringIndexOf","REPLACE_KEEPS_$0","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","REPLACE_SUPPORTS_NAMED_GROUPS","maybeCallNative","UNSAFE_SUBSTITUTE","searchValue","replaceValue","replacer","res","functionalReplace","fullUnicode","accumulatedResult","nextSourcePosition","replacerArgs","DataFetcher","startTimestamp","endTimestamp","_context","abrupt","_DataFetcher_instances","_DataFetcher_fetch","_callee","newUri","url","parseURI","json","csv","dsv","FUNCTION_NAME_EXISTS","nameRE","dayjs_min","u","o","M","weekdays","months","ordinal","z","utcOffset","clone","p","D","ms","Q","g","$L","utc","$u","$x","$offset","$d","substring","UTC","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","isSame","startOf","endOf","isAfter","isBefore","$g","unix","getTime","toDate","$locale","weekStart","$set","daysInMonth","subtract","invalidDate","meridiem","monthsShort","weekdaysMin","weekdaysShort","getTimezoneOffset","diff","toJSON","toISOString","toUTCString","extend","$i","isDayjs","en","Ls","yearStart","weeks","dayOfYear","weekday","isoWeeksInYear","isLeapYear","isoWeekday","isoWeekYear","isoWeek","weekYear","offsetName","local","getUTCFullYear","getUTCMonth","getUTCDate","getUTCDay","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","$localOffset","isUTC","timeZoneName","Intl","DateTimeFormat","hour12","timeZone","formatToParts","tz","toLocaleString","$timezone","guess","resolvedOptions","setDefault","formats","toUpperCase","firstDayOfWeek","longDateFormat","localeData","LTS","L","LL","LLL","LLLL","updateLocale","dayjs","weekOfYear","minMax","advancedFormat","localizedFormat","DEFAULT_LOCALE","DateHelper","_typeof","userLocale","loadBrowserLocale","sent","loadNodeLocale","dayjsPlugin","dayjsDate","endOfWeek","pivotDate","getLastWeekOfMonth","getFirstWeekOfMonth","startOfMonth","startOfFirstWeek","endOfMonth","endOfLastWeek","formatter","async","onerror","err","onload","import","ALLOWED_DATA_TYPES","validate","domainType","subDomainType","allowedDomainType","PluginManager","settings","plugins","pendingPaint","Creator","PluginClass","pluginOptions","extractPluginName","dirty","pluginInstance","allPlugins","TOTAL_ITEMS","monthDate","baseX","getMonthWeekNumber","weekNumber","endWeekNumber","getWeeksCountInMonth","clampStart","clampEnd","pivotDay","TemplateCollection","initiated","DefaultTemplates","templates","tplWithParent","template","parentTemplate","CalHeatmap","dataFetcher","populator","EventEmmiter","startDate","loadDirection","jumpTo","dataSource","endDate","dataPromise","getDatas","populate","VERSION"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,159,161,162,163,164,165,166,167,168,169,170,171,172,173,174,178,179,180,181,182,185,186,187,188,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,355,356,358,359,360,361,362,363,364,365,366,367,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,385,387]}
diff --git a/src/agenda_culturel/static/cal-heatmap/plugins/CalendarLabel.min.esm.js.map b/src/agenda_culturel/static/cal-heatmap/plugins/CalendarLabel.min.esm.js.map
index 9b21a60..d9c0a19 100644
--- a/src/agenda_culturel/static/cal-heatmap/plugins/CalendarLabel.min.esm.js.map
+++ b/src/agenda_culturel/static/cal-heatmap/plugins/CalendarLabel.min.esm.js.map
@@ -1 +1 @@
-{"version":3,"file":"CalendarLabel.min.esm.js","sources":["../../node_modules/core-js/internals/fails.js","../../node_modules/core-js/internals/descriptors.js","../../node_modules/core-js/internals/function-bind-native.js","../../node_modules/core-js/internals/function-uncurry-this.js","../../node_modules/core-js/internals/is-null-or-undefined.js","../../node_modules/core-js/internals/require-object-coercible.js","../../node_modules/core-js/internals/to-object.js","../../node_modules/core-js/internals/has-own-property.js","../../node_modules/core-js/internals/function-name.js","../../node_modules/core-js/internals/document-all.js","../../node_modules/core-js/internals/is-callable.js","../../node_modules/core-js/internals/global.js","../../node_modules/core-js/internals/define-global-property.js","../../node_modules/core-js/internals/shared-store.js","../../node_modules/core-js/internals/inspect-source.js","../../node_modules/core-js/internals/engine-v8-version.js","../../node_modules/core-js/internals/weak-map-basic-detection.js","../../node_modules/core-js/internals/is-object.js","../../node_modules/core-js/internals/document-create-element.js","../../node_modules/core-js/internals/ie8-dom-define.js","../../node_modules/core-js/internals/v8-prototype-define-bug.js","../../node_modules/core-js/internals/an-object.js","../../node_modules/core-js/internals/function-call.js","../../node_modules/core-js/internals/get-built-in.js","../../node_modules/core-js/internals/object-is-prototype-of.js","../../node_modules/core-js/internals/engine-user-agent.js","../../node_modules/core-js/internals/symbol-constructor-detection.js","../../node_modules/core-js/internals/use-symbol-as-uid.js","../../node_modules/core-js/internals/is-symbol.js","../../node_modules/core-js/internals/try-to-string.js","../../node_modules/core-js/internals/a-callable.js","../../node_modules/core-js/internals/get-method.js","../../node_modules/core-js/internals/ordinary-to-primitive.js","../../node_modules/core-js/internals/shared.js","../../node_modules/core-js/internals/uid.js","../../node_modules/core-js/internals/well-known-symbol.js","../../node_modules/core-js/internals/to-primitive.js","../../node_modules/core-js/internals/to-property-key.js","../../node_modules/core-js/internals/object-define-property.js","../../node_modules/core-js/internals/create-property-descriptor.js","../../node_modules/core-js/internals/internal-state.js","../../node_modules/core-js/internals/create-non-enumerable-property.js","../../node_modules/core-js/internals/shared-key.js","../../node_modules/core-js/internals/hidden-keys.js","../../node_modules/core-js/internals/make-built-in.js","../../node_modules/core-js/internals/define-built-in-accessor.js","../../node_modules/core-js/modules/es.function.name.js","../../node_modules/core-js/internals/object-property-is-enumerable.js","../../node_modules/core-js/internals/classof-raw.js","../../node_modules/core-js/internals/indexed-object.js","../../node_modules/core-js/internals/to-indexed-object.js","../../node_modules/core-js/internals/object-get-own-property-descriptor.js","../../node_modules/core-js/internals/define-built-in.js","../../node_modules/core-js/internals/math-trunc.js","../../node_modules/core-js/internals/to-integer-or-infinity.js","../../node_modules/core-js/internals/to-absolute-index.js","../../node_modules/core-js/internals/to-length.js","../../node_modules/core-js/internals/length-of-array-like.js","../../node_modules/core-js/internals/array-includes.js","../../node_modules/core-js/internals/object-keys-internal.js","../../node_modules/core-js/internals/enum-bug-keys.js","../../node_modules/core-js/internals/object-get-own-property-names.js","../../node_modules/core-js/internals/object-get-own-property-symbols.js","../../node_modules/core-js/internals/own-keys.js","../../node_modules/core-js/internals/copy-constructor-properties.js","../../node_modules/core-js/internals/is-forced.js","../../node_modules/core-js/internals/export.js","../../node_modules/core-js/internals/object-keys.js","../../node_modules/core-js/internals/object-assign.js","../../node_modules/core-js/modules/es.object.assign.js","../../node_modules/core-js/internals/to-string-tag-support.js","../../node_modules/core-js/internals/classof.js","../../node_modules/core-js/internals/object-to-string.js","../../node_modules/core-js/modules/es.object.to-string.js","../../node_modules/core-js/internals/engine-is-node.js","../../node_modules/core-js/internals/function-uncurry-this-accessor.js","../../node_modules/core-js/internals/a-possible-prototype.js","../../node_modules/core-js/internals/object-set-prototype-of.js","../../node_modules/core-js/internals/set-to-string-tag.js","../../node_modules/core-js/internals/set-species.js","../../node_modules/core-js/internals/an-instance.js","../../node_modules/core-js/internals/is-constructor.js","../../node_modules/core-js/internals/task.js","../../node_modules/core-js/internals/a-constructor.js","../../node_modules/core-js/internals/species-constructor.js","../../node_modules/core-js/internals/function-apply.js","../../node_modules/core-js/internals/function-uncurry-this-clause.js","../../node_modules/core-js/internals/function-bind-context.js","../../node_modules/core-js/internals/html.js","../../node_modules/core-js/internals/array-slice.js","../../node_modules/core-js/internals/validate-arguments-length.js","../../node_modules/core-js/internals/engine-is-ios.js","../../node_modules/core-js/internals/queue.js","../../node_modules/core-js/internals/microtask.js","../../node_modules/core-js/internals/engine-is-ios-pebble.js","../../node_modules/core-js/internals/engine-is-webos-webkit.js","../../node_modules/core-js/internals/perform.js","../../node_modules/core-js/internals/promise-native-constructor.js","../../node_modules/core-js/internals/engine-is-deno.js","../../node_modules/core-js/internals/engine-is-browser.js","../../node_modules/core-js/internals/promise-constructor-detection.js","../../node_modules/core-js/internals/new-promise-capability.js","../../node_modules/core-js/modules/es.promise.constructor.js","../../node_modules/core-js/internals/host-report-errors.js","../../node_modules/core-js/internals/iterators.js","../../node_modules/core-js/internals/is-array-iterator-method.js","../../node_modules/core-js/internals/get-iterator-method.js","../../node_modules/core-js/internals/get-iterator.js","../../node_modules/core-js/internals/iterator-close.js","../../node_modules/core-js/internals/iterate.js","../../node_modules/core-js/internals/check-correctness-of-iteration.js","../../node_modules/core-js/internals/promise-statics-incorrect-iteration.js","../../node_modules/core-js/modules/es.promise.all.js","../../node_modules/core-js/modules/es.promise.catch.js","../../node_modules/core-js/modules/es.promise.race.js","../../node_modules/core-js/modules/es.promise.reject.js","../../node_modules/core-js/internals/promise-resolve.js","../../node_modules/core-js/modules/es.promise.resolve.js","../../node_modules/core-js/internals/array-method-is-strict.js","../../node_modules/core-js/modules/es.array.join.js","../../node_modules/core-js/internals/object-define-properties.js","../../node_modules/core-js/internals/object-create.js","../../node_modules/core-js/internals/add-to-unscopables.js","../../node_modules/core-js/internals/iterators-core.js","../../node_modules/core-js/internals/correct-prototype-getter.js","../../node_modules/core-js/internals/object-get-prototype-of.js","../../node_modules/core-js/internals/iterator-create-constructor.js","../../node_modules/core-js/internals/iterator-define.js","../../node_modules/core-js/internals/create-iter-result-object.js","../../node_modules/core-js/modules/es.array.iterator.js","../../node_modules/core-js/internals/to-string.js","../../node_modules/core-js/internals/string-multibyte.js","../../node_modules/core-js/modules/es.string.iterator.js","../../node_modules/core-js/internals/create-property.js","../../node_modules/core-js/internals/array-slice-simple.js","../../node_modules/core-js/internals/object-get-own-property-names-external.js","../../node_modules/core-js/internals/array-buffer-non-extensible.js","../../node_modules/core-js/internals/object-is-extensible.js","../../node_modules/core-js/internals/freezing.js","../../node_modules/core-js/internals/internal-metadata.js","../../node_modules/core-js/internals/inherit-if-required.js","../../node_modules/core-js/internals/collection.js","../../node_modules/core-js/internals/define-built-ins.js","../../node_modules/core-js/internals/is-array.js","../../node_modules/core-js/internals/array-species-constructor.js","../../node_modules/core-js/internals/array-species-create.js","../../node_modules/core-js/internals/array-iteration.js","../../node_modules/core-js/internals/collection-weak.js","../../node_modules/core-js/modules/es.weak-set.constructor.js","../../node_modules/core-js/internals/dom-iterables.js","../../node_modules/core-js/internals/dom-token-list-prototype.js","../../node_modules/core-js/modules/web.dom-collections.iterator.js","../../node_modules/core-js/internals/array-for-each.js","../../node_modules/core-js/modules/web.dom-collections.for-each.js","../../node_modules/core-js/modules/es.object.keys.js","../../../src/constant.ts","../../node_modules/tslib/tslib.es6.js","../../../src/helpers/PositionHelper.ts","../../../src/plugins/CalendarLabel.ts"],"sourcesContent":["'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","'use strict';\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.34.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.34.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FUNCTION_NAME_EXISTS = require('../internals/function-name').EXISTS;\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\n\nvar FunctionPrototype = Function.prototype;\nvar functionToString = uncurryThis(FunctionPrototype.toString);\nvar nameRE = /function\\b(?:\\s|\\/\\*[\\S\\s]*?\\*\\/|\\/\\/[^\\n\\r]*[\\n\\r]+)*([^\\s(/]*)/;\nvar regExpExec = uncurryThis(nameRE.exec);\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !FUNCTION_NAME_EXISTS) {\n defineBuiltInAccessor(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return regExpExec(nameRE, functionToString(this))[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol('assign detection');\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\nvar $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar global = require('../internals/global');\nvar classof = require('../internals/classof-raw');\n\nmodule.exports = classof(global.process) === 'process';\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineBuiltInAccessor(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar Dispatch = global.Dispatch;\nvar Function = global.Function;\nvar MessageChannel = global.MessageChannel;\nvar String = global.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar $location, defer, channel, port;\n\nfails(function () {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n $location = global.location;\n});\n\nvar run = function (id) {\n if (hasOwn(queue, id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar eventListener = function (event) {\n run(event.data);\n};\n\nvar globalPostMessageDefer = function (id) {\n // old engines have not location.origin\n global.postMessage(String(id), $location.protocol + '//' + $location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = eventListener;\n defer = bind(port.postMessage, port);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n isCallable(global.postMessage) &&\n !global.importScripts &&\n $location && $location.protocol !== 'file:' &&\n !fails(globalPostMessageDefer)\n ) {\n defer = globalPostMessageDefer;\n global.addEventListener('message', eventListener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","'use strict';\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw new $TypeError('Not enough arguments');\n return passed;\n};\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\n// eslint-disable-next-line redos/no-vulnerable -- safe\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","'use strict';\nvar Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n var tail = this.tail;\n if (tail) tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n var next = this.head = entry.next;\n if (next === null) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","'use strict';\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar Queue = require('../internals/queue');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/engine-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar microtask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\nvar notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!microtask) {\n var queue = new Queue();\n\n var flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (fn = queue.get()) try {\n fn();\n } catch (error) {\n if (queue.head) notify();\n throw error;\n }\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = bind(promise.then, promise);\n notify = function () {\n then(flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessage\n // - onreadystatechange\n // - setTimeout\n } else {\n // `webpack` dev server bug on IE global methods - use bind(fn, global)\n macrotask = bind(macrotask, global);\n notify = function () {\n macrotask(flush);\n };\n }\n\n microtask = function (fn) {\n if (!queue.head) notify();\n queue.add(fn);\n };\n}\n\nmodule.exports = microtask;\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined';\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict';\nvar global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","'use strict';\n/* global Deno -- Deno case */\nmodule.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object';\n","'use strict';\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nmodule.exports = !IS_DENO && !IS_NODE\n && typeof window == 'object'\n && typeof document == 'object';\n","'use strict';\nvar global = require('../internals/global');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {\n // Detect correctness of subclassing with @@species support\n var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n } return !GLOBAL_CORE_JS_PROMISE && (IS_BROWSER || IS_DENO) && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n SUBCLASSING: SUBCLASSING\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/engine-is-node');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state === FULFILLED;\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(new TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n call(then, result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw new TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n call(then, value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalPromiseState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n\n PromisePrototype = PromiseConstructor.prototype;\n\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: new Queue(),\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state === PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n });\n\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalPromiseState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!NATIVE_PROMISE_SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromisePrototype);\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","'use strict';\nmodule.exports = function (a, b) {\n try {\n // eslint-disable-next-line no-console -- safe\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n } catch (error) { /* empty */ }\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n try {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n } catch (error) { return false; } // workaround of old WebKit + `eval` bug\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","'use strict';\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call($promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['catch'];\n if (NativePromisePrototype['catch'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n reject: function reject(r) {\n var capability = newPromiseCapabilityModule.f(this);\n call(capability.reject, undefined, r);\n return capability.promise;\n }\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call -- required for testing\n method.call(null, argument || function () { return 1; }, 1);\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = uncurryThis([].join);\n\nvar ES3_STRINGS = IndexedObject !== Object;\nvar FORCED = ES3_STRINGS || !arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: FORCED }, {\n join: function join(separator) {\n return nativeJoin(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] === undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND];\n\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n }\n\n return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\n// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n return { value: value, done: done };\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return createIterResultObject(undefined, true);\n }\n switch (state.kind) {\n case 'keys': return createIterResultObject(index, false);\n case 'values': return createIterResultObject(target[index], false);\n } return createIterResultObject([index, target[index]], false);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return createIterResultObject(undefined, true);\n point = charAt(string, index);\n state.index += point.length;\n return createIterResultObject(point, false);\n});\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar $Array = Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = $Array(max(fin - k, 0));\n var n = 0;\n for (; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","'use strict';\n/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) === 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","'use strict';\n// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it\nvar fails = require('../internals/fails');\n\nmodule.exports = fails(function () {\n if (typeof ArrayBuffer == 'function') {\n var buffer = new ArrayBuffer(8);\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe\n if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });\n }\n});\n","'use strict';\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external');\nvar isExtensible = require('../internals/object-is-extensible');\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar REQUIRED = false;\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + id++, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar enable = function () {\n meta.enable = function () { /* empty */ };\n REQUIRED = true;\n var getOwnPropertyNames = getOwnPropertyNamesModule.f;\n var splice = uncurryThis([].splice);\n var test = {};\n test[METADATA] = 1;\n\n // prevent exposing of metadata key\n if (getOwnPropertyNames(test).length) {\n getOwnPropertyNamesModule.f = function (it) {\n var result = getOwnPropertyNames(it);\n for (var i = 0, length = result.length; i < length; i++) {\n if (result[i] === METADATA) {\n splice(result, i, 1);\n break;\n }\n } return result;\n };\n\n $({ target: 'Object', stat: true, forced: true }, {\n getOwnPropertyNames: getOwnPropertyNamesExternalModule.f\n });\n }\n};\n\nvar meta = module.exports = {\n enable: enable,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n defineBuiltIn(NativePrototype, KEY,\n KEY === 'add' ? function add(value) {\n uncurriedNativeMethod(this, value === 0 ? 0 : value);\n return this;\n } : KEY === 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY === 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY === 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.enable();\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) !== instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, NativePrototype);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, constructor: true, forced: Constructor !== NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) defineBuiltIn(target, key, src[key], options);\n return target;\n};\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? $Array : C;\n};\n","'use strict';\nvar arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE === 1;\n var IS_FILTER = TYPE === 2;\n var IS_SOME = TYPE === 3;\n var IS_EVERY = TYPE === 4;\n var IS_FIND_INDEX = TYPE === 6;\n var IS_FILTER_REJECT = TYPE === 7;\n var NO_HOLES = TYPE === 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(self);\n var boundFunction = bind(callbackfn, that);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar getWeakData = require('../internals/internal-metadata').getWeakData;\nvar anInstance = require('../internals/an-instance');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isObject = require('../internals/is-object');\nvar iterate = require('../internals/iterate');\nvar ArrayIterationModule = require('../internals/array-iteration');\nvar hasOwn = require('../internals/has-own-property');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar splice = uncurryThis([].splice);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (state) {\n return state.frozen || (state.frozen = new UncaughtFrozenStore());\n};\n\nvar UncaughtFrozenStore = function () {\n this.entries = [];\n};\n\nvar findUncaughtFrozen = function (store, key) {\n return find(store.entries, function (it) {\n return it[0] === key;\n });\n};\n\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.entries.push([key, value]);\n },\n 'delete': function (key) {\n var index = findIndex(this.entries, function (it) {\n return it[0] === key;\n });\n if (~index) splice(this.entries, index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n id: id++,\n frozen: undefined\n });\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var data = getWeakData(anObject(key), true);\n if (data === true) uncaughtFrozenStore(state).set(key, value);\n else data[state.id] = value;\n return that;\n };\n\n defineBuiltIns(Prototype, {\n // `{ WeakMap, WeakSet }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-weakmap.prototype.delete\n // https://tc39.es/ecma262/#sec-weakset.prototype.delete\n 'delete': function (key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state)['delete'](key);\n return data && hasOwn(data, state.id) && delete data[state.id];\n },\n // `{ WeakMap, WeakSet }.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-weakmap.prototype.has\n // https://tc39.es/ecma262/#sec-weakset.prototype.has\n has: function has(key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).has(key);\n return data && hasOwn(data, state.id);\n }\n });\n\n defineBuiltIns(Prototype, IS_MAP ? {\n // `WeakMap.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-weakmap.prototype.get\n get: function get(key) {\n var state = getInternalState(this);\n if (isObject(key)) {\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).get(key);\n return data ? data[state.id] : undefined;\n }\n },\n // `WeakMap.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-weakmap.prototype.set\n set: function set(key, value) {\n return define(this, key, value);\n }\n } : {\n // `WeakSet.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-weakset.prototype.add\n add: function add(value) {\n return define(this, value, true);\n }\n });\n\n return Constructor;\n }\n};\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\n\n// `WeakSet` constructor\n// https://tc39.es/ecma262/#sec-weakset-constructor\ncollection('WeakSet', function (init) {\n return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionWeak);\n","'use strict';\n// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","'use strict';\n// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","'use strict';\nvar global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nvar handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n setToStringTag(CollectionPrototype, COLLECTION_NAME, true);\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype, COLLECTION_NAME);\n}\n\nhandlePrototype(DOMTokenListPrototype, 'DOMTokenList');\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","'use strict';\nvar global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar handlePrototype = function (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n if (DOMIterables[COLLECTION_NAME]) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype);\n }\n}\n\nhandlePrototype(DOMTokenListPrototype);\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","export enum ScrollDirection {\n SCROLL_NONE,\n SCROLL_BACKWARD,\n SCROLL_FORWARD,\n}\n\nexport enum Position {\n TOP,\n RIGHT,\n BOTTOM,\n LEFT,\n}\n\nexport const OPTIONS_DEFAULT_DOMAIN_TYPE = 'hour';\n\nexport const OPTIONS_DEFAULT_SUBDOMAIN_TYPE = 'minute';\nexport const OPTIONS_DEFAULT_SUBDOMAIN_WIDTH = 10;\nexport const OPTIONS_DEFAULT_SUBDOMAIN_HEIGHT = 10;\nexport const OPTIONS_DEFAULT_SUBDOMAIN_GUTTER = 2;\nexport const OPTIONS_DEFAULT_SUBDOMAIN_RADIUS = 0;\nexport const OPTIONS_DEFAULT_ANIMATION_DURATION = 200;\nexport const OPTIONS_DEFAULT_RANGE = 12;\nexport const OPTIONS_DEFAULT_ITEM_SELECTOR = '#cal-heatmap';\nexport const OPTIONS_DEFAULT_THEME = 'light';\nexport const OPTIONS_DEFAULT_LOCALE = 'en';\n\nexport const SCALE_BASE_OPACITY_COLOR = 'red';\nexport const SCALE_BASE_COLOR_SCHEME = 'YlOrBr';\nexport const SCALE_BASE_COLOR_TYPE = 'quantize';\nexport const SCALE_BASE_COLOR_DOMAIN = [0, 100];\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport default {\r\n __extends,\r\n __assign,\r\n __rest,\r\n __decorate,\r\n __param,\r\n __metadata,\r\n __awaiter,\r\n __generator,\r\n __createBinding,\r\n __exportStar,\r\n __values,\r\n __read,\r\n __spread,\r\n __spreadArrays,\r\n __spreadArray,\r\n __await,\r\n __asyncGenerator,\r\n __asyncDelegator,\r\n __asyncValues,\r\n __makeTemplateObject,\r\n __importStar,\r\n __importDefault,\r\n __classPrivateFieldGet,\r\n __classPrivateFieldSet,\r\n __classPrivateFieldIn,\r\n};\r\n","import { Position } from '../constant';\nimport type { Padding } from '../options/Options';\n\nexport function isHorizontal(position: string): boolean {\n return position === 'left' || position === 'right';\n}\n\nexport function isVertical(position: string): boolean {\n return position === 'top' || position === 'bottom';\n}\n\nexport function horizontalPadding(padding: Padding): number {\n return padding[Position.LEFT] + padding[Position.RIGHT];\n}\n\nexport function verticalPadding(padding: Padding): number {\n return padding[Position.TOP] + padding[Position.BOTTOM];\n}\n","import { Position } from '../constant';\nimport {\n isHorizontal,\n isVertical,\n horizontalPadding,\n verticalPadding,\n} from '../helpers/PositionHelper';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport type { IPlugin, PluginOptions } from '../index';\nimport type { TextAlign, Padding } from '../options/Options';\n\ntype ComputedOptions = {\n radius: number;\n width: number;\n height: number;\n gutter: number;\n textAlign: TextAlign;\n};\n\ninterface CalendarLabelOptions extends PluginOptions, Partial {\n enabled: boolean;\n text: () => string[];\n padding: Padding;\n}\n\nconst DEFAULT_SELECTOR = '.ch-plugin-calendar-label';\n\nconst defaultOptions: CalendarLabelOptions = {\n enabled: true,\n\n dimensions: {\n width: 0,\n height: 0,\n },\n\n position: 'left',\n\n text: () => [],\n\n padding: [0, 0, 0, 0],\n};\n\nexport default class CalendarLabel implements IPlugin {\n name = 'CalendarLabel';\n\n calendar: CalHeatmap;\n\n root: any;\n\n shown: boolean;\n\n options: CalendarLabelOptions;\n\n computedOptions: ComputedOptions;\n\n constructor(calendar: CalHeatmap) {\n const subDomain = calendar?.options?.options?.subDomain;\n\n this.calendar = calendar;\n this.root = null;\n this.shown = false;\n this.options = defaultOptions;\n this.computedOptions = {\n radius: subDomain?.radius,\n width: subDomain?.width,\n height: subDomain?.height,\n gutter: subDomain?.gutter,\n textAlign: 'start',\n };\n }\n\n setup(pluginOptions?: Partial): void {\n this.options = { ...defaultOptions, ...pluginOptions };\n }\n\n paint(): Promise {\n const { enabled } = this.options;\n\n if (!enabled) {\n return this.destroy();\n }\n\n this.shown = true;\n\n const calendarRoot = this.calendar.calendarPainter.root;\n\n if (!this.root) {\n this.root = calendarRoot\n .append('svg')\n .attr('class', DEFAULT_SELECTOR.slice(1))\n .attr('data-key', this.options.key)\n .attr('x', 0)\n .attr('y', 0);\n }\n\n this.build();\n\n return Promise.resolve();\n }\n\n destroy(): Promise {\n if (this.root !== null) {\n this.root.remove();\n this.root = null;\n }\n\n return Promise.resolve();\n }\n\n build() {\n this.#buildComputedOptions();\n this.#computeDimensions();\n\n this.root\n .selectAll('g')\n .data(this.options.text)\n .join((enter: any) => enter\n .append('g')\n .call((selection: any) => selection\n .append('rect')\n .attr('class', `${DEFAULT_SELECTOR.slice(1)}-bg`)\n .attr('style', 'fill: transparent')\n .call((s: any) => this.#setRectAttr(s)))\n .call((selection: any) => selection\n .append('text')\n .attr('class', `${DEFAULT_SELECTOR.slice(1)}-text`)\n .attr('dominant-baseline', 'central')\n .attr('text-anchor', 'middle')\n .attr('style', 'fill: currentColor; font-size: 10px')\n .call((s: any) => this.#setTextAttr(s))));\n\n return Promise.resolve();\n }\n\n #buildComputedOptions() {\n Object.keys(this.computedOptions).forEach((key: string) => {\n if (typeof this.options[key as keyof ComputedOptions] !== 'undefined') {\n // @ts-ignore\n this.computedOptions[key] = this.options[key];\n }\n });\n }\n\n /**\n * Compute the total dimension of the current plugin\n */\n #computeDimensions(): void {\n const { width, height, gutter } = this.computedOptions;\n const { text, padding, position } = this.options;\n const labelsCount = text().length;\n\n this.options.dimensions = {\n width: width + horizontalPadding(padding),\n height: height + verticalPadding(padding),\n };\n\n if (isVertical(position!)) {\n this.options.dimensions.width += (width + gutter) * (labelsCount - 1);\n } else {\n this.options.dimensions.height += (height + gutter) * (labelsCount - 1);\n }\n }\n\n #setRectAttr(selection: any) {\n const { width, height, radius } = this.computedOptions;\n\n selection\n .attr('width', width)\n .attr('height', height)\n .attr('rx', radius && radius > 0 ? radius : null)\n .attr('ry', radius && radius > 0 ? radius : null)\n .attr('x', (_d: string, i: number) => this.#getX(i))\n .attr('y', (_d: string, i: number) => this.#getY(i));\n }\n\n #setTextAttr(selection: any): void {\n const { height, textAlign } = this.computedOptions;\n\n selection\n .attr('text-anchor', textAlign)\n .attr(\n 'x',\n (_d: string, i: number) => this.#getTextXOffset() + this.#getX(i),\n )\n .attr('y', (_d: string, i: number) => this.#getY(i) + height! / 2)\n .text((data: string) => data);\n }\n\n #getTextXOffset() {\n const { width, textAlign } = this.computedOptions;\n\n switch (textAlign) {\n case 'start':\n return 0;\n case 'middle':\n return width / 2;\n case 'end':\n return width;\n default:\n return 0;\n }\n }\n\n #getX(index: number) {\n const { position, padding } = this.options;\n const { width, gutter } = this.computedOptions;\n\n if (isHorizontal(position!)) {\n return padding[Position.LEFT];\n }\n\n return padding[Position.LEFT] + (width + gutter) * index;\n }\n\n #getY(index: number) {\n const { position, padding } = this.options;\n const { height, gutter } = this.computedOptions;\n\n if (isVertical(position!)) {\n return padding[Position.TOP];\n }\n\n return padding[Position.TOP] + (height + gutter) * index;\n }\n}\n"],"names":["fails","exec","error","descriptors","require$$0","Object","defineProperty","get","functionBindNative","test","bind","hasOwnProperty","NATIVE_BIND","FunctionPrototype","Function","prototype","call","uncurryThisWithBind","functionUncurryThis","fn","apply","arguments","isNullOrUndefined","it","$TypeError","TypeError","requireObjectCoercible","$Object","toObject","argument","require$$1","hasOwnProperty_1","hasOwn","key","DESCRIPTORS","getDescriptor","getOwnPropertyDescriptor","EXISTS","functionName","PROPER","name","CONFIGURABLE","configurable","makeBuiltIn$3","exports","documentAll","document","all","documentAll_1","IS_HTMLDDA","undefined","isCallable","check","Math","global","globalThis","window","self","this","defineGlobalProperty","value","writable","SHARED","sharedStore","store","require$$2","functionToString","toString","inspectSource","match","version","WeakMap","weakMapBasicDetection","String","isObject","objectDefineProperty","createElement","documentCreateElement","ie8DomDefine","a","v8PrototypeDefineBug","$String","anObject","functionCall","getBuiltIn","namespace","method","length","objectIsPrototypeOf","isPrototypeOf","engineUserAgent","navigator","userAgent","process","Deno","versions","v8","split","engineV8Version","V8_VERSION","symbolConstructorDetection","getOwnPropertySymbols","symbol","Symbol","sham","useSymbolAsUid","iterator","isSymbol","require$$3","$Symbol","tryToString","aCallable","getMethod","V","P","func","shared$3","sharedModule","push","mode","copyright","license","source","uncurryThis","id","postfix","random","uid","shared","NATIVE_SYMBOL","require$$4","USE_SYMBOL_AS_UID","require$$5","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","wellKnownSymbol","ordinaryToPrimitive","input","pref","val","valueOf","TO_PRIMITIVE","toPrimitive","result","exoticToPrim","toPropertyKey","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","WRITABLE","f","O","Attributes","current","enumerable","set","has","createPropertyDescriptor","bitmap","definePropertyModule","createNonEnumerableProperty","object","keys","sharedKey","hiddenKeys","NATIVE_WEAK_MAP","require$$6","require$$7","OBJECT_ALREADY_INITIALIZED","state","metadata","facade","STATE","internalState","enforce","getterFor","TYPE","type","CONFIGURABLE_FUNCTION_NAME","enforceInternalState","getInternalState","stringSlice","slice","replace","join","CONFIGURABLE_LENGTH","TEMPLATE","makeBuiltIn","makeBuiltInModule","options","getter","setter","arity","constructor","defineBuiltInAccessor","target","descriptor","FUNCTION_NAME_EXISTS","nameRE","regExpExec","objectGetOwnPropertyDescriptor","objectPropertyIsEnumerable","$propertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","classofRaw","classof","indexedObject","IndexedObject","toIndexedObject","propertyIsEnumerableModule","defineBuiltIn","simple","unsafe","nonConfigurable","nonWritable","ceil","floor","trunc","x","n","toIntegerOrInfinity","number","max","min","toAbsoluteIndex","index","integer","toLength","lengthOfArrayLike","obj","createMethod","IS_INCLUDES","$this","el","fromIndex","arrayIncludes","includes","indexOf","objectKeysInternal","names","i","enumBugKeys","internalObjectKeys","concat","objectGetOwnPropertyNames","getOwnPropertyNames","objectGetOwnPropertySymbols","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","ownKeys","getOwnPropertyDescriptorModule","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","toLowerCase","isForced_1","copyConstructorProperties","exceptions","_export","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","forced","objectKeys","require$$8","$assign","assign","objectAssign","b","A","B","alphabet","forEach","chr","T","argumentsLength","S","j","toStringTagSupport","TO_STRING_TAG_SUPPORT","TO_STRING_TAG","CORRECT_ARGUMENTS","tag","tryGet","callee","engineIsNode","uncurryThisAccessor","aPossiblePrototype","objectSetPrototypeOf","setPrototypeOf","CORRECT_SETTER","Array","proto","__proto__","setToStringTag","TAG","SPECIES","anInstance","Prototype","noop","empty","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","$location","defer","channel","port","isConstructor","called","aConstructor","functionApply","Reflect","functionBindContext","that","html","arraySlice","engineIsIos","validateArgumentsLength","passed","required","IS_IOS","require$$10","IS_NODE","require$$11","setImmediate","clear","clearImmediate","Dispatch","MessageChannel","counter","queue","ONREADYSTATECHANGE","location","run","runner","eventListener","event","globalPostMessageDefer","postMessage","protocol","host","handler","args","nextTick","now","port2","port1","onmessage","addEventListener","importScripts","appendChild","removeChild","setTimeout","task","Queue","head","tail","add","item","entry","next","notify","toggle","node","promise","then","engineIsIosPebble","Pebble","engineIsWebosWebkit","macrotask","IS_IOS_PEBBLE","IS_WEBOS_WEBKIT","MutationObserver","WebKitMutationObserver","Promise","queueMicrotaskDescriptor","microtask","flush","parent","domain","exit","enter","resolve","createTextNode","observe","characterData","microtask_1","perform","promiseNativeConstructor","engineIsDeno","engineIsBrowser","NativePromiseConstructor","IS_BROWSER","IS_DENO","require$$9","SUBCLASSING","NATIVE_PROMISE_REJECTION_EVENT","PromiseRejectionEvent","FORCED_PROMISE_CONSTRUCTOR","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","FakePromise","promiseConstructorDetection","CONSTRUCTOR","REJECTION_EVENT","newPromiseCapability$2","PromiseCapability","C","reject","$$resolve","$$reject","newPromiseCapability","Internal","OwnPromiseCapability","nativeThen","$","setSpecies","CONSTRUCTOR_NAME","Constructor","require$$12","speciesConstructor","defaultConstructor","require$$14","require$$15","hostReportErrors","console","require$$17","require$$18","InternalStateModule","require$$19","require$$20","newPromiseCapabilityModule","require$$22","PROMISE","require$$21","NATIVE_PROMISE_SUBCLASSING","getInternalPromiseState","setInternalState","NativePromisePrototype","PromiseConstructor","PromisePrototype","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","isThenable","callReaction","reaction","exited","ok","fail","rejection","onHandleUnhandled","isReject","notified","reactions","onUnhandled","reason","initEvent","isUnhandled","emit","unwrap","internalReject","done","internalResolve","wrapper","executor","onFulfilled","onRejected","PromiseWrapper","wrap","iterators","Iterators","ITERATOR","ArrayPrototype","getIteratorMethod","isArrayIteratorMethod","getIterator","usingIterator","iteratorMethod","iteratorClose","kind","innerResult","innerError","Result","stopped","ResultPrototype","iterate","iterable","unboundFunction","iterFn","step","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","stop","condition","callFn","SAFE_CLOSING","iteratorWithReturn","return","from","checkCorrectnessOfIteration","SKIP_CLOSING","ITERATION_SUPPORT","promiseStaticsIncorrectIteration","capability","$promiseResolve","values","remaining","alreadyCalled","real","catch","race","r","promiseResolve","promiseCapability","arrayMethodIsStrict","METHOD_NAME","nativeJoin","separator","objectDefineProperties","defineProperties","Properties","props","activeXDocument","definePropertiesModule","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","JS","style","display","src","contentWindow","open","F","objectCreate","create","UNSCOPABLES","IteratorPrototype","PrototypeOfArrayIteratorPrototype","arrayIterator","correctPrototypeGetter","getPrototypeOf","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","objectGetPrototypeOf","BUGGY_SAFARI_ITERATORS","NEW_ITERATOR_PROTOTYPE","iteratorsCore","returnThis","createIteratorConstructor","IteratorConstructor","NAME","ENUMERABLE_NEXT","PROPER_FUNCTION_NAME","require$$13","KEYS","VALUES","ENTRIES","iteratorDefine","Iterable","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","createIterResultObject","addToUnscopables","defineIterator","ARRAY_ITERATOR","es_array_iterator","iterated","Arguments","charAt","charCodeAt","CONVERT_TO_STRING","pos","first","second","position","size","codeAt","STRING_ITERATOR","point","internalMetadata","objectGetOwnPropertyNamesExternal","createProperty","propertyKey","$Array","$getOwnPropertyNames","start","end","k","fin","windowNames","getWindowNames","arrayBufferNonExtensible","ArrayBuffer","buffer","isExtensible","ARRAY_BUFFER_NON_EXTENSIBLE","$isExtensible","objectIsExtensible","freezing","preventExtensions","getOwnPropertyNamesExternalModule","FREEZING","REQUIRED","METADATA","setMetadata","objectID","weakData","meta","internalMetadataModule","enable","splice","fastKey","getWeakData","onFreeze","InternalMetadataModule","inheritIfRequired","dummy","Wrapper","NewTarget","NewTargetPrototype","isArray","arraySpeciesConstructor","originalArray","arraySpeciesCreate","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","callbackfn","specificCreate","boundFunction","arrayIteration","map","filter","some","every","find","findIndex","filterReject","defineBuiltIns","internalStateGetterFor","uncaughtFrozenStore","frozen","UncaughtFrozenStore","findUncaughtFrozen","delete","collectionWeak","getConstructor","ADDER","define","common","IS_WEAK","NativeConstructor","NativePrototype","exported","fixMethod","uncurriedNativeMethod","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","setStrong","collection","init","domIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","classList","DOMTokenListPrototype","domTokenListPrototype","DOMIterables","ArrayIteratorMethods","ArrayValues","handlePrototype","CollectionPrototype","COLLECTION_NAME","$forEach","ScrollDirection","Position","nativeKeys","__classPrivateFieldGet","receiver","isVertical","horizontalPadding","padding","LEFT","RIGHT","verticalPadding","TOP","BOTTOM","DEFAULT_SELECTOR","defaultOptions","enabled","dimensions","width","height","text","CalendarLabel","calendar","_classCallCheck","subDomain","_b","_a","root","shown","computedOptions","radius","gutter","textAlign","pluginOptions","destroy","calendarRoot","calendarPainter","append","attr","build","remove","_this","_CalendarLabel_instances","_CalendarLabel_buildComputedOptions","_CalendarLabel_computeDimensions","selectAll","selection","s","_CalendarLabel_setRectAttr","_CalendarLabel_setTextAttr","_this2","_this$computedOptions","_this$options","labelsCount","_this3","_this$computedOptions2","_d","_CalendarLabel_getX","_this4","_this$computedOptions3","_CalendarLabel_getY","_CalendarLabel_getTextXOffset","_this$computedOptions4","_this$options2","_this$computedOptions5","isHorizontal","_this$options3","_this$computedOptions6"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,156]}
\ No newline at end of file
+{"version":3,"file":"CalendarLabel.min.esm.js","sources":["../../node_modules/core-js/internals/fails.js","../../node_modules/core-js/internals/descriptors.js","../../node_modules/core-js/internals/function-bind-native.js","../../node_modules/core-js/internals/function-uncurry-this.js","../../node_modules/core-js/internals/is-null-or-undefined.js","../../node_modules/core-js/internals/require-object-coercible.js","../../node_modules/core-js/internals/to-object.js","../../node_modules/core-js/internals/has-own-property.js","../../node_modules/core-js/internals/function-name.js","../../node_modules/core-js/internals/document-all.js","../../node_modules/core-js/internals/is-callable.js","../../node_modules/core-js/internals/global.js","../../node_modules/core-js/internals/define-global-property.js","../../node_modules/core-js/internals/shared-store.js","../../node_modules/core-js/internals/inspect-source.js","../../node_modules/core-js/internals/engine-v8-version.js","../../node_modules/core-js/internals/weak-map-basic-detection.js","../../node_modules/core-js/internals/is-object.js","../../node_modules/core-js/internals/document-create-element.js","../../node_modules/core-js/internals/ie8-dom-define.js","../../node_modules/core-js/internals/v8-prototype-define-bug.js","../../node_modules/core-js/internals/an-object.js","../../node_modules/core-js/internals/function-call.js","../../node_modules/core-js/internals/get-built-in.js","../../node_modules/core-js/internals/object-is-prototype-of.js","../../node_modules/core-js/internals/engine-user-agent.js","../../node_modules/core-js/internals/symbol-constructor-detection.js","../../node_modules/core-js/internals/use-symbol-as-uid.js","../../node_modules/core-js/internals/is-symbol.js","../../node_modules/core-js/internals/try-to-string.js","../../node_modules/core-js/internals/a-callable.js","../../node_modules/core-js/internals/get-method.js","../../node_modules/core-js/internals/ordinary-to-primitive.js","../../node_modules/core-js/internals/shared.js","../../node_modules/core-js/internals/uid.js","../../node_modules/core-js/internals/well-known-symbol.js","../../node_modules/core-js/internals/to-primitive.js","../../node_modules/core-js/internals/to-property-key.js","../../node_modules/core-js/internals/object-define-property.js","../../node_modules/core-js/internals/create-property-descriptor.js","../../node_modules/core-js/internals/internal-state.js","../../node_modules/core-js/internals/create-non-enumerable-property.js","../../node_modules/core-js/internals/shared-key.js","../../node_modules/core-js/internals/hidden-keys.js","../../node_modules/core-js/internals/make-built-in.js","../../node_modules/core-js/internals/define-built-in-accessor.js","../../node_modules/core-js/modules/es.function.name.js","../../node_modules/core-js/internals/object-property-is-enumerable.js","../../node_modules/core-js/internals/classof-raw.js","../../node_modules/core-js/internals/indexed-object.js","../../node_modules/core-js/internals/to-indexed-object.js","../../node_modules/core-js/internals/object-get-own-property-descriptor.js","../../node_modules/core-js/internals/define-built-in.js","../../node_modules/core-js/internals/math-trunc.js","../../node_modules/core-js/internals/to-integer-or-infinity.js","../../node_modules/core-js/internals/to-absolute-index.js","../../node_modules/core-js/internals/to-length.js","../../node_modules/core-js/internals/length-of-array-like.js","../../node_modules/core-js/internals/array-includes.js","../../node_modules/core-js/internals/object-keys-internal.js","../../node_modules/core-js/internals/enum-bug-keys.js","../../node_modules/core-js/internals/object-get-own-property-names.js","../../node_modules/core-js/internals/object-get-own-property-symbols.js","../../node_modules/core-js/internals/own-keys.js","../../node_modules/core-js/internals/copy-constructor-properties.js","../../node_modules/core-js/internals/is-forced.js","../../node_modules/core-js/internals/export.js","../../node_modules/core-js/internals/object-keys.js","../../node_modules/core-js/internals/object-assign.js","../../node_modules/core-js/modules/es.object.assign.js","../../node_modules/core-js/internals/to-string-tag-support.js","../../node_modules/core-js/internals/classof.js","../../node_modules/core-js/internals/object-to-string.js","../../node_modules/core-js/modules/es.object.to-string.js","../../node_modules/core-js/internals/engine-is-node.js","../../node_modules/core-js/internals/function-uncurry-this-accessor.js","../../node_modules/core-js/internals/a-possible-prototype.js","../../node_modules/core-js/internals/object-set-prototype-of.js","../../node_modules/core-js/internals/set-to-string-tag.js","../../node_modules/core-js/internals/set-species.js","../../node_modules/core-js/internals/an-instance.js","../../node_modules/core-js/internals/is-constructor.js","../../node_modules/core-js/internals/task.js","../../node_modules/core-js/internals/a-constructor.js","../../node_modules/core-js/internals/species-constructor.js","../../node_modules/core-js/internals/function-apply.js","../../node_modules/core-js/internals/function-uncurry-this-clause.js","../../node_modules/core-js/internals/function-bind-context.js","../../node_modules/core-js/internals/html.js","../../node_modules/core-js/internals/array-slice.js","../../node_modules/core-js/internals/validate-arguments-length.js","../../node_modules/core-js/internals/engine-is-ios.js","../../node_modules/core-js/internals/queue.js","../../node_modules/core-js/internals/microtask.js","../../node_modules/core-js/internals/engine-is-ios-pebble.js","../../node_modules/core-js/internals/engine-is-webos-webkit.js","../../node_modules/core-js/internals/perform.js","../../node_modules/core-js/internals/promise-native-constructor.js","../../node_modules/core-js/internals/engine-is-deno.js","../../node_modules/core-js/internals/engine-is-browser.js","../../node_modules/core-js/internals/promise-constructor-detection.js","../../node_modules/core-js/internals/new-promise-capability.js","../../node_modules/core-js/modules/es.promise.constructor.js","../../node_modules/core-js/internals/host-report-errors.js","../../node_modules/core-js/internals/iterators.js","../../node_modules/core-js/internals/is-array-iterator-method.js","../../node_modules/core-js/internals/get-iterator-method.js","../../node_modules/core-js/internals/get-iterator.js","../../node_modules/core-js/internals/iterator-close.js","../../node_modules/core-js/internals/iterate.js","../../node_modules/core-js/internals/check-correctness-of-iteration.js","../../node_modules/core-js/internals/promise-statics-incorrect-iteration.js","../../node_modules/core-js/modules/es.promise.all.js","../../node_modules/core-js/modules/es.promise.catch.js","../../node_modules/core-js/modules/es.promise.race.js","../../node_modules/core-js/modules/es.promise.reject.js","../../node_modules/core-js/internals/promise-resolve.js","../../node_modules/core-js/modules/es.promise.resolve.js","../../node_modules/core-js/internals/array-method-is-strict.js","../../node_modules/core-js/modules/es.array.join.js","../../node_modules/core-js/internals/object-define-properties.js","../../node_modules/core-js/internals/object-create.js","../../node_modules/core-js/internals/add-to-unscopables.js","../../node_modules/core-js/internals/iterators-core.js","../../node_modules/core-js/internals/correct-prototype-getter.js","../../node_modules/core-js/internals/object-get-prototype-of.js","../../node_modules/core-js/internals/iterator-create-constructor.js","../../node_modules/core-js/internals/iterator-define.js","../../node_modules/core-js/internals/create-iter-result-object.js","../../node_modules/core-js/modules/es.array.iterator.js","../../node_modules/core-js/internals/to-string.js","../../node_modules/core-js/internals/string-multibyte.js","../../node_modules/core-js/modules/es.string.iterator.js","../../node_modules/core-js/internals/create-property.js","../../node_modules/core-js/internals/array-slice-simple.js","../../node_modules/core-js/internals/object-get-own-property-names-external.js","../../node_modules/core-js/internals/array-buffer-non-extensible.js","../../node_modules/core-js/internals/object-is-extensible.js","../../node_modules/core-js/internals/freezing.js","../../node_modules/core-js/internals/internal-metadata.js","../../node_modules/core-js/internals/inherit-if-required.js","../../node_modules/core-js/internals/collection.js","../../node_modules/core-js/internals/define-built-ins.js","../../node_modules/core-js/internals/is-array.js","../../node_modules/core-js/internals/array-species-constructor.js","../../node_modules/core-js/internals/array-species-create.js","../../node_modules/core-js/internals/array-iteration.js","../../node_modules/core-js/internals/collection-weak.js","../../node_modules/core-js/modules/es.weak-set.constructor.js","../../node_modules/core-js/internals/dom-iterables.js","../../node_modules/core-js/internals/dom-token-list-prototype.js","../../node_modules/core-js/modules/web.dom-collections.iterator.js","../../node_modules/core-js/internals/array-for-each.js","../../node_modules/core-js/modules/web.dom-collections.for-each.js","../../node_modules/core-js/modules/es.object.keys.js","../../../src/constant.ts","../../node_modules/tslib/tslib.es6.js","../../../src/helpers/PositionHelper.ts","../../../src/plugins/CalendarLabel.ts"],"sourcesContent":["'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","'use strict';\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.34.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.34.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FUNCTION_NAME_EXISTS = require('../internals/function-name').EXISTS;\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\n\nvar FunctionPrototype = Function.prototype;\nvar functionToString = uncurryThis(FunctionPrototype.toString);\nvar nameRE = /function\\b(?:\\s|\\/\\*[\\S\\s]*?\\*\\/|\\/\\/[^\\n\\r]*[\\n\\r]+)*([^\\s(/]*)/;\nvar regExpExec = uncurryThis(nameRE.exec);\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !FUNCTION_NAME_EXISTS) {\n defineBuiltInAccessor(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return regExpExec(nameRE, functionToString(this))[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol('assign detection');\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\nvar $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar global = require('../internals/global');\nvar classof = require('../internals/classof-raw');\n\nmodule.exports = classof(global.process) === 'process';\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineBuiltInAccessor(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar Dispatch = global.Dispatch;\nvar Function = global.Function;\nvar MessageChannel = global.MessageChannel;\nvar String = global.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar $location, defer, channel, port;\n\nfails(function () {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n $location = global.location;\n});\n\nvar run = function (id) {\n if (hasOwn(queue, id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar eventListener = function (event) {\n run(event.data);\n};\n\nvar globalPostMessageDefer = function (id) {\n // old engines have not location.origin\n global.postMessage(String(id), $location.protocol + '//' + $location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = eventListener;\n defer = bind(port.postMessage, port);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n isCallable(global.postMessage) &&\n !global.importScripts &&\n $location && $location.protocol !== 'file:' &&\n !fails(globalPostMessageDefer)\n ) {\n defer = globalPostMessageDefer;\n global.addEventListener('message', eventListener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","'use strict';\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw new $TypeError('Not enough arguments');\n return passed;\n};\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\n// eslint-disable-next-line redos/no-vulnerable -- safe\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","'use strict';\nvar Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n var tail = this.tail;\n if (tail) tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n var next = this.head = entry.next;\n if (next === null) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","'use strict';\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar Queue = require('../internals/queue');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/engine-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar microtask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\nvar notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!microtask) {\n var queue = new Queue();\n\n var flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (fn = queue.get()) try {\n fn();\n } catch (error) {\n if (queue.head) notify();\n throw error;\n }\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = bind(promise.then, promise);\n notify = function () {\n then(flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessage\n // - onreadystatechange\n // - setTimeout\n } else {\n // `webpack` dev server bug on IE global methods - use bind(fn, global)\n macrotask = bind(macrotask, global);\n notify = function () {\n macrotask(flush);\n };\n }\n\n microtask = function (fn) {\n if (!queue.head) notify();\n queue.add(fn);\n };\n}\n\nmodule.exports = microtask;\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined';\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict';\nvar global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","'use strict';\n/* global Deno -- Deno case */\nmodule.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object';\n","'use strict';\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nmodule.exports = !IS_DENO && !IS_NODE\n && typeof window == 'object'\n && typeof document == 'object';\n","'use strict';\nvar global = require('../internals/global');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {\n // Detect correctness of subclassing with @@species support\n var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n } return !GLOBAL_CORE_JS_PROMISE && (IS_BROWSER || IS_DENO) && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n SUBCLASSING: SUBCLASSING\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/engine-is-node');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state === FULFILLED;\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(new TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n call(then, result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw new TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n call(then, value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalPromiseState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n\n PromisePrototype = PromiseConstructor.prototype;\n\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: new Queue(),\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state === PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n });\n\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalPromiseState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!NATIVE_PROMISE_SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromisePrototype);\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","'use strict';\nmodule.exports = function (a, b) {\n try {\n // eslint-disable-next-line no-console -- safe\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n } catch (error) { /* empty */ }\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n try {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n } catch (error) { return false; } // workaround of old WebKit + `eval` bug\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","'use strict';\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call($promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['catch'];\n if (NativePromisePrototype['catch'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n reject: function reject(r) {\n var capability = newPromiseCapabilityModule.f(this);\n call(capability.reject, undefined, r);\n return capability.promise;\n }\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call -- required for testing\n method.call(null, argument || function () { return 1; }, 1);\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = uncurryThis([].join);\n\nvar ES3_STRINGS = IndexedObject !== Object;\nvar FORCED = ES3_STRINGS || !arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: FORCED }, {\n join: function join(separator) {\n return nativeJoin(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] === undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND];\n\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n }\n\n return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\n// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n return { value: value, done: done };\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return createIterResultObject(undefined, true);\n }\n switch (state.kind) {\n case 'keys': return createIterResultObject(index, false);\n case 'values': return createIterResultObject(target[index], false);\n } return createIterResultObject([index, target[index]], false);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return createIterResultObject(undefined, true);\n point = charAt(string, index);\n state.index += point.length;\n return createIterResultObject(point, false);\n});\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar $Array = Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = $Array(max(fin - k, 0));\n var n = 0;\n for (; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","'use strict';\n/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) === 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","'use strict';\n// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it\nvar fails = require('../internals/fails');\n\nmodule.exports = fails(function () {\n if (typeof ArrayBuffer == 'function') {\n var buffer = new ArrayBuffer(8);\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe\n if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });\n }\n});\n","'use strict';\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external');\nvar isExtensible = require('../internals/object-is-extensible');\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar REQUIRED = false;\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + id++, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar enable = function () {\n meta.enable = function () { /* empty */ };\n REQUIRED = true;\n var getOwnPropertyNames = getOwnPropertyNamesModule.f;\n var splice = uncurryThis([].splice);\n var test = {};\n test[METADATA] = 1;\n\n // prevent exposing of metadata key\n if (getOwnPropertyNames(test).length) {\n getOwnPropertyNamesModule.f = function (it) {\n var result = getOwnPropertyNames(it);\n for (var i = 0, length = result.length; i < length; i++) {\n if (result[i] === METADATA) {\n splice(result, i, 1);\n break;\n }\n } return result;\n };\n\n $({ target: 'Object', stat: true, forced: true }, {\n getOwnPropertyNames: getOwnPropertyNamesExternalModule.f\n });\n }\n};\n\nvar meta = module.exports = {\n enable: enable,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n defineBuiltIn(NativePrototype, KEY,\n KEY === 'add' ? function add(value) {\n uncurriedNativeMethod(this, value === 0 ? 0 : value);\n return this;\n } : KEY === 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY === 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY === 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.enable();\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) !== instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, NativePrototype);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, constructor: true, forced: Constructor !== NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) defineBuiltIn(target, key, src[key], options);\n return target;\n};\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? $Array : C;\n};\n","'use strict';\nvar arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE === 1;\n var IS_FILTER = TYPE === 2;\n var IS_SOME = TYPE === 3;\n var IS_EVERY = TYPE === 4;\n var IS_FIND_INDEX = TYPE === 6;\n var IS_FILTER_REJECT = TYPE === 7;\n var NO_HOLES = TYPE === 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(self);\n var boundFunction = bind(callbackfn, that);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar getWeakData = require('../internals/internal-metadata').getWeakData;\nvar anInstance = require('../internals/an-instance');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isObject = require('../internals/is-object');\nvar iterate = require('../internals/iterate');\nvar ArrayIterationModule = require('../internals/array-iteration');\nvar hasOwn = require('../internals/has-own-property');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar splice = uncurryThis([].splice);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (state) {\n return state.frozen || (state.frozen = new UncaughtFrozenStore());\n};\n\nvar UncaughtFrozenStore = function () {\n this.entries = [];\n};\n\nvar findUncaughtFrozen = function (store, key) {\n return find(store.entries, function (it) {\n return it[0] === key;\n });\n};\n\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.entries.push([key, value]);\n },\n 'delete': function (key) {\n var index = findIndex(this.entries, function (it) {\n return it[0] === key;\n });\n if (~index) splice(this.entries, index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n id: id++,\n frozen: undefined\n });\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var data = getWeakData(anObject(key), true);\n if (data === true) uncaughtFrozenStore(state).set(key, value);\n else data[state.id] = value;\n return that;\n };\n\n defineBuiltIns(Prototype, {\n // `{ WeakMap, WeakSet }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-weakmap.prototype.delete\n // https://tc39.es/ecma262/#sec-weakset.prototype.delete\n 'delete': function (key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state)['delete'](key);\n return data && hasOwn(data, state.id) && delete data[state.id];\n },\n // `{ WeakMap, WeakSet }.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-weakmap.prototype.has\n // https://tc39.es/ecma262/#sec-weakset.prototype.has\n has: function has(key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).has(key);\n return data && hasOwn(data, state.id);\n }\n });\n\n defineBuiltIns(Prototype, IS_MAP ? {\n // `WeakMap.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-weakmap.prototype.get\n get: function get(key) {\n var state = getInternalState(this);\n if (isObject(key)) {\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).get(key);\n return data ? data[state.id] : undefined;\n }\n },\n // `WeakMap.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-weakmap.prototype.set\n set: function set(key, value) {\n return define(this, key, value);\n }\n } : {\n // `WeakSet.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-weakset.prototype.add\n add: function add(value) {\n return define(this, value, true);\n }\n });\n\n return Constructor;\n }\n};\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\n\n// `WeakSet` constructor\n// https://tc39.es/ecma262/#sec-weakset-constructor\ncollection('WeakSet', function (init) {\n return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionWeak);\n","'use strict';\n// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","'use strict';\n// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","'use strict';\nvar global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nvar handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n setToStringTag(CollectionPrototype, COLLECTION_NAME, true);\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype, COLLECTION_NAME);\n}\n\nhandlePrototype(DOMTokenListPrototype, 'DOMTokenList');\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","'use strict';\nvar global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar handlePrototype = function (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n if (DOMIterables[COLLECTION_NAME]) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype);\n }\n}\n\nhandlePrototype(DOMTokenListPrototype);\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","export enum ScrollDirection {\n SCROLL_NONE,\n SCROLL_BACKWARD,\n SCROLL_FORWARD,\n}\n\nexport enum Position {\n TOP,\n RIGHT,\n BOTTOM,\n LEFT,\n}\n\nexport const OPTIONS_DEFAULT_DOMAIN_TYPE = 'hour';\n\nexport const OPTIONS_DEFAULT_SUBDOMAIN_TYPE = 'minute';\nexport const OPTIONS_DEFAULT_SUBDOMAIN_WIDTH = 10;\nexport const OPTIONS_DEFAULT_SUBDOMAIN_HEIGHT = 10;\nexport const OPTIONS_DEFAULT_SUBDOMAIN_GUTTER = 2;\nexport const OPTIONS_DEFAULT_SUBDOMAIN_RADIUS = 0;\nexport const OPTIONS_DEFAULT_ANIMATION_DURATION = 200;\nexport const OPTIONS_DEFAULT_RANGE = 12;\nexport const OPTIONS_DEFAULT_ITEM_SELECTOR = '#cal-heatmap';\nexport const OPTIONS_DEFAULT_THEME = 'light';\nexport const OPTIONS_DEFAULT_LOCALE = 'en';\n\nexport const SCALE_BASE_OPACITY_COLOR = 'red';\nexport const SCALE_BASE_COLOR_SCHEME = 'YlOrBr';\nexport const SCALE_BASE_COLOR_TYPE = 'quantize';\nexport const SCALE_BASE_COLOR_DOMAIN = [0, 100];\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport default {\r\n __extends,\r\n __assign,\r\n __rest,\r\n __decorate,\r\n __param,\r\n __metadata,\r\n __awaiter,\r\n __generator,\r\n __createBinding,\r\n __exportStar,\r\n __values,\r\n __read,\r\n __spread,\r\n __spreadArrays,\r\n __spreadArray,\r\n __await,\r\n __asyncGenerator,\r\n __asyncDelegator,\r\n __asyncValues,\r\n __makeTemplateObject,\r\n __importStar,\r\n __importDefault,\r\n __classPrivateFieldGet,\r\n __classPrivateFieldSet,\r\n __classPrivateFieldIn,\r\n};\r\n","import { Position } from '../constant';\nimport type { Padding } from '../options/Options';\n\nexport function isHorizontal(position: string): boolean {\n return position === 'left' || position === 'right';\n}\n\nexport function isVertical(position: string): boolean {\n return position === 'top' || position === 'bottom';\n}\n\nexport function horizontalPadding(padding: Padding): number {\n return padding[Position.LEFT] + padding[Position.RIGHT];\n}\n\nexport function verticalPadding(padding: Padding): number {\n return padding[Position.TOP] + padding[Position.BOTTOM];\n}\n","import { Position } from '../constant';\nimport {\n isHorizontal,\n isVertical,\n horizontalPadding,\n verticalPadding,\n} from '../helpers/PositionHelper';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport type { IPlugin, PluginOptions } from '../index';\nimport type { TextAlign, Padding } from '../options/Options';\n\ntype ComputedOptions = {\n radius: number;\n width: number;\n height: number;\n gutter: number;\n textAlign: TextAlign;\n};\n\ninterface CalendarLabelOptions extends PluginOptions, Partial {\n enabled: boolean;\n text: () => string[];\n padding: Padding;\n}\n\nconst DEFAULT_SELECTOR = '.ch-plugin-calendar-label';\n\nconst defaultOptions: CalendarLabelOptions = {\n enabled: true,\n\n dimensions: {\n width: 0,\n height: 0,\n },\n\n position: 'left',\n\n text: () => [],\n\n padding: [0, 0, 0, 0],\n};\n\nexport default class CalendarLabel implements IPlugin {\n name = 'CalendarLabel';\n\n calendar: CalHeatmap;\n\n root: any;\n\n shown: boolean;\n\n options: CalendarLabelOptions;\n\n computedOptions: ComputedOptions;\n\n constructor(calendar: CalHeatmap) {\n const subDomain = calendar?.options?.options?.subDomain;\n\n this.calendar = calendar;\n this.root = null;\n this.shown = false;\n this.options = defaultOptions;\n this.computedOptions = {\n radius: subDomain?.radius,\n width: subDomain?.width,\n height: subDomain?.height,\n gutter: subDomain?.gutter,\n textAlign: 'start',\n };\n }\n\n setup(pluginOptions?: Partial): void {\n this.options = { ...defaultOptions, ...pluginOptions };\n }\n\n paint(): Promise {\n const { enabled } = this.options;\n\n if (!enabled) {\n return this.destroy();\n }\n\n this.shown = true;\n\n const calendarRoot = this.calendar.calendarPainter.root;\n\n if (!this.root) {\n this.root = calendarRoot\n .append('svg')\n .attr('class', DEFAULT_SELECTOR.slice(1))\n .attr('data-key', this.options.key)\n .attr('x', 0)\n .attr('y', 0);\n }\n\n this.build();\n\n return Promise.resolve();\n }\n\n destroy(): Promise {\n if (this.root !== null) {\n this.root.remove();\n this.root = null;\n }\n\n return Promise.resolve();\n }\n\n build() {\n this.#buildComputedOptions();\n this.#computeDimensions();\n\n this.root\n .selectAll('g')\n .data(this.options.text)\n .join((enter: any) => enter\n .append('g')\n .call((selection: any) => selection\n .append('rect')\n .attr('class', `${DEFAULT_SELECTOR.slice(1)}-bg`)\n .attr('style', 'fill: transparent')\n .call((s: any) => this.#setRectAttr(s)))\n .call((selection: any) => selection\n .append('text')\n .attr('class', `${DEFAULT_SELECTOR.slice(1)}-text`)\n .attr('dominant-baseline', 'central')\n .attr('text-anchor', 'middle')\n .attr('style', 'fill: currentColor; font-size: 10px')\n .call((s: any) => this.#setTextAttr(s))));\n\n return Promise.resolve();\n }\n\n #buildComputedOptions() {\n Object.keys(this.computedOptions).forEach((key: string) => {\n if (typeof this.options[key as keyof ComputedOptions] !== 'undefined') {\n // @ts-ignore\n this.computedOptions[key] = this.options[key];\n }\n });\n }\n\n /**\n * Compute the total dimension of the current plugin\n */\n #computeDimensions(): void {\n const { width, height, gutter } = this.computedOptions;\n const { text, padding, position } = this.options;\n const labelsCount = text().length;\n\n this.options.dimensions = {\n width: width + horizontalPadding(padding),\n height: height + verticalPadding(padding),\n };\n\n if (isVertical(position!)) {\n this.options.dimensions.width += (width + gutter) * (labelsCount - 1);\n } else {\n this.options.dimensions.height += (height + gutter) * (labelsCount - 1);\n }\n }\n\n #setRectAttr(selection: any) {\n const { width, height, radius } = this.computedOptions;\n\n selection\n .attr('width', width)\n .attr('height', height)\n .attr('rx', radius && radius > 0 ? radius : null)\n .attr('ry', radius && radius > 0 ? radius : null)\n .attr('x', (_d: string, i: number) => this.#getX(i))\n .attr('y', (_d: string, i: number) => this.#getY(i));\n }\n\n #setTextAttr(selection: any): void {\n const { height, textAlign } = this.computedOptions;\n\n selection\n .attr('text-anchor', textAlign)\n .attr(\n 'x',\n (_d: string, i: number) => this.#getTextXOffset() + this.#getX(i),\n )\n .attr('y', (_d: string, i: number) => this.#getY(i) + height! / 2)\n .text((data: string) => data);\n }\n\n #getTextXOffset() {\n const { width, textAlign } = this.computedOptions;\n\n switch (textAlign) {\n case 'start':\n return 0;\n case 'middle':\n return width / 2;\n case 'end':\n return width;\n default:\n return 0;\n }\n }\n\n #getX(index: number) {\n const { position, padding } = this.options;\n const { width, gutter } = this.computedOptions;\n\n if (isHorizontal(position!)) {\n return padding[Position.LEFT];\n }\n\n return padding[Position.LEFT] + (width + gutter) * index;\n }\n\n #getY(index: number) {\n const { position, padding } = this.options;\n const { height, gutter } = this.computedOptions;\n\n if (isVertical(position!)) {\n return padding[Position.TOP];\n }\n\n return padding[Position.TOP] + (height + gutter) * index;\n }\n}\n"],"names":["fails","exec","error","descriptors","require$$0","Object","defineProperty","get","functionBindNative","test","bind","hasOwnProperty","NATIVE_BIND","FunctionPrototype","Function","prototype","call","uncurryThisWithBind","functionUncurryThis","fn","apply","arguments","isNullOrUndefined","it","$TypeError","TypeError","requireObjectCoercible","$Object","toObject","argument","require$$1","hasOwnProperty_1","hasOwn","key","DESCRIPTORS","getDescriptor","getOwnPropertyDescriptor","EXISTS","functionName","PROPER","name","CONFIGURABLE","configurable","makeBuiltIn$3","exports","documentAll","document","all","documentAll_1","IS_HTMLDDA","undefined","isCallable","check","Math","global","globalThis","window","self","this","defineGlobalProperty","value","writable","SHARED","sharedStore","store","require$$2","functionToString","toString","inspectSource","match","version","WeakMap","weakMapBasicDetection","String","isObject","objectDefineProperty","createElement","documentCreateElement","ie8DomDefine","a","v8PrototypeDefineBug","$String","anObject","functionCall","getBuiltIn","namespace","method","length","objectIsPrototypeOf","isPrototypeOf","engineUserAgent","navigator","userAgent","process","Deno","versions","v8","split","engineV8Version","V8_VERSION","symbolConstructorDetection","getOwnPropertySymbols","symbol","Symbol","sham","useSymbolAsUid","iterator","isSymbol","require$$3","$Symbol","tryToString","aCallable","getMethod","V","P","func","shared$3","sharedModule","push","mode","copyright","license","source","uncurryThis","id","postfix","random","uid","shared","NATIVE_SYMBOL","require$$4","USE_SYMBOL_AS_UID","require$$5","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","wellKnownSymbol","ordinaryToPrimitive","input","pref","val","valueOf","TO_PRIMITIVE","toPrimitive","result","exoticToPrim","toPropertyKey","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","WRITABLE","f","O","Attributes","current","enumerable","set","has","createPropertyDescriptor","bitmap","definePropertyModule","createNonEnumerableProperty","object","keys","sharedKey","hiddenKeys","NATIVE_WEAK_MAP","require$$6","require$$7","OBJECT_ALREADY_INITIALIZED","state","metadata","facade","STATE","internalState","enforce","getterFor","TYPE","type","CONFIGURABLE_FUNCTION_NAME","enforceInternalState","getInternalState","stringSlice","slice","replace","join","CONFIGURABLE_LENGTH","TEMPLATE","makeBuiltIn","makeBuiltInModule","options","getter","setter","arity","constructor","defineBuiltInAccessor","target","descriptor","FUNCTION_NAME_EXISTS","nameRE","regExpExec","objectGetOwnPropertyDescriptor","objectPropertyIsEnumerable","$propertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","classofRaw","classof","indexedObject","IndexedObject","toIndexedObject","propertyIsEnumerableModule","defineBuiltIn","simple","unsafe","nonConfigurable","nonWritable","ceil","floor","trunc","x","n","toIntegerOrInfinity","number","max","min","toAbsoluteIndex","index","integer","toLength","lengthOfArrayLike","obj","createMethod","IS_INCLUDES","$this","el","fromIndex","arrayIncludes","includes","indexOf","objectKeysInternal","names","i","enumBugKeys","internalObjectKeys","concat","objectGetOwnPropertyNames","getOwnPropertyNames","objectGetOwnPropertySymbols","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","ownKeys","getOwnPropertyDescriptorModule","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","toLowerCase","isForced_1","copyConstructorProperties","exceptions","_export","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","forced","objectKeys","require$$8","$assign","assign","objectAssign","b","A","B","alphabet","forEach","chr","T","argumentsLength","S","j","toStringTagSupport","TO_STRING_TAG_SUPPORT","TO_STRING_TAG","CORRECT_ARGUMENTS","tag","tryGet","callee","engineIsNode","uncurryThisAccessor","aPossiblePrototype","objectSetPrototypeOf","setPrototypeOf","CORRECT_SETTER","Array","proto","__proto__","setToStringTag","TAG","SPECIES","anInstance","Prototype","noop","empty","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","$location","defer","channel","port","isConstructor","called","aConstructor","functionApply","Reflect","functionBindContext","that","html","arraySlice","engineIsIos","validateArgumentsLength","passed","required","IS_IOS","require$$10","IS_NODE","require$$11","setImmediate","clear","clearImmediate","Dispatch","MessageChannel","counter","queue","ONREADYSTATECHANGE","location","run","runner","eventListener","event","globalPostMessageDefer","postMessage","protocol","host","handler","args","nextTick","now","port2","port1","onmessage","addEventListener","importScripts","appendChild","removeChild","setTimeout","task","Queue","head","tail","add","item","entry","next","notify","toggle","node","promise","then","engineIsIosPebble","Pebble","engineIsWebosWebkit","macrotask","IS_IOS_PEBBLE","IS_WEBOS_WEBKIT","MutationObserver","WebKitMutationObserver","Promise","queueMicrotaskDescriptor","microtask","flush","parent","domain","exit","enter","resolve","createTextNode","observe","characterData","microtask_1","perform","promiseNativeConstructor","engineIsDeno","engineIsBrowser","NativePromiseConstructor","IS_BROWSER","IS_DENO","require$$9","SUBCLASSING","NATIVE_PROMISE_REJECTION_EVENT","PromiseRejectionEvent","FORCED_PROMISE_CONSTRUCTOR","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","FakePromise","promiseConstructorDetection","CONSTRUCTOR","REJECTION_EVENT","newPromiseCapability$2","PromiseCapability","C","reject","$$resolve","$$reject","newPromiseCapability","Internal","OwnPromiseCapability","nativeThen","$","setSpecies","CONSTRUCTOR_NAME","Constructor","require$$12","speciesConstructor","defaultConstructor","require$$14","require$$15","hostReportErrors","console","require$$17","require$$18","InternalStateModule","require$$19","require$$20","newPromiseCapabilityModule","require$$22","PROMISE","require$$21","NATIVE_PROMISE_SUBCLASSING","getInternalPromiseState","setInternalState","NativePromisePrototype","PromiseConstructor","PromisePrototype","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","isThenable","callReaction","reaction","exited","ok","fail","rejection","onHandleUnhandled","isReject","notified","reactions","onUnhandled","reason","initEvent","isUnhandled","emit","unwrap","internalReject","done","internalResolve","wrapper","executor","onFulfilled","onRejected","PromiseWrapper","wrap","iterators","Iterators","ITERATOR","ArrayPrototype","getIteratorMethod","isArrayIteratorMethod","getIterator","usingIterator","iteratorMethod","iteratorClose","kind","innerResult","innerError","Result","stopped","ResultPrototype","iterate","iterable","unboundFunction","iterFn","step","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","stop","condition","callFn","SAFE_CLOSING","iteratorWithReturn","return","from","checkCorrectnessOfIteration","SKIP_CLOSING","ITERATION_SUPPORT","promiseStaticsIncorrectIteration","capability","$promiseResolve","values","remaining","alreadyCalled","real","catch","race","r","promiseResolve","promiseCapability","arrayMethodIsStrict","METHOD_NAME","nativeJoin","separator","objectDefineProperties","defineProperties","Properties","props","activeXDocument","definePropertiesModule","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","JS","style","display","src","contentWindow","open","F","objectCreate","create","UNSCOPABLES","IteratorPrototype","PrototypeOfArrayIteratorPrototype","arrayIterator","correctPrototypeGetter","getPrototypeOf","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","objectGetPrototypeOf","BUGGY_SAFARI_ITERATORS","NEW_ITERATOR_PROTOTYPE","iteratorsCore","returnThis","createIteratorConstructor","IteratorConstructor","NAME","ENUMERABLE_NEXT","PROPER_FUNCTION_NAME","require$$13","KEYS","VALUES","ENTRIES","iteratorDefine","Iterable","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","createIterResultObject","addToUnscopables","defineIterator","ARRAY_ITERATOR","es_array_iterator","iterated","Arguments","charAt","charCodeAt","CONVERT_TO_STRING","pos","first","second","position","size","codeAt","STRING_ITERATOR","point","internalMetadata","objectGetOwnPropertyNamesExternal","createProperty","propertyKey","$Array","$getOwnPropertyNames","start","end","k","fin","windowNames","getWindowNames","arrayBufferNonExtensible","ArrayBuffer","buffer","isExtensible","ARRAY_BUFFER_NON_EXTENSIBLE","$isExtensible","objectIsExtensible","freezing","preventExtensions","getOwnPropertyNamesExternalModule","FREEZING","REQUIRED","METADATA","setMetadata","objectID","weakData","meta","internalMetadataModule","enable","splice","fastKey","getWeakData","onFreeze","InternalMetadataModule","inheritIfRequired","dummy","Wrapper","NewTarget","NewTargetPrototype","isArray","arraySpeciesConstructor","originalArray","arraySpeciesCreate","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","callbackfn","specificCreate","boundFunction","arrayIteration","map","filter","some","every","find","findIndex","filterReject","defineBuiltIns","internalStateGetterFor","uncaughtFrozenStore","frozen","UncaughtFrozenStore","findUncaughtFrozen","delete","collectionWeak","getConstructor","ADDER","define","common","IS_WEAK","NativeConstructor","NativePrototype","exported","fixMethod","uncurriedNativeMethod","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","setStrong","collection","init","domIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","classList","DOMTokenListPrototype","domTokenListPrototype","DOMIterables","ArrayIteratorMethods","ArrayValues","handlePrototype","CollectionPrototype","COLLECTION_NAME","$forEach","ScrollDirection","Position","nativeKeys","__classPrivateFieldGet","receiver","isVertical","horizontalPadding","padding","LEFT","RIGHT","verticalPadding","TOP","BOTTOM","DEFAULT_SELECTOR","defaultOptions","enabled","dimensions","width","height","text","CalendarLabel","calendar","_classCallCheck","subDomain","_b","_a","root","shown","computedOptions","radius","gutter","textAlign","pluginOptions","destroy","calendarRoot","calendarPainter","append","attr","build","remove","_this","_CalendarLabel_instances","_CalendarLabel_buildComputedOptions","_CalendarLabel_computeDimensions","selectAll","selection","s","_CalendarLabel_setRectAttr","_CalendarLabel_setTextAttr","_this2","_this$computedOptions","_this$options","labelsCount","_this3","_this$computedOptions2","_d","_CalendarLabel_getX","_this4","_this$computedOptions3","_CalendarLabel_getY","_CalendarLabel_getTextXOffset","_this$computedOptions4","_this$options2","_this$computedOptions5","isHorizontal","_this$options3","_this$computedOptions6"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,156]}
diff --git a/src/agenda_culturel/static/cal-heatmap/plugins/CalendarLabel.min.js.map b/src/agenda_culturel/static/cal-heatmap/plugins/CalendarLabel.min.js.map
index dbabc62..8cdb018 100644
--- a/src/agenda_culturel/static/cal-heatmap/plugins/CalendarLabel.min.js.map
+++ b/src/agenda_culturel/static/cal-heatmap/plugins/CalendarLabel.min.js.map
@@ -1 +1 @@
-{"version":3,"file":"CalendarLabel.min.js","sources":["../../node_modules/core-js/internals/fails.js","../../node_modules/core-js/internals/descriptors.js","../../node_modules/core-js/internals/function-bind-native.js","../../node_modules/core-js/internals/function-uncurry-this.js","../../node_modules/core-js/internals/is-null-or-undefined.js","../../node_modules/core-js/internals/require-object-coercible.js","../../node_modules/core-js/internals/to-object.js","../../node_modules/core-js/internals/has-own-property.js","../../node_modules/core-js/internals/function-name.js","../../node_modules/core-js/internals/document-all.js","../../node_modules/core-js/internals/is-callable.js","../../node_modules/core-js/internals/global.js","../../node_modules/core-js/internals/define-global-property.js","../../node_modules/core-js/internals/shared-store.js","../../node_modules/core-js/internals/inspect-source.js","../../node_modules/core-js/internals/engine-v8-version.js","../../node_modules/core-js/internals/weak-map-basic-detection.js","../../node_modules/core-js/internals/is-object.js","../../node_modules/core-js/internals/document-create-element.js","../../node_modules/core-js/internals/ie8-dom-define.js","../../node_modules/core-js/internals/v8-prototype-define-bug.js","../../node_modules/core-js/internals/an-object.js","../../node_modules/core-js/internals/function-call.js","../../node_modules/core-js/internals/get-built-in.js","../../node_modules/core-js/internals/object-is-prototype-of.js","../../node_modules/core-js/internals/engine-user-agent.js","../../node_modules/core-js/internals/symbol-constructor-detection.js","../../node_modules/core-js/internals/use-symbol-as-uid.js","../../node_modules/core-js/internals/is-symbol.js","../../node_modules/core-js/internals/try-to-string.js","../../node_modules/core-js/internals/a-callable.js","../../node_modules/core-js/internals/get-method.js","../../node_modules/core-js/internals/ordinary-to-primitive.js","../../node_modules/core-js/internals/shared.js","../../node_modules/core-js/internals/uid.js","../../node_modules/core-js/internals/well-known-symbol.js","../../node_modules/core-js/internals/to-primitive.js","../../node_modules/core-js/internals/to-property-key.js","../../node_modules/core-js/internals/object-define-property.js","../../node_modules/core-js/internals/create-property-descriptor.js","../../node_modules/core-js/internals/internal-state.js","../../node_modules/core-js/internals/create-non-enumerable-property.js","../../node_modules/core-js/internals/shared-key.js","../../node_modules/core-js/internals/hidden-keys.js","../../node_modules/core-js/internals/make-built-in.js","../../node_modules/core-js/internals/define-built-in-accessor.js","../../node_modules/core-js/modules/es.function.name.js","../../node_modules/core-js/internals/object-property-is-enumerable.js","../../node_modules/core-js/internals/classof-raw.js","../../node_modules/core-js/internals/indexed-object.js","../../node_modules/core-js/internals/to-indexed-object.js","../../node_modules/core-js/internals/object-get-own-property-descriptor.js","../../node_modules/core-js/internals/define-built-in.js","../../node_modules/core-js/internals/math-trunc.js","../../node_modules/core-js/internals/to-integer-or-infinity.js","../../node_modules/core-js/internals/to-absolute-index.js","../../node_modules/core-js/internals/to-length.js","../../node_modules/core-js/internals/length-of-array-like.js","../../node_modules/core-js/internals/array-includes.js","../../node_modules/core-js/internals/object-keys-internal.js","../../node_modules/core-js/internals/enum-bug-keys.js","../../node_modules/core-js/internals/object-get-own-property-names.js","../../node_modules/core-js/internals/object-get-own-property-symbols.js","../../node_modules/core-js/internals/own-keys.js","../../node_modules/core-js/internals/copy-constructor-properties.js","../../node_modules/core-js/internals/is-forced.js","../../node_modules/core-js/internals/export.js","../../node_modules/core-js/internals/object-keys.js","../../node_modules/core-js/internals/object-assign.js","../../node_modules/core-js/modules/es.object.assign.js","../../node_modules/core-js/internals/to-string-tag-support.js","../../node_modules/core-js/internals/classof.js","../../node_modules/core-js/internals/object-to-string.js","../../node_modules/core-js/modules/es.object.to-string.js","../../node_modules/core-js/internals/engine-is-node.js","../../node_modules/core-js/internals/function-uncurry-this-accessor.js","../../node_modules/core-js/internals/a-possible-prototype.js","../../node_modules/core-js/internals/object-set-prototype-of.js","../../node_modules/core-js/internals/set-to-string-tag.js","../../node_modules/core-js/internals/set-species.js","../../node_modules/core-js/internals/an-instance.js","../../node_modules/core-js/internals/is-constructor.js","../../node_modules/core-js/internals/task.js","../../node_modules/core-js/internals/a-constructor.js","../../node_modules/core-js/internals/species-constructor.js","../../node_modules/core-js/internals/function-apply.js","../../node_modules/core-js/internals/function-uncurry-this-clause.js","../../node_modules/core-js/internals/function-bind-context.js","../../node_modules/core-js/internals/html.js","../../node_modules/core-js/internals/array-slice.js","../../node_modules/core-js/internals/validate-arguments-length.js","../../node_modules/core-js/internals/engine-is-ios.js","../../node_modules/core-js/internals/queue.js","../../node_modules/core-js/internals/microtask.js","../../node_modules/core-js/internals/engine-is-ios-pebble.js","../../node_modules/core-js/internals/engine-is-webos-webkit.js","../../node_modules/core-js/internals/perform.js","../../node_modules/core-js/internals/promise-native-constructor.js","../../node_modules/core-js/internals/engine-is-deno.js","../../node_modules/core-js/internals/engine-is-browser.js","../../node_modules/core-js/internals/promise-constructor-detection.js","../../node_modules/core-js/internals/new-promise-capability.js","../../node_modules/core-js/modules/es.promise.constructor.js","../../node_modules/core-js/internals/host-report-errors.js","../../node_modules/core-js/internals/iterators.js","../../node_modules/core-js/internals/is-array-iterator-method.js","../../node_modules/core-js/internals/get-iterator-method.js","../../node_modules/core-js/internals/get-iterator.js","../../node_modules/core-js/internals/iterator-close.js","../../node_modules/core-js/internals/iterate.js","../../node_modules/core-js/internals/check-correctness-of-iteration.js","../../node_modules/core-js/internals/promise-statics-incorrect-iteration.js","../../node_modules/core-js/modules/es.promise.all.js","../../node_modules/core-js/modules/es.promise.catch.js","../../node_modules/core-js/modules/es.promise.race.js","../../node_modules/core-js/modules/es.promise.reject.js","../../node_modules/core-js/internals/promise-resolve.js","../../node_modules/core-js/modules/es.promise.resolve.js","../../node_modules/core-js/internals/array-method-is-strict.js","../../node_modules/core-js/modules/es.array.join.js","../../node_modules/core-js/internals/object-define-properties.js","../../node_modules/core-js/internals/object-create.js","../../node_modules/core-js/internals/add-to-unscopables.js","../../node_modules/core-js/internals/iterators-core.js","../../node_modules/core-js/internals/correct-prototype-getter.js","../../node_modules/core-js/internals/object-get-prototype-of.js","../../node_modules/core-js/internals/iterator-create-constructor.js","../../node_modules/core-js/internals/iterator-define.js","../../node_modules/core-js/internals/create-iter-result-object.js","../../node_modules/core-js/modules/es.array.iterator.js","../../node_modules/core-js/internals/to-string.js","../../node_modules/core-js/internals/string-multibyte.js","../../node_modules/core-js/modules/es.string.iterator.js","../../node_modules/core-js/internals/create-property.js","../../node_modules/core-js/internals/array-slice-simple.js","../../node_modules/core-js/internals/object-get-own-property-names-external.js","../../node_modules/core-js/internals/array-buffer-non-extensible.js","../../node_modules/core-js/internals/object-is-extensible.js","../../node_modules/core-js/internals/freezing.js","../../node_modules/core-js/internals/internal-metadata.js","../../node_modules/core-js/internals/inherit-if-required.js","../../node_modules/core-js/internals/collection.js","../../node_modules/core-js/internals/define-built-ins.js","../../node_modules/core-js/internals/is-array.js","../../node_modules/core-js/internals/array-species-constructor.js","../../node_modules/core-js/internals/array-species-create.js","../../node_modules/core-js/internals/array-iteration.js","../../node_modules/core-js/internals/collection-weak.js","../../node_modules/core-js/modules/es.weak-set.constructor.js","../../node_modules/core-js/internals/dom-iterables.js","../../node_modules/core-js/internals/dom-token-list-prototype.js","../../node_modules/core-js/modules/web.dom-collections.iterator.js","../../node_modules/core-js/internals/array-for-each.js","../../node_modules/core-js/modules/web.dom-collections.for-each.js","../../node_modules/core-js/modules/es.object.keys.js","../../../src/constant.ts","../../node_modules/tslib/tslib.es6.js","../../../src/helpers/PositionHelper.ts","../../../src/plugins/CalendarLabel.ts"],"sourcesContent":["'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","'use strict';\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.34.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.34.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FUNCTION_NAME_EXISTS = require('../internals/function-name').EXISTS;\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\n\nvar FunctionPrototype = Function.prototype;\nvar functionToString = uncurryThis(FunctionPrototype.toString);\nvar nameRE = /function\\b(?:\\s|\\/\\*[\\S\\s]*?\\*\\/|\\/\\/[^\\n\\r]*[\\n\\r]+)*([^\\s(/]*)/;\nvar regExpExec = uncurryThis(nameRE.exec);\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !FUNCTION_NAME_EXISTS) {\n defineBuiltInAccessor(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return regExpExec(nameRE, functionToString(this))[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol('assign detection');\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\nvar $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar global = require('../internals/global');\nvar classof = require('../internals/classof-raw');\n\nmodule.exports = classof(global.process) === 'process';\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineBuiltInAccessor(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar Dispatch = global.Dispatch;\nvar Function = global.Function;\nvar MessageChannel = global.MessageChannel;\nvar String = global.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar $location, defer, channel, port;\n\nfails(function () {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n $location = global.location;\n});\n\nvar run = function (id) {\n if (hasOwn(queue, id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar eventListener = function (event) {\n run(event.data);\n};\n\nvar globalPostMessageDefer = function (id) {\n // old engines have not location.origin\n global.postMessage(String(id), $location.protocol + '//' + $location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = eventListener;\n defer = bind(port.postMessage, port);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n isCallable(global.postMessage) &&\n !global.importScripts &&\n $location && $location.protocol !== 'file:' &&\n !fails(globalPostMessageDefer)\n ) {\n defer = globalPostMessageDefer;\n global.addEventListener('message', eventListener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","'use strict';\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw new $TypeError('Not enough arguments');\n return passed;\n};\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\n// eslint-disable-next-line redos/no-vulnerable -- safe\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","'use strict';\nvar Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n var tail = this.tail;\n if (tail) tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n var next = this.head = entry.next;\n if (next === null) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","'use strict';\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar Queue = require('../internals/queue');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/engine-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar microtask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\nvar notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!microtask) {\n var queue = new Queue();\n\n var flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (fn = queue.get()) try {\n fn();\n } catch (error) {\n if (queue.head) notify();\n throw error;\n }\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = bind(promise.then, promise);\n notify = function () {\n then(flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessage\n // - onreadystatechange\n // - setTimeout\n } else {\n // `webpack` dev server bug on IE global methods - use bind(fn, global)\n macrotask = bind(macrotask, global);\n notify = function () {\n macrotask(flush);\n };\n }\n\n microtask = function (fn) {\n if (!queue.head) notify();\n queue.add(fn);\n };\n}\n\nmodule.exports = microtask;\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined';\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict';\nvar global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","'use strict';\n/* global Deno -- Deno case */\nmodule.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object';\n","'use strict';\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nmodule.exports = !IS_DENO && !IS_NODE\n && typeof window == 'object'\n && typeof document == 'object';\n","'use strict';\nvar global = require('../internals/global');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {\n // Detect correctness of subclassing with @@species support\n var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n } return !GLOBAL_CORE_JS_PROMISE && (IS_BROWSER || IS_DENO) && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n SUBCLASSING: SUBCLASSING\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/engine-is-node');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state === FULFILLED;\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(new TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n call(then, result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw new TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n call(then, value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalPromiseState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n\n PromisePrototype = PromiseConstructor.prototype;\n\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: new Queue(),\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state === PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n });\n\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalPromiseState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!NATIVE_PROMISE_SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromisePrototype);\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","'use strict';\nmodule.exports = function (a, b) {\n try {\n // eslint-disable-next-line no-console -- safe\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n } catch (error) { /* empty */ }\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n try {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n } catch (error) { return false; } // workaround of old WebKit + `eval` bug\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","'use strict';\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call($promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['catch'];\n if (NativePromisePrototype['catch'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n reject: function reject(r) {\n var capability = newPromiseCapabilityModule.f(this);\n call(capability.reject, undefined, r);\n return capability.promise;\n }\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call -- required for testing\n method.call(null, argument || function () { return 1; }, 1);\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = uncurryThis([].join);\n\nvar ES3_STRINGS = IndexedObject !== Object;\nvar FORCED = ES3_STRINGS || !arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: FORCED }, {\n join: function join(separator) {\n return nativeJoin(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] === undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND];\n\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n }\n\n return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\n// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n return { value: value, done: done };\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return createIterResultObject(undefined, true);\n }\n switch (state.kind) {\n case 'keys': return createIterResultObject(index, false);\n case 'values': return createIterResultObject(target[index], false);\n } return createIterResultObject([index, target[index]], false);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return createIterResultObject(undefined, true);\n point = charAt(string, index);\n state.index += point.length;\n return createIterResultObject(point, false);\n});\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar $Array = Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = $Array(max(fin - k, 0));\n var n = 0;\n for (; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","'use strict';\n/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) === 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","'use strict';\n// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it\nvar fails = require('../internals/fails');\n\nmodule.exports = fails(function () {\n if (typeof ArrayBuffer == 'function') {\n var buffer = new ArrayBuffer(8);\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe\n if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });\n }\n});\n","'use strict';\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external');\nvar isExtensible = require('../internals/object-is-extensible');\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar REQUIRED = false;\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + id++, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar enable = function () {\n meta.enable = function () { /* empty */ };\n REQUIRED = true;\n var getOwnPropertyNames = getOwnPropertyNamesModule.f;\n var splice = uncurryThis([].splice);\n var test = {};\n test[METADATA] = 1;\n\n // prevent exposing of metadata key\n if (getOwnPropertyNames(test).length) {\n getOwnPropertyNamesModule.f = function (it) {\n var result = getOwnPropertyNames(it);\n for (var i = 0, length = result.length; i < length; i++) {\n if (result[i] === METADATA) {\n splice(result, i, 1);\n break;\n }\n } return result;\n };\n\n $({ target: 'Object', stat: true, forced: true }, {\n getOwnPropertyNames: getOwnPropertyNamesExternalModule.f\n });\n }\n};\n\nvar meta = module.exports = {\n enable: enable,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n defineBuiltIn(NativePrototype, KEY,\n KEY === 'add' ? function add(value) {\n uncurriedNativeMethod(this, value === 0 ? 0 : value);\n return this;\n } : KEY === 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY === 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY === 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.enable();\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) !== instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, NativePrototype);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, constructor: true, forced: Constructor !== NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) defineBuiltIn(target, key, src[key], options);\n return target;\n};\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? $Array : C;\n};\n","'use strict';\nvar arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE === 1;\n var IS_FILTER = TYPE === 2;\n var IS_SOME = TYPE === 3;\n var IS_EVERY = TYPE === 4;\n var IS_FIND_INDEX = TYPE === 6;\n var IS_FILTER_REJECT = TYPE === 7;\n var NO_HOLES = TYPE === 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(self);\n var boundFunction = bind(callbackfn, that);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar getWeakData = require('../internals/internal-metadata').getWeakData;\nvar anInstance = require('../internals/an-instance');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isObject = require('../internals/is-object');\nvar iterate = require('../internals/iterate');\nvar ArrayIterationModule = require('../internals/array-iteration');\nvar hasOwn = require('../internals/has-own-property');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar splice = uncurryThis([].splice);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (state) {\n return state.frozen || (state.frozen = new UncaughtFrozenStore());\n};\n\nvar UncaughtFrozenStore = function () {\n this.entries = [];\n};\n\nvar findUncaughtFrozen = function (store, key) {\n return find(store.entries, function (it) {\n return it[0] === key;\n });\n};\n\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.entries.push([key, value]);\n },\n 'delete': function (key) {\n var index = findIndex(this.entries, function (it) {\n return it[0] === key;\n });\n if (~index) splice(this.entries, index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n id: id++,\n frozen: undefined\n });\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var data = getWeakData(anObject(key), true);\n if (data === true) uncaughtFrozenStore(state).set(key, value);\n else data[state.id] = value;\n return that;\n };\n\n defineBuiltIns(Prototype, {\n // `{ WeakMap, WeakSet }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-weakmap.prototype.delete\n // https://tc39.es/ecma262/#sec-weakset.prototype.delete\n 'delete': function (key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state)['delete'](key);\n return data && hasOwn(data, state.id) && delete data[state.id];\n },\n // `{ WeakMap, WeakSet }.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-weakmap.prototype.has\n // https://tc39.es/ecma262/#sec-weakset.prototype.has\n has: function has(key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).has(key);\n return data && hasOwn(data, state.id);\n }\n });\n\n defineBuiltIns(Prototype, IS_MAP ? {\n // `WeakMap.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-weakmap.prototype.get\n get: function get(key) {\n var state = getInternalState(this);\n if (isObject(key)) {\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).get(key);\n return data ? data[state.id] : undefined;\n }\n },\n // `WeakMap.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-weakmap.prototype.set\n set: function set(key, value) {\n return define(this, key, value);\n }\n } : {\n // `WeakSet.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-weakset.prototype.add\n add: function add(value) {\n return define(this, value, true);\n }\n });\n\n return Constructor;\n }\n};\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\n\n// `WeakSet` constructor\n// https://tc39.es/ecma262/#sec-weakset-constructor\ncollection('WeakSet', function (init) {\n return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionWeak);\n","'use strict';\n// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","'use strict';\n// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","'use strict';\nvar global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nvar handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n setToStringTag(CollectionPrototype, COLLECTION_NAME, true);\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype, COLLECTION_NAME);\n}\n\nhandlePrototype(DOMTokenListPrototype, 'DOMTokenList');\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","'use strict';\nvar global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar handlePrototype = function (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n if (DOMIterables[COLLECTION_NAME]) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype);\n }\n}\n\nhandlePrototype(DOMTokenListPrototype);\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","export enum ScrollDirection {\n SCROLL_NONE,\n SCROLL_BACKWARD,\n SCROLL_FORWARD,\n}\n\nexport enum Position {\n TOP,\n RIGHT,\n BOTTOM,\n LEFT,\n}\n\nexport const OPTIONS_DEFAULT_DOMAIN_TYPE = 'hour';\n\nexport const OPTIONS_DEFAULT_SUBDOMAIN_TYPE = 'minute';\nexport const OPTIONS_DEFAULT_SUBDOMAIN_WIDTH = 10;\nexport const OPTIONS_DEFAULT_SUBDOMAIN_HEIGHT = 10;\nexport const OPTIONS_DEFAULT_SUBDOMAIN_GUTTER = 2;\nexport const OPTIONS_DEFAULT_SUBDOMAIN_RADIUS = 0;\nexport const OPTIONS_DEFAULT_ANIMATION_DURATION = 200;\nexport const OPTIONS_DEFAULT_RANGE = 12;\nexport const OPTIONS_DEFAULT_ITEM_SELECTOR = '#cal-heatmap';\nexport const OPTIONS_DEFAULT_THEME = 'light';\nexport const OPTIONS_DEFAULT_LOCALE = 'en';\n\nexport const SCALE_BASE_OPACITY_COLOR = 'red';\nexport const SCALE_BASE_COLOR_SCHEME = 'YlOrBr';\nexport const SCALE_BASE_COLOR_TYPE = 'quantize';\nexport const SCALE_BASE_COLOR_DOMAIN = [0, 100];\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport default {\r\n __extends,\r\n __assign,\r\n __rest,\r\n __decorate,\r\n __param,\r\n __metadata,\r\n __awaiter,\r\n __generator,\r\n __createBinding,\r\n __exportStar,\r\n __values,\r\n __read,\r\n __spread,\r\n __spreadArrays,\r\n __spreadArray,\r\n __await,\r\n __asyncGenerator,\r\n __asyncDelegator,\r\n __asyncValues,\r\n __makeTemplateObject,\r\n __importStar,\r\n __importDefault,\r\n __classPrivateFieldGet,\r\n __classPrivateFieldSet,\r\n __classPrivateFieldIn,\r\n};\r\n","import { Position } from '../constant';\nimport type { Padding } from '../options/Options';\n\nexport function isHorizontal(position: string): boolean {\n return position === 'left' || position === 'right';\n}\n\nexport function isVertical(position: string): boolean {\n return position === 'top' || position === 'bottom';\n}\n\nexport function horizontalPadding(padding: Padding): number {\n return padding[Position.LEFT] + padding[Position.RIGHT];\n}\n\nexport function verticalPadding(padding: Padding): number {\n return padding[Position.TOP] + padding[Position.BOTTOM];\n}\n","import { Position } from '../constant';\nimport {\n isHorizontal,\n isVertical,\n horizontalPadding,\n verticalPadding,\n} from '../helpers/PositionHelper';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport type { IPlugin, PluginOptions } from '../index';\nimport type { TextAlign, Padding } from '../options/Options';\n\ntype ComputedOptions = {\n radius: number;\n width: number;\n height: number;\n gutter: number;\n textAlign: TextAlign;\n};\n\ninterface CalendarLabelOptions extends PluginOptions, Partial {\n enabled: boolean;\n text: () => string[];\n padding: Padding;\n}\n\nconst DEFAULT_SELECTOR = '.ch-plugin-calendar-label';\n\nconst defaultOptions: CalendarLabelOptions = {\n enabled: true,\n\n dimensions: {\n width: 0,\n height: 0,\n },\n\n position: 'left',\n\n text: () => [],\n\n padding: [0, 0, 0, 0],\n};\n\nexport default class CalendarLabel implements IPlugin {\n name = 'CalendarLabel';\n\n calendar: CalHeatmap;\n\n root: any;\n\n shown: boolean;\n\n options: CalendarLabelOptions;\n\n computedOptions: ComputedOptions;\n\n constructor(calendar: CalHeatmap) {\n const subDomain = calendar?.options?.options?.subDomain;\n\n this.calendar = calendar;\n this.root = null;\n this.shown = false;\n this.options = defaultOptions;\n this.computedOptions = {\n radius: subDomain?.radius,\n width: subDomain?.width,\n height: subDomain?.height,\n gutter: subDomain?.gutter,\n textAlign: 'start',\n };\n }\n\n setup(pluginOptions?: Partial): void {\n this.options = { ...defaultOptions, ...pluginOptions };\n }\n\n paint(): Promise {\n const { enabled } = this.options;\n\n if (!enabled) {\n return this.destroy();\n }\n\n this.shown = true;\n\n const calendarRoot = this.calendar.calendarPainter.root;\n\n if (!this.root) {\n this.root = calendarRoot\n .append('svg')\n .attr('class', DEFAULT_SELECTOR.slice(1))\n .attr('data-key', this.options.key)\n .attr('x', 0)\n .attr('y', 0);\n }\n\n this.build();\n\n return Promise.resolve();\n }\n\n destroy(): Promise {\n if (this.root !== null) {\n this.root.remove();\n this.root = null;\n }\n\n return Promise.resolve();\n }\n\n build() {\n this.#buildComputedOptions();\n this.#computeDimensions();\n\n this.root\n .selectAll('g')\n .data(this.options.text)\n .join((enter: any) => enter\n .append('g')\n .call((selection: any) => selection\n .append('rect')\n .attr('class', `${DEFAULT_SELECTOR.slice(1)}-bg`)\n .attr('style', 'fill: transparent')\n .call((s: any) => this.#setRectAttr(s)))\n .call((selection: any) => selection\n .append('text')\n .attr('class', `${DEFAULT_SELECTOR.slice(1)}-text`)\n .attr('dominant-baseline', 'central')\n .attr('text-anchor', 'middle')\n .attr('style', 'fill: currentColor; font-size: 10px')\n .call((s: any) => this.#setTextAttr(s))));\n\n return Promise.resolve();\n }\n\n #buildComputedOptions() {\n Object.keys(this.computedOptions).forEach((key: string) => {\n if (typeof this.options[key as keyof ComputedOptions] !== 'undefined') {\n // @ts-ignore\n this.computedOptions[key] = this.options[key];\n }\n });\n }\n\n /**\n * Compute the total dimension of the current plugin\n */\n #computeDimensions(): void {\n const { width, height, gutter } = this.computedOptions;\n const { text, padding, position } = this.options;\n const labelsCount = text().length;\n\n this.options.dimensions = {\n width: width + horizontalPadding(padding),\n height: height + verticalPadding(padding),\n };\n\n if (isVertical(position!)) {\n this.options.dimensions.width += (width + gutter) * (labelsCount - 1);\n } else {\n this.options.dimensions.height += (height + gutter) * (labelsCount - 1);\n }\n }\n\n #setRectAttr(selection: any) {\n const { width, height, radius } = this.computedOptions;\n\n selection\n .attr('width', width)\n .attr('height', height)\n .attr('rx', radius && radius > 0 ? radius : null)\n .attr('ry', radius && radius > 0 ? radius : null)\n .attr('x', (_d: string, i: number) => this.#getX(i))\n .attr('y', (_d: string, i: number) => this.#getY(i));\n }\n\n #setTextAttr(selection: any): void {\n const { height, textAlign } = this.computedOptions;\n\n selection\n .attr('text-anchor', textAlign)\n .attr(\n 'x',\n (_d: string, i: number) => this.#getTextXOffset() + this.#getX(i),\n )\n .attr('y', (_d: string, i: number) => this.#getY(i) + height! / 2)\n .text((data: string) => data);\n }\n\n #getTextXOffset() {\n const { width, textAlign } = this.computedOptions;\n\n switch (textAlign) {\n case 'start':\n return 0;\n case 'middle':\n return width / 2;\n case 'end':\n return width;\n default:\n return 0;\n }\n }\n\n #getX(index: number) {\n const { position, padding } = this.options;\n const { width, gutter } = this.computedOptions;\n\n if (isHorizontal(position!)) {\n return padding[Position.LEFT];\n }\n\n return padding[Position.LEFT] + (width + gutter) * index;\n }\n\n #getY(index: number) {\n const { position, padding } = this.options;\n const { height, gutter } = this.computedOptions;\n\n if (isVertical(position!)) {\n return padding[Position.TOP];\n }\n\n return padding[Position.TOP] + (height + gutter) * index;\n }\n}\n"],"names":["fails","exec","error","descriptors","require$$0","Object","defineProperty","get","functionBindNative","test","bind","hasOwnProperty","NATIVE_BIND","FunctionPrototype","Function","prototype","call","uncurryThisWithBind","functionUncurryThis","fn","apply","arguments","isNullOrUndefined","it","$TypeError","TypeError","requireObjectCoercible","$Object","toObject","argument","require$$1","hasOwnProperty_1","hasOwn","key","DESCRIPTORS","getDescriptor","getOwnPropertyDescriptor","EXISTS","functionName","PROPER","name","CONFIGURABLE","configurable","makeBuiltIn$3","exports","documentAll","document","all","documentAll_1","IS_HTMLDDA","undefined","isCallable","check","Math","global","globalThis","window","self","this","defineGlobalProperty","value","writable","SHARED","sharedStore","store","require$$2","functionToString","toString","inspectSource","match","version","WeakMap","weakMapBasicDetection","String","isObject","objectDefineProperty","createElement","documentCreateElement","ie8DomDefine","a","v8PrototypeDefineBug","$String","anObject","functionCall","getBuiltIn","namespace","method","length","objectIsPrototypeOf","isPrototypeOf","engineUserAgent","navigator","userAgent","process","Deno","versions","v8","split","engineV8Version","V8_VERSION","symbolConstructorDetection","getOwnPropertySymbols","symbol","Symbol","sham","useSymbolAsUid","iterator","isSymbol","require$$3","$Symbol","tryToString","aCallable","getMethod","V","P","func","shared$3","sharedModule","push","mode","copyright","license","source","uncurryThis","id","postfix","random","uid","shared","NATIVE_SYMBOL","require$$4","USE_SYMBOL_AS_UID","require$$5","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","wellKnownSymbol","ordinaryToPrimitive","input","pref","val","valueOf","TO_PRIMITIVE","toPrimitive","result","exoticToPrim","toPropertyKey","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","WRITABLE","f","O","Attributes","current","enumerable","set","has","createPropertyDescriptor","bitmap","definePropertyModule","createNonEnumerableProperty","object","keys","sharedKey","hiddenKeys","NATIVE_WEAK_MAP","require$$6","require$$7","OBJECT_ALREADY_INITIALIZED","state","metadata","facade","STATE","internalState","enforce","getterFor","TYPE","type","CONFIGURABLE_FUNCTION_NAME","enforceInternalState","getInternalState","stringSlice","slice","replace","join","CONFIGURABLE_LENGTH","TEMPLATE","makeBuiltIn","makeBuiltInModule","options","getter","setter","arity","constructor","defineBuiltInAccessor","target","descriptor","FUNCTION_NAME_EXISTS","nameRE","regExpExec","objectGetOwnPropertyDescriptor","objectPropertyIsEnumerable","$propertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","classofRaw","classof","indexedObject","IndexedObject","toIndexedObject","propertyIsEnumerableModule","defineBuiltIn","simple","unsafe","nonConfigurable","nonWritable","ceil","floor","trunc","x","n","toIntegerOrInfinity","number","max","min","toAbsoluteIndex","index","integer","toLength","lengthOfArrayLike","obj","createMethod","IS_INCLUDES","$this","el","fromIndex","arrayIncludes","includes","indexOf","objectKeysInternal","names","i","enumBugKeys","internalObjectKeys","concat","objectGetOwnPropertyNames","getOwnPropertyNames","objectGetOwnPropertySymbols","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","ownKeys","getOwnPropertyDescriptorModule","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","toLowerCase","isForced_1","copyConstructorProperties","exceptions","_export","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","forced","objectKeys","require$$8","$assign","assign","objectAssign","b","A","B","alphabet","forEach","chr","T","argumentsLength","S","j","toStringTagSupport","TO_STRING_TAG_SUPPORT","TO_STRING_TAG","CORRECT_ARGUMENTS","tag","tryGet","callee","engineIsNode","uncurryThisAccessor","aPossiblePrototype","objectSetPrototypeOf","setPrototypeOf","CORRECT_SETTER","Array","proto","__proto__","setToStringTag","TAG","SPECIES","anInstance","Prototype","noop","empty","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","$location","defer","channel","port","isConstructor","called","aConstructor","functionApply","Reflect","functionBindContext","that","html","arraySlice","engineIsIos","validateArgumentsLength","passed","required","IS_IOS","require$$10","IS_NODE","require$$11","setImmediate","clear","clearImmediate","Dispatch","MessageChannel","counter","queue","ONREADYSTATECHANGE","location","run","runner","eventListener","event","globalPostMessageDefer","postMessage","protocol","host","handler","args","nextTick","now","port2","port1","onmessage","addEventListener","importScripts","appendChild","removeChild","setTimeout","task","Queue","head","tail","add","item","entry","next","notify","toggle","node","promise","then","engineIsIosPebble","Pebble","engineIsWebosWebkit","macrotask","IS_IOS_PEBBLE","IS_WEBOS_WEBKIT","MutationObserver","WebKitMutationObserver","Promise","queueMicrotaskDescriptor","microtask","flush","parent","domain","exit","enter","resolve","createTextNode","observe","characterData","microtask_1","perform","promiseNativeConstructor","engineIsDeno","engineIsBrowser","NativePromiseConstructor","IS_BROWSER","IS_DENO","require$$9","SUBCLASSING","NATIVE_PROMISE_REJECTION_EVENT","PromiseRejectionEvent","FORCED_PROMISE_CONSTRUCTOR","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","FakePromise","promiseConstructorDetection","CONSTRUCTOR","REJECTION_EVENT","newPromiseCapability$2","PromiseCapability","C","reject","$$resolve","$$reject","newPromiseCapability","Internal","OwnPromiseCapability","nativeThen","$","setSpecies","CONSTRUCTOR_NAME","Constructor","require$$12","speciesConstructor","defaultConstructor","require$$14","require$$15","hostReportErrors","console","require$$17","require$$18","InternalStateModule","require$$19","require$$20","newPromiseCapabilityModule","require$$22","PROMISE","require$$21","NATIVE_PROMISE_SUBCLASSING","getInternalPromiseState","setInternalState","NativePromisePrototype","PromiseConstructor","PromisePrototype","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","isThenable","callReaction","reaction","exited","ok","fail","rejection","onHandleUnhandled","isReject","notified","reactions","onUnhandled","reason","initEvent","isUnhandled","emit","unwrap","internalReject","done","internalResolve","wrapper","executor","onFulfilled","onRejected","PromiseWrapper","wrap","iterators","Iterators","ITERATOR","ArrayPrototype","getIteratorMethod","isArrayIteratorMethod","getIterator","usingIterator","iteratorMethod","iteratorClose","kind","innerResult","innerError","Result","stopped","ResultPrototype","iterate","iterable","unboundFunction","iterFn","step","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","stop","condition","callFn","SAFE_CLOSING","iteratorWithReturn","return","from","checkCorrectnessOfIteration","SKIP_CLOSING","ITERATION_SUPPORT","promiseStaticsIncorrectIteration","capability","$promiseResolve","values","remaining","alreadyCalled","real","catch","race","r","promiseResolve","promiseCapability","arrayMethodIsStrict","METHOD_NAME","nativeJoin","separator","objectDefineProperties","defineProperties","Properties","props","activeXDocument","definePropertiesModule","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","JS","style","display","src","contentWindow","open","F","objectCreate","create","UNSCOPABLES","IteratorPrototype","PrototypeOfArrayIteratorPrototype","arrayIterator","correctPrototypeGetter","getPrototypeOf","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","objectGetPrototypeOf","BUGGY_SAFARI_ITERATORS","NEW_ITERATOR_PROTOTYPE","iteratorsCore","returnThis","createIteratorConstructor","IteratorConstructor","NAME","ENUMERABLE_NEXT","PROPER_FUNCTION_NAME","require$$13","KEYS","VALUES","ENTRIES","iteratorDefine","Iterable","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","createIterResultObject","addToUnscopables","defineIterator","ARRAY_ITERATOR","es_array_iterator","iterated","Arguments","charAt","charCodeAt","CONVERT_TO_STRING","pos","first","second","position","size","codeAt","STRING_ITERATOR","point","internalMetadata","objectGetOwnPropertyNamesExternal","createProperty","propertyKey","$Array","$getOwnPropertyNames","start","end","k","fin","windowNames","getWindowNames","arrayBufferNonExtensible","ArrayBuffer","buffer","isExtensible","ARRAY_BUFFER_NON_EXTENSIBLE","$isExtensible","objectIsExtensible","freezing","preventExtensions","getOwnPropertyNamesExternalModule","FREEZING","REQUIRED","METADATA","setMetadata","objectID","weakData","meta","internalMetadataModule","enable","splice","fastKey","getWeakData","onFreeze","InternalMetadataModule","inheritIfRequired","dummy","Wrapper","NewTarget","NewTargetPrototype","isArray","arraySpeciesConstructor","originalArray","arraySpeciesCreate","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","callbackfn","specificCreate","boundFunction","arrayIteration","map","filter","some","every","find","findIndex","filterReject","defineBuiltIns","internalStateGetterFor","uncaughtFrozenStore","frozen","UncaughtFrozenStore","findUncaughtFrozen","delete","collectionWeak","getConstructor","ADDER","define","common","IS_WEAK","NativeConstructor","NativePrototype","exported","fixMethod","uncurriedNativeMethod","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","setStrong","collection","init","domIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","classList","DOMTokenListPrototype","domTokenListPrototype","DOMIterables","ArrayIteratorMethods","ArrayValues","handlePrototype","CollectionPrototype","COLLECTION_NAME","$forEach","arrayForEach","ScrollDirection","Position","nativeKeys","__classPrivateFieldGet","receiver","isVertical","horizontalPadding","padding","LEFT","RIGHT","verticalPadding","TOP","BOTTOM","DEFAULT_SELECTOR","defaultOptions","enabled","dimensions","width","height","text","CalendarLabel","calendar","_classCallCheck","subDomain","_b","_a","root","shown","computedOptions","radius","gutter","textAlign","pluginOptions","destroy","calendarRoot","calendarPainter","append","attr","build","remove","_this","_CalendarLabel_instances","_CalendarLabel_buildComputedOptions","_CalendarLabel_computeDimensions","selectAll","selection","s","_CalendarLabel_setRectAttr","_CalendarLabel_setTextAttr","_this2","_this$computedOptions","_this$options","labelsCount","_this3","_this$computedOptions2","_d","_CalendarLabel_getX","_this4","_this$computedOptions3","_CalendarLabel_getY","_CalendarLabel_getTextXOffset","_this$computedOptions4","_this$options2","_this$computedOptions5","isHorizontal","_this$options3","_this$computedOptions6"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,156]}
\ No newline at end of file
+{"version":3,"file":"CalendarLabel.min.js","sources":["../../node_modules/core-js/internals/fails.js","../../node_modules/core-js/internals/descriptors.js","../../node_modules/core-js/internals/function-bind-native.js","../../node_modules/core-js/internals/function-uncurry-this.js","../../node_modules/core-js/internals/is-null-or-undefined.js","../../node_modules/core-js/internals/require-object-coercible.js","../../node_modules/core-js/internals/to-object.js","../../node_modules/core-js/internals/has-own-property.js","../../node_modules/core-js/internals/function-name.js","../../node_modules/core-js/internals/document-all.js","../../node_modules/core-js/internals/is-callable.js","../../node_modules/core-js/internals/global.js","../../node_modules/core-js/internals/define-global-property.js","../../node_modules/core-js/internals/shared-store.js","../../node_modules/core-js/internals/inspect-source.js","../../node_modules/core-js/internals/engine-v8-version.js","../../node_modules/core-js/internals/weak-map-basic-detection.js","../../node_modules/core-js/internals/is-object.js","../../node_modules/core-js/internals/document-create-element.js","../../node_modules/core-js/internals/ie8-dom-define.js","../../node_modules/core-js/internals/v8-prototype-define-bug.js","../../node_modules/core-js/internals/an-object.js","../../node_modules/core-js/internals/function-call.js","../../node_modules/core-js/internals/get-built-in.js","../../node_modules/core-js/internals/object-is-prototype-of.js","../../node_modules/core-js/internals/engine-user-agent.js","../../node_modules/core-js/internals/symbol-constructor-detection.js","../../node_modules/core-js/internals/use-symbol-as-uid.js","../../node_modules/core-js/internals/is-symbol.js","../../node_modules/core-js/internals/try-to-string.js","../../node_modules/core-js/internals/a-callable.js","../../node_modules/core-js/internals/get-method.js","../../node_modules/core-js/internals/ordinary-to-primitive.js","../../node_modules/core-js/internals/shared.js","../../node_modules/core-js/internals/uid.js","../../node_modules/core-js/internals/well-known-symbol.js","../../node_modules/core-js/internals/to-primitive.js","../../node_modules/core-js/internals/to-property-key.js","../../node_modules/core-js/internals/object-define-property.js","../../node_modules/core-js/internals/create-property-descriptor.js","../../node_modules/core-js/internals/internal-state.js","../../node_modules/core-js/internals/create-non-enumerable-property.js","../../node_modules/core-js/internals/shared-key.js","../../node_modules/core-js/internals/hidden-keys.js","../../node_modules/core-js/internals/make-built-in.js","../../node_modules/core-js/internals/define-built-in-accessor.js","../../node_modules/core-js/modules/es.function.name.js","../../node_modules/core-js/internals/object-property-is-enumerable.js","../../node_modules/core-js/internals/classof-raw.js","../../node_modules/core-js/internals/indexed-object.js","../../node_modules/core-js/internals/to-indexed-object.js","../../node_modules/core-js/internals/object-get-own-property-descriptor.js","../../node_modules/core-js/internals/define-built-in.js","../../node_modules/core-js/internals/math-trunc.js","../../node_modules/core-js/internals/to-integer-or-infinity.js","../../node_modules/core-js/internals/to-absolute-index.js","../../node_modules/core-js/internals/to-length.js","../../node_modules/core-js/internals/length-of-array-like.js","../../node_modules/core-js/internals/array-includes.js","../../node_modules/core-js/internals/object-keys-internal.js","../../node_modules/core-js/internals/enum-bug-keys.js","../../node_modules/core-js/internals/object-get-own-property-names.js","../../node_modules/core-js/internals/object-get-own-property-symbols.js","../../node_modules/core-js/internals/own-keys.js","../../node_modules/core-js/internals/copy-constructor-properties.js","../../node_modules/core-js/internals/is-forced.js","../../node_modules/core-js/internals/export.js","../../node_modules/core-js/internals/object-keys.js","../../node_modules/core-js/internals/object-assign.js","../../node_modules/core-js/modules/es.object.assign.js","../../node_modules/core-js/internals/to-string-tag-support.js","../../node_modules/core-js/internals/classof.js","../../node_modules/core-js/internals/object-to-string.js","../../node_modules/core-js/modules/es.object.to-string.js","../../node_modules/core-js/internals/engine-is-node.js","../../node_modules/core-js/internals/function-uncurry-this-accessor.js","../../node_modules/core-js/internals/a-possible-prototype.js","../../node_modules/core-js/internals/object-set-prototype-of.js","../../node_modules/core-js/internals/set-to-string-tag.js","../../node_modules/core-js/internals/set-species.js","../../node_modules/core-js/internals/an-instance.js","../../node_modules/core-js/internals/is-constructor.js","../../node_modules/core-js/internals/task.js","../../node_modules/core-js/internals/a-constructor.js","../../node_modules/core-js/internals/species-constructor.js","../../node_modules/core-js/internals/function-apply.js","../../node_modules/core-js/internals/function-uncurry-this-clause.js","../../node_modules/core-js/internals/function-bind-context.js","../../node_modules/core-js/internals/html.js","../../node_modules/core-js/internals/array-slice.js","../../node_modules/core-js/internals/validate-arguments-length.js","../../node_modules/core-js/internals/engine-is-ios.js","../../node_modules/core-js/internals/queue.js","../../node_modules/core-js/internals/microtask.js","../../node_modules/core-js/internals/engine-is-ios-pebble.js","../../node_modules/core-js/internals/engine-is-webos-webkit.js","../../node_modules/core-js/internals/perform.js","../../node_modules/core-js/internals/promise-native-constructor.js","../../node_modules/core-js/internals/engine-is-deno.js","../../node_modules/core-js/internals/engine-is-browser.js","../../node_modules/core-js/internals/promise-constructor-detection.js","../../node_modules/core-js/internals/new-promise-capability.js","../../node_modules/core-js/modules/es.promise.constructor.js","../../node_modules/core-js/internals/host-report-errors.js","../../node_modules/core-js/internals/iterators.js","../../node_modules/core-js/internals/is-array-iterator-method.js","../../node_modules/core-js/internals/get-iterator-method.js","../../node_modules/core-js/internals/get-iterator.js","../../node_modules/core-js/internals/iterator-close.js","../../node_modules/core-js/internals/iterate.js","../../node_modules/core-js/internals/check-correctness-of-iteration.js","../../node_modules/core-js/internals/promise-statics-incorrect-iteration.js","../../node_modules/core-js/modules/es.promise.all.js","../../node_modules/core-js/modules/es.promise.catch.js","../../node_modules/core-js/modules/es.promise.race.js","../../node_modules/core-js/modules/es.promise.reject.js","../../node_modules/core-js/internals/promise-resolve.js","../../node_modules/core-js/modules/es.promise.resolve.js","../../node_modules/core-js/internals/array-method-is-strict.js","../../node_modules/core-js/modules/es.array.join.js","../../node_modules/core-js/internals/object-define-properties.js","../../node_modules/core-js/internals/object-create.js","../../node_modules/core-js/internals/add-to-unscopables.js","../../node_modules/core-js/internals/iterators-core.js","../../node_modules/core-js/internals/correct-prototype-getter.js","../../node_modules/core-js/internals/object-get-prototype-of.js","../../node_modules/core-js/internals/iterator-create-constructor.js","../../node_modules/core-js/internals/iterator-define.js","../../node_modules/core-js/internals/create-iter-result-object.js","../../node_modules/core-js/modules/es.array.iterator.js","../../node_modules/core-js/internals/to-string.js","../../node_modules/core-js/internals/string-multibyte.js","../../node_modules/core-js/modules/es.string.iterator.js","../../node_modules/core-js/internals/create-property.js","../../node_modules/core-js/internals/array-slice-simple.js","../../node_modules/core-js/internals/object-get-own-property-names-external.js","../../node_modules/core-js/internals/array-buffer-non-extensible.js","../../node_modules/core-js/internals/object-is-extensible.js","../../node_modules/core-js/internals/freezing.js","../../node_modules/core-js/internals/internal-metadata.js","../../node_modules/core-js/internals/inherit-if-required.js","../../node_modules/core-js/internals/collection.js","../../node_modules/core-js/internals/define-built-ins.js","../../node_modules/core-js/internals/is-array.js","../../node_modules/core-js/internals/array-species-constructor.js","../../node_modules/core-js/internals/array-species-create.js","../../node_modules/core-js/internals/array-iteration.js","../../node_modules/core-js/internals/collection-weak.js","../../node_modules/core-js/modules/es.weak-set.constructor.js","../../node_modules/core-js/internals/dom-iterables.js","../../node_modules/core-js/internals/dom-token-list-prototype.js","../../node_modules/core-js/modules/web.dom-collections.iterator.js","../../node_modules/core-js/internals/array-for-each.js","../../node_modules/core-js/modules/web.dom-collections.for-each.js","../../node_modules/core-js/modules/es.object.keys.js","../../../src/constant.ts","../../node_modules/tslib/tslib.es6.js","../../../src/helpers/PositionHelper.ts","../../../src/plugins/CalendarLabel.ts"],"sourcesContent":["'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","'use strict';\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.34.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.34.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FUNCTION_NAME_EXISTS = require('../internals/function-name').EXISTS;\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\n\nvar FunctionPrototype = Function.prototype;\nvar functionToString = uncurryThis(FunctionPrototype.toString);\nvar nameRE = /function\\b(?:\\s|\\/\\*[\\S\\s]*?\\*\\/|\\/\\/[^\\n\\r]*[\\n\\r]+)*([^\\s(/]*)/;\nvar regExpExec = uncurryThis(nameRE.exec);\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !FUNCTION_NAME_EXISTS) {\n defineBuiltInAccessor(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return regExpExec(nameRE, functionToString(this))[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol('assign detection');\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\nvar $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar global = require('../internals/global');\nvar classof = require('../internals/classof-raw');\n\nmodule.exports = classof(global.process) === 'process';\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineBuiltInAccessor(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar Dispatch = global.Dispatch;\nvar Function = global.Function;\nvar MessageChannel = global.MessageChannel;\nvar String = global.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar $location, defer, channel, port;\n\nfails(function () {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n $location = global.location;\n});\n\nvar run = function (id) {\n if (hasOwn(queue, id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar eventListener = function (event) {\n run(event.data);\n};\n\nvar globalPostMessageDefer = function (id) {\n // old engines have not location.origin\n global.postMessage(String(id), $location.protocol + '//' + $location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = eventListener;\n defer = bind(port.postMessage, port);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n isCallable(global.postMessage) &&\n !global.importScripts &&\n $location && $location.protocol !== 'file:' &&\n !fails(globalPostMessageDefer)\n ) {\n defer = globalPostMessageDefer;\n global.addEventListener('message', eventListener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","'use strict';\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw new $TypeError('Not enough arguments');\n return passed;\n};\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\n// eslint-disable-next-line redos/no-vulnerable -- safe\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","'use strict';\nvar Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n var tail = this.tail;\n if (tail) tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n var next = this.head = entry.next;\n if (next === null) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","'use strict';\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar Queue = require('../internals/queue');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/engine-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar microtask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\nvar notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!microtask) {\n var queue = new Queue();\n\n var flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (fn = queue.get()) try {\n fn();\n } catch (error) {\n if (queue.head) notify();\n throw error;\n }\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = bind(promise.then, promise);\n notify = function () {\n then(flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessage\n // - onreadystatechange\n // - setTimeout\n } else {\n // `webpack` dev server bug on IE global methods - use bind(fn, global)\n macrotask = bind(macrotask, global);\n notify = function () {\n macrotask(flush);\n };\n }\n\n microtask = function (fn) {\n if (!queue.head) notify();\n queue.add(fn);\n };\n}\n\nmodule.exports = microtask;\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined';\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict';\nvar global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","'use strict';\n/* global Deno -- Deno case */\nmodule.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object';\n","'use strict';\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nmodule.exports = !IS_DENO && !IS_NODE\n && typeof window == 'object'\n && typeof document == 'object';\n","'use strict';\nvar global = require('../internals/global');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {\n // Detect correctness of subclassing with @@species support\n var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n } return !GLOBAL_CORE_JS_PROMISE && (IS_BROWSER || IS_DENO) && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n SUBCLASSING: SUBCLASSING\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/engine-is-node');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state === FULFILLED;\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(new TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n call(then, result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw new TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n call(then, value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalPromiseState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n\n PromisePrototype = PromiseConstructor.prototype;\n\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: new Queue(),\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state === PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n });\n\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalPromiseState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!NATIVE_PROMISE_SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromisePrototype);\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","'use strict';\nmodule.exports = function (a, b) {\n try {\n // eslint-disable-next-line no-console -- safe\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n } catch (error) { /* empty */ }\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n try {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n } catch (error) { return false; } // workaround of old WebKit + `eval` bug\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","'use strict';\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call($promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['catch'];\n if (NativePromisePrototype['catch'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n reject: function reject(r) {\n var capability = newPromiseCapabilityModule.f(this);\n call(capability.reject, undefined, r);\n return capability.promise;\n }\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call -- required for testing\n method.call(null, argument || function () { return 1; }, 1);\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = uncurryThis([].join);\n\nvar ES3_STRINGS = IndexedObject !== Object;\nvar FORCED = ES3_STRINGS || !arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: FORCED }, {\n join: function join(separator) {\n return nativeJoin(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] === undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND];\n\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n }\n\n return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\n// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n return { value: value, done: done };\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return createIterResultObject(undefined, true);\n }\n switch (state.kind) {\n case 'keys': return createIterResultObject(index, false);\n case 'values': return createIterResultObject(target[index], false);\n } return createIterResultObject([index, target[index]], false);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return createIterResultObject(undefined, true);\n point = charAt(string, index);\n state.index += point.length;\n return createIterResultObject(point, false);\n});\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar $Array = Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = $Array(max(fin - k, 0));\n var n = 0;\n for (; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","'use strict';\n/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) === 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","'use strict';\n// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it\nvar fails = require('../internals/fails');\n\nmodule.exports = fails(function () {\n if (typeof ArrayBuffer == 'function') {\n var buffer = new ArrayBuffer(8);\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe\n if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });\n }\n});\n","'use strict';\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external');\nvar isExtensible = require('../internals/object-is-extensible');\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar REQUIRED = false;\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + id++, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar enable = function () {\n meta.enable = function () { /* empty */ };\n REQUIRED = true;\n var getOwnPropertyNames = getOwnPropertyNamesModule.f;\n var splice = uncurryThis([].splice);\n var test = {};\n test[METADATA] = 1;\n\n // prevent exposing of metadata key\n if (getOwnPropertyNames(test).length) {\n getOwnPropertyNamesModule.f = function (it) {\n var result = getOwnPropertyNames(it);\n for (var i = 0, length = result.length; i < length; i++) {\n if (result[i] === METADATA) {\n splice(result, i, 1);\n break;\n }\n } return result;\n };\n\n $({ target: 'Object', stat: true, forced: true }, {\n getOwnPropertyNames: getOwnPropertyNamesExternalModule.f\n });\n }\n};\n\nvar meta = module.exports = {\n enable: enable,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n defineBuiltIn(NativePrototype, KEY,\n KEY === 'add' ? function add(value) {\n uncurriedNativeMethod(this, value === 0 ? 0 : value);\n return this;\n } : KEY === 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY === 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY === 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.enable();\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) !== instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, NativePrototype);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, constructor: true, forced: Constructor !== NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) defineBuiltIn(target, key, src[key], options);\n return target;\n};\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? $Array : C;\n};\n","'use strict';\nvar arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE === 1;\n var IS_FILTER = TYPE === 2;\n var IS_SOME = TYPE === 3;\n var IS_EVERY = TYPE === 4;\n var IS_FIND_INDEX = TYPE === 6;\n var IS_FILTER_REJECT = TYPE === 7;\n var NO_HOLES = TYPE === 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(self);\n var boundFunction = bind(callbackfn, that);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar getWeakData = require('../internals/internal-metadata').getWeakData;\nvar anInstance = require('../internals/an-instance');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isObject = require('../internals/is-object');\nvar iterate = require('../internals/iterate');\nvar ArrayIterationModule = require('../internals/array-iteration');\nvar hasOwn = require('../internals/has-own-property');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar splice = uncurryThis([].splice);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (state) {\n return state.frozen || (state.frozen = new UncaughtFrozenStore());\n};\n\nvar UncaughtFrozenStore = function () {\n this.entries = [];\n};\n\nvar findUncaughtFrozen = function (store, key) {\n return find(store.entries, function (it) {\n return it[0] === key;\n });\n};\n\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.entries.push([key, value]);\n },\n 'delete': function (key) {\n var index = findIndex(this.entries, function (it) {\n return it[0] === key;\n });\n if (~index) splice(this.entries, index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n id: id++,\n frozen: undefined\n });\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var data = getWeakData(anObject(key), true);\n if (data === true) uncaughtFrozenStore(state).set(key, value);\n else data[state.id] = value;\n return that;\n };\n\n defineBuiltIns(Prototype, {\n // `{ WeakMap, WeakSet }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-weakmap.prototype.delete\n // https://tc39.es/ecma262/#sec-weakset.prototype.delete\n 'delete': function (key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state)['delete'](key);\n return data && hasOwn(data, state.id) && delete data[state.id];\n },\n // `{ WeakMap, WeakSet }.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-weakmap.prototype.has\n // https://tc39.es/ecma262/#sec-weakset.prototype.has\n has: function has(key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).has(key);\n return data && hasOwn(data, state.id);\n }\n });\n\n defineBuiltIns(Prototype, IS_MAP ? {\n // `WeakMap.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-weakmap.prototype.get\n get: function get(key) {\n var state = getInternalState(this);\n if (isObject(key)) {\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).get(key);\n return data ? data[state.id] : undefined;\n }\n },\n // `WeakMap.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-weakmap.prototype.set\n set: function set(key, value) {\n return define(this, key, value);\n }\n } : {\n // `WeakSet.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-weakset.prototype.add\n add: function add(value) {\n return define(this, value, true);\n }\n });\n\n return Constructor;\n }\n};\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\n\n// `WeakSet` constructor\n// https://tc39.es/ecma262/#sec-weakset-constructor\ncollection('WeakSet', function (init) {\n return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionWeak);\n","'use strict';\n// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","'use strict';\n// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","'use strict';\nvar global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nvar handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n setToStringTag(CollectionPrototype, COLLECTION_NAME, true);\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype, COLLECTION_NAME);\n}\n\nhandlePrototype(DOMTokenListPrototype, 'DOMTokenList');\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","'use strict';\nvar global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar handlePrototype = function (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n if (DOMIterables[COLLECTION_NAME]) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype);\n }\n}\n\nhandlePrototype(DOMTokenListPrototype);\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","export enum ScrollDirection {\n SCROLL_NONE,\n SCROLL_BACKWARD,\n SCROLL_FORWARD,\n}\n\nexport enum Position {\n TOP,\n RIGHT,\n BOTTOM,\n LEFT,\n}\n\nexport const OPTIONS_DEFAULT_DOMAIN_TYPE = 'hour';\n\nexport const OPTIONS_DEFAULT_SUBDOMAIN_TYPE = 'minute';\nexport const OPTIONS_DEFAULT_SUBDOMAIN_WIDTH = 10;\nexport const OPTIONS_DEFAULT_SUBDOMAIN_HEIGHT = 10;\nexport const OPTIONS_DEFAULT_SUBDOMAIN_GUTTER = 2;\nexport const OPTIONS_DEFAULT_SUBDOMAIN_RADIUS = 0;\nexport const OPTIONS_DEFAULT_ANIMATION_DURATION = 200;\nexport const OPTIONS_DEFAULT_RANGE = 12;\nexport const OPTIONS_DEFAULT_ITEM_SELECTOR = '#cal-heatmap';\nexport const OPTIONS_DEFAULT_THEME = 'light';\nexport const OPTIONS_DEFAULT_LOCALE = 'en';\n\nexport const SCALE_BASE_OPACITY_COLOR = 'red';\nexport const SCALE_BASE_COLOR_SCHEME = 'YlOrBr';\nexport const SCALE_BASE_COLOR_TYPE = 'quantize';\nexport const SCALE_BASE_COLOR_DOMAIN = [0, 100];\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport default {\r\n __extends,\r\n __assign,\r\n __rest,\r\n __decorate,\r\n __param,\r\n __metadata,\r\n __awaiter,\r\n __generator,\r\n __createBinding,\r\n __exportStar,\r\n __values,\r\n __read,\r\n __spread,\r\n __spreadArrays,\r\n __spreadArray,\r\n __await,\r\n __asyncGenerator,\r\n __asyncDelegator,\r\n __asyncValues,\r\n __makeTemplateObject,\r\n __importStar,\r\n __importDefault,\r\n __classPrivateFieldGet,\r\n __classPrivateFieldSet,\r\n __classPrivateFieldIn,\r\n};\r\n","import { Position } from '../constant';\nimport type { Padding } from '../options/Options';\n\nexport function isHorizontal(position: string): boolean {\n return position === 'left' || position === 'right';\n}\n\nexport function isVertical(position: string): boolean {\n return position === 'top' || position === 'bottom';\n}\n\nexport function horizontalPadding(padding: Padding): number {\n return padding[Position.LEFT] + padding[Position.RIGHT];\n}\n\nexport function verticalPadding(padding: Padding): number {\n return padding[Position.TOP] + padding[Position.BOTTOM];\n}\n","import { Position } from '../constant';\nimport {\n isHorizontal,\n isVertical,\n horizontalPadding,\n verticalPadding,\n} from '../helpers/PositionHelper';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport type { IPlugin, PluginOptions } from '../index';\nimport type { TextAlign, Padding } from '../options/Options';\n\ntype ComputedOptions = {\n radius: number;\n width: number;\n height: number;\n gutter: number;\n textAlign: TextAlign;\n};\n\ninterface CalendarLabelOptions extends PluginOptions, Partial {\n enabled: boolean;\n text: () => string[];\n padding: Padding;\n}\n\nconst DEFAULT_SELECTOR = '.ch-plugin-calendar-label';\n\nconst defaultOptions: CalendarLabelOptions = {\n enabled: true,\n\n dimensions: {\n width: 0,\n height: 0,\n },\n\n position: 'left',\n\n text: () => [],\n\n padding: [0, 0, 0, 0],\n};\n\nexport default class CalendarLabel implements IPlugin {\n name = 'CalendarLabel';\n\n calendar: CalHeatmap;\n\n root: any;\n\n shown: boolean;\n\n options: CalendarLabelOptions;\n\n computedOptions: ComputedOptions;\n\n constructor(calendar: CalHeatmap) {\n const subDomain = calendar?.options?.options?.subDomain;\n\n this.calendar = calendar;\n this.root = null;\n this.shown = false;\n this.options = defaultOptions;\n this.computedOptions = {\n radius: subDomain?.radius,\n width: subDomain?.width,\n height: subDomain?.height,\n gutter: subDomain?.gutter,\n textAlign: 'start',\n };\n }\n\n setup(pluginOptions?: Partial): void {\n this.options = { ...defaultOptions, ...pluginOptions };\n }\n\n paint(): Promise {\n const { enabled } = this.options;\n\n if (!enabled) {\n return this.destroy();\n }\n\n this.shown = true;\n\n const calendarRoot = this.calendar.calendarPainter.root;\n\n if (!this.root) {\n this.root = calendarRoot\n .append('svg')\n .attr('class', DEFAULT_SELECTOR.slice(1))\n .attr('data-key', this.options.key)\n .attr('x', 0)\n .attr('y', 0);\n }\n\n this.build();\n\n return Promise.resolve();\n }\n\n destroy(): Promise {\n if (this.root !== null) {\n this.root.remove();\n this.root = null;\n }\n\n return Promise.resolve();\n }\n\n build() {\n this.#buildComputedOptions();\n this.#computeDimensions();\n\n this.root\n .selectAll('g')\n .data(this.options.text)\n .join((enter: any) => enter\n .append('g')\n .call((selection: any) => selection\n .append('rect')\n .attr('class', `${DEFAULT_SELECTOR.slice(1)}-bg`)\n .attr('style', 'fill: transparent')\n .call((s: any) => this.#setRectAttr(s)))\n .call((selection: any) => selection\n .append('text')\n .attr('class', `${DEFAULT_SELECTOR.slice(1)}-text`)\n .attr('dominant-baseline', 'central')\n .attr('text-anchor', 'middle')\n .attr('style', 'fill: currentColor; font-size: 10px')\n .call((s: any) => this.#setTextAttr(s))));\n\n return Promise.resolve();\n }\n\n #buildComputedOptions() {\n Object.keys(this.computedOptions).forEach((key: string) => {\n if (typeof this.options[key as keyof ComputedOptions] !== 'undefined') {\n // @ts-ignore\n this.computedOptions[key] = this.options[key];\n }\n });\n }\n\n /**\n * Compute the total dimension of the current plugin\n */\n #computeDimensions(): void {\n const { width, height, gutter } = this.computedOptions;\n const { text, padding, position } = this.options;\n const labelsCount = text().length;\n\n this.options.dimensions = {\n width: width + horizontalPadding(padding),\n height: height + verticalPadding(padding),\n };\n\n if (isVertical(position!)) {\n this.options.dimensions.width += (width + gutter) * (labelsCount - 1);\n } else {\n this.options.dimensions.height += (height + gutter) * (labelsCount - 1);\n }\n }\n\n #setRectAttr(selection: any) {\n const { width, height, radius } = this.computedOptions;\n\n selection\n .attr('width', width)\n .attr('height', height)\n .attr('rx', radius && radius > 0 ? radius : null)\n .attr('ry', radius && radius > 0 ? radius : null)\n .attr('x', (_d: string, i: number) => this.#getX(i))\n .attr('y', (_d: string, i: number) => this.#getY(i));\n }\n\n #setTextAttr(selection: any): void {\n const { height, textAlign } = this.computedOptions;\n\n selection\n .attr('text-anchor', textAlign)\n .attr(\n 'x',\n (_d: string, i: number) => this.#getTextXOffset() + this.#getX(i),\n )\n .attr('y', (_d: string, i: number) => this.#getY(i) + height! / 2)\n .text((data: string) => data);\n }\n\n #getTextXOffset() {\n const { width, textAlign } = this.computedOptions;\n\n switch (textAlign) {\n case 'start':\n return 0;\n case 'middle':\n return width / 2;\n case 'end':\n return width;\n default:\n return 0;\n }\n }\n\n #getX(index: number) {\n const { position, padding } = this.options;\n const { width, gutter } = this.computedOptions;\n\n if (isHorizontal(position!)) {\n return padding[Position.LEFT];\n }\n\n return padding[Position.LEFT] + (width + gutter) * index;\n }\n\n #getY(index: number) {\n const { position, padding } = this.options;\n const { height, gutter } = this.computedOptions;\n\n if (isVertical(position!)) {\n return padding[Position.TOP];\n }\n\n return padding[Position.TOP] + (height + gutter) * index;\n }\n}\n"],"names":["fails","exec","error","descriptors","require$$0","Object","defineProperty","get","functionBindNative","test","bind","hasOwnProperty","NATIVE_BIND","FunctionPrototype","Function","prototype","call","uncurryThisWithBind","functionUncurryThis","fn","apply","arguments","isNullOrUndefined","it","$TypeError","TypeError","requireObjectCoercible","$Object","toObject","argument","require$$1","hasOwnProperty_1","hasOwn","key","DESCRIPTORS","getDescriptor","getOwnPropertyDescriptor","EXISTS","functionName","PROPER","name","CONFIGURABLE","configurable","makeBuiltIn$3","exports","documentAll","document","all","documentAll_1","IS_HTMLDDA","undefined","isCallable","check","Math","global","globalThis","window","self","this","defineGlobalProperty","value","writable","SHARED","sharedStore","store","require$$2","functionToString","toString","inspectSource","match","version","WeakMap","weakMapBasicDetection","String","isObject","objectDefineProperty","createElement","documentCreateElement","ie8DomDefine","a","v8PrototypeDefineBug","$String","anObject","functionCall","getBuiltIn","namespace","method","length","objectIsPrototypeOf","isPrototypeOf","engineUserAgent","navigator","userAgent","process","Deno","versions","v8","split","engineV8Version","V8_VERSION","symbolConstructorDetection","getOwnPropertySymbols","symbol","Symbol","sham","useSymbolAsUid","iterator","isSymbol","require$$3","$Symbol","tryToString","aCallable","getMethod","V","P","func","shared$3","sharedModule","push","mode","copyright","license","source","uncurryThis","id","postfix","random","uid","shared","NATIVE_SYMBOL","require$$4","USE_SYMBOL_AS_UID","require$$5","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","wellKnownSymbol","ordinaryToPrimitive","input","pref","val","valueOf","TO_PRIMITIVE","toPrimitive","result","exoticToPrim","toPropertyKey","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","WRITABLE","f","O","Attributes","current","enumerable","set","has","createPropertyDescriptor","bitmap","definePropertyModule","createNonEnumerableProperty","object","keys","sharedKey","hiddenKeys","NATIVE_WEAK_MAP","require$$6","require$$7","OBJECT_ALREADY_INITIALIZED","state","metadata","facade","STATE","internalState","enforce","getterFor","TYPE","type","CONFIGURABLE_FUNCTION_NAME","enforceInternalState","getInternalState","stringSlice","slice","replace","join","CONFIGURABLE_LENGTH","TEMPLATE","makeBuiltIn","makeBuiltInModule","options","getter","setter","arity","constructor","defineBuiltInAccessor","target","descriptor","FUNCTION_NAME_EXISTS","nameRE","regExpExec","objectGetOwnPropertyDescriptor","objectPropertyIsEnumerable","$propertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","classofRaw","classof","indexedObject","IndexedObject","toIndexedObject","propertyIsEnumerableModule","defineBuiltIn","simple","unsafe","nonConfigurable","nonWritable","ceil","floor","trunc","x","n","toIntegerOrInfinity","number","max","min","toAbsoluteIndex","index","integer","toLength","lengthOfArrayLike","obj","createMethod","IS_INCLUDES","$this","el","fromIndex","arrayIncludes","includes","indexOf","objectKeysInternal","names","i","enumBugKeys","internalObjectKeys","concat","objectGetOwnPropertyNames","getOwnPropertyNames","objectGetOwnPropertySymbols","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","ownKeys","getOwnPropertyDescriptorModule","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","toLowerCase","isForced_1","copyConstructorProperties","exceptions","_export","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","forced","objectKeys","require$$8","$assign","assign","objectAssign","b","A","B","alphabet","forEach","chr","T","argumentsLength","S","j","toStringTagSupport","TO_STRING_TAG_SUPPORT","TO_STRING_TAG","CORRECT_ARGUMENTS","tag","tryGet","callee","engineIsNode","uncurryThisAccessor","aPossiblePrototype","objectSetPrototypeOf","setPrototypeOf","CORRECT_SETTER","Array","proto","__proto__","setToStringTag","TAG","SPECIES","anInstance","Prototype","noop","empty","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","$location","defer","channel","port","isConstructor","called","aConstructor","functionApply","Reflect","functionBindContext","that","html","arraySlice","engineIsIos","validateArgumentsLength","passed","required","IS_IOS","require$$10","IS_NODE","require$$11","setImmediate","clear","clearImmediate","Dispatch","MessageChannel","counter","queue","ONREADYSTATECHANGE","location","run","runner","eventListener","event","globalPostMessageDefer","postMessage","protocol","host","handler","args","nextTick","now","port2","port1","onmessage","addEventListener","importScripts","appendChild","removeChild","setTimeout","task","Queue","head","tail","add","item","entry","next","notify","toggle","node","promise","then","engineIsIosPebble","Pebble","engineIsWebosWebkit","macrotask","IS_IOS_PEBBLE","IS_WEBOS_WEBKIT","MutationObserver","WebKitMutationObserver","Promise","queueMicrotaskDescriptor","microtask","flush","parent","domain","exit","enter","resolve","createTextNode","observe","characterData","microtask_1","perform","promiseNativeConstructor","engineIsDeno","engineIsBrowser","NativePromiseConstructor","IS_BROWSER","IS_DENO","require$$9","SUBCLASSING","NATIVE_PROMISE_REJECTION_EVENT","PromiseRejectionEvent","FORCED_PROMISE_CONSTRUCTOR","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","FakePromise","promiseConstructorDetection","CONSTRUCTOR","REJECTION_EVENT","newPromiseCapability$2","PromiseCapability","C","reject","$$resolve","$$reject","newPromiseCapability","Internal","OwnPromiseCapability","nativeThen","$","setSpecies","CONSTRUCTOR_NAME","Constructor","require$$12","speciesConstructor","defaultConstructor","require$$14","require$$15","hostReportErrors","console","require$$17","require$$18","InternalStateModule","require$$19","require$$20","newPromiseCapabilityModule","require$$22","PROMISE","require$$21","NATIVE_PROMISE_SUBCLASSING","getInternalPromiseState","setInternalState","NativePromisePrototype","PromiseConstructor","PromisePrototype","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","isThenable","callReaction","reaction","exited","ok","fail","rejection","onHandleUnhandled","isReject","notified","reactions","onUnhandled","reason","initEvent","isUnhandled","emit","unwrap","internalReject","done","internalResolve","wrapper","executor","onFulfilled","onRejected","PromiseWrapper","wrap","iterators","Iterators","ITERATOR","ArrayPrototype","getIteratorMethod","isArrayIteratorMethod","getIterator","usingIterator","iteratorMethod","iteratorClose","kind","innerResult","innerError","Result","stopped","ResultPrototype","iterate","iterable","unboundFunction","iterFn","step","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","stop","condition","callFn","SAFE_CLOSING","iteratorWithReturn","return","from","checkCorrectnessOfIteration","SKIP_CLOSING","ITERATION_SUPPORT","promiseStaticsIncorrectIteration","capability","$promiseResolve","values","remaining","alreadyCalled","real","catch","race","r","promiseResolve","promiseCapability","arrayMethodIsStrict","METHOD_NAME","nativeJoin","separator","objectDefineProperties","defineProperties","Properties","props","activeXDocument","definePropertiesModule","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","JS","style","display","src","contentWindow","open","F","objectCreate","create","UNSCOPABLES","IteratorPrototype","PrototypeOfArrayIteratorPrototype","arrayIterator","correctPrototypeGetter","getPrototypeOf","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","objectGetPrototypeOf","BUGGY_SAFARI_ITERATORS","NEW_ITERATOR_PROTOTYPE","iteratorsCore","returnThis","createIteratorConstructor","IteratorConstructor","NAME","ENUMERABLE_NEXT","PROPER_FUNCTION_NAME","require$$13","KEYS","VALUES","ENTRIES","iteratorDefine","Iterable","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","createIterResultObject","addToUnscopables","defineIterator","ARRAY_ITERATOR","es_array_iterator","iterated","Arguments","charAt","charCodeAt","CONVERT_TO_STRING","pos","first","second","position","size","codeAt","STRING_ITERATOR","point","internalMetadata","objectGetOwnPropertyNamesExternal","createProperty","propertyKey","$Array","$getOwnPropertyNames","start","end","k","fin","windowNames","getWindowNames","arrayBufferNonExtensible","ArrayBuffer","buffer","isExtensible","ARRAY_BUFFER_NON_EXTENSIBLE","$isExtensible","objectIsExtensible","freezing","preventExtensions","getOwnPropertyNamesExternalModule","FREEZING","REQUIRED","METADATA","setMetadata","objectID","weakData","meta","internalMetadataModule","enable","splice","fastKey","getWeakData","onFreeze","InternalMetadataModule","inheritIfRequired","dummy","Wrapper","NewTarget","NewTargetPrototype","isArray","arraySpeciesConstructor","originalArray","arraySpeciesCreate","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","callbackfn","specificCreate","boundFunction","arrayIteration","map","filter","some","every","find","findIndex","filterReject","defineBuiltIns","internalStateGetterFor","uncaughtFrozenStore","frozen","UncaughtFrozenStore","findUncaughtFrozen","delete","collectionWeak","getConstructor","ADDER","define","common","IS_WEAK","NativeConstructor","NativePrototype","exported","fixMethod","uncurriedNativeMethod","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","setStrong","collection","init","domIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","classList","DOMTokenListPrototype","domTokenListPrototype","DOMIterables","ArrayIteratorMethods","ArrayValues","handlePrototype","CollectionPrototype","COLLECTION_NAME","$forEach","arrayForEach","ScrollDirection","Position","nativeKeys","__classPrivateFieldGet","receiver","isVertical","horizontalPadding","padding","LEFT","RIGHT","verticalPadding","TOP","BOTTOM","DEFAULT_SELECTOR","defaultOptions","enabled","dimensions","width","height","text","CalendarLabel","calendar","_classCallCheck","subDomain","_b","_a","root","shown","computedOptions","radius","gutter","textAlign","pluginOptions","destroy","calendarRoot","calendarPainter","append","attr","build","remove","_this","_CalendarLabel_instances","_CalendarLabel_buildComputedOptions","_CalendarLabel_computeDimensions","selectAll","selection","s","_CalendarLabel_setRectAttr","_CalendarLabel_setTextAttr","_this2","_this$computedOptions","_this$options","labelsCount","_this3","_this$computedOptions2","_d","_CalendarLabel_getX","_this4","_this$computedOptions3","_CalendarLabel_getY","_CalendarLabel_getTextXOffset","_this$computedOptions4","_this$options2","_this$computedOptions5","isHorizontal","_this$options3","_this$computedOptions6"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,156]}
diff --git a/src/agenda_culturel/static/cal-heatmap/plugins/Legend.min.esm.js.map b/src/agenda_culturel/static/cal-heatmap/plugins/Legend.min.esm.js.map
index 26452c3..ac4ebde 100644
--- a/src/agenda_culturel/static/cal-heatmap/plugins/Legend.min.esm.js.map
+++ b/src/agenda_culturel/static/cal-heatmap/plugins/Legend.min.esm.js.map
@@ -1 +1 @@
-{"version":3,"file":"Legend.min.esm.js","sources":["../../node_modules/core-js/internals/fails.js","../../node_modules/core-js/internals/descriptors.js","../../node_modules/core-js/internals/function-bind-native.js","../../node_modules/core-js/internals/function-uncurry-this.js","../../node_modules/core-js/internals/is-null-or-undefined.js","../../node_modules/core-js/internals/require-object-coercible.js","../../node_modules/core-js/internals/to-object.js","../../node_modules/core-js/internals/has-own-property.js","../../node_modules/core-js/internals/function-name.js","../../node_modules/core-js/internals/document-all.js","../../node_modules/core-js/internals/is-callable.js","../../node_modules/core-js/internals/global.js","../../node_modules/core-js/internals/define-global-property.js","../../node_modules/core-js/internals/shared-store.js","../../node_modules/core-js/internals/inspect-source.js","../../node_modules/core-js/internals/engine-v8-version.js","../../node_modules/core-js/internals/weak-map-basic-detection.js","../../node_modules/core-js/internals/is-object.js","../../node_modules/core-js/internals/document-create-element.js","../../node_modules/core-js/internals/ie8-dom-define.js","../../node_modules/core-js/internals/v8-prototype-define-bug.js","../../node_modules/core-js/internals/an-object.js","../../node_modules/core-js/internals/function-call.js","../../node_modules/core-js/internals/get-built-in.js","../../node_modules/core-js/internals/object-is-prototype-of.js","../../node_modules/core-js/internals/engine-user-agent.js","../../node_modules/core-js/internals/symbol-constructor-detection.js","../../node_modules/core-js/internals/use-symbol-as-uid.js","../../node_modules/core-js/internals/is-symbol.js","../../node_modules/core-js/internals/try-to-string.js","../../node_modules/core-js/internals/a-callable.js","../../node_modules/core-js/internals/get-method.js","../../node_modules/core-js/internals/ordinary-to-primitive.js","../../node_modules/core-js/internals/shared.js","../../node_modules/core-js/internals/uid.js","../../node_modules/core-js/internals/well-known-symbol.js","../../node_modules/core-js/internals/to-primitive.js","../../node_modules/core-js/internals/to-property-key.js","../../node_modules/core-js/internals/object-define-property.js","../../node_modules/core-js/internals/create-property-descriptor.js","../../node_modules/core-js/internals/internal-state.js","../../node_modules/core-js/internals/create-non-enumerable-property.js","../../node_modules/core-js/internals/shared-key.js","../../node_modules/core-js/internals/hidden-keys.js","../../node_modules/core-js/internals/make-built-in.js","../../node_modules/core-js/internals/define-built-in-accessor.js","../../node_modules/core-js/modules/es.function.name.js","../../node_modules/core-js/internals/object-property-is-enumerable.js","../../node_modules/core-js/internals/classof-raw.js","../../node_modules/core-js/internals/indexed-object.js","../../node_modules/core-js/internals/to-indexed-object.js","../../node_modules/core-js/internals/object-get-own-property-descriptor.js","../../node_modules/core-js/internals/define-built-in.js","../../node_modules/core-js/internals/math-trunc.js","../../node_modules/core-js/internals/to-integer-or-infinity.js","../../node_modules/core-js/internals/to-absolute-index.js","../../node_modules/core-js/internals/to-length.js","../../node_modules/core-js/internals/length-of-array-like.js","../../node_modules/core-js/internals/array-includes.js","../../node_modules/core-js/internals/object-keys-internal.js","../../node_modules/core-js/internals/enum-bug-keys.js","../../node_modules/core-js/internals/object-get-own-property-names.js","../../node_modules/core-js/internals/object-get-own-property-symbols.js","../../node_modules/core-js/internals/own-keys.js","../../node_modules/core-js/internals/copy-constructor-properties.js","../../node_modules/core-js/internals/is-forced.js","../../node_modules/core-js/internals/export.js","../../node_modules/core-js/internals/object-keys.js","../../node_modules/core-js/internals/object-assign.js","../../node_modules/core-js/modules/es.object.assign.js","../../node_modules/core-js/internals/to-string-tag-support.js","../../node_modules/core-js/internals/classof.js","../../node_modules/core-js/internals/object-to-string.js","../../node_modules/core-js/modules/es.object.to-string.js","../../node_modules/core-js/internals/engine-is-node.js","../../node_modules/core-js/internals/function-uncurry-this-accessor.js","../../node_modules/core-js/internals/a-possible-prototype.js","../../node_modules/core-js/internals/object-set-prototype-of.js","../../node_modules/core-js/internals/set-to-string-tag.js","../../node_modules/core-js/internals/set-species.js","../../node_modules/core-js/internals/an-instance.js","../../node_modules/core-js/internals/is-constructor.js","../../node_modules/core-js/internals/task.js","../../node_modules/core-js/internals/a-constructor.js","../../node_modules/core-js/internals/species-constructor.js","../../node_modules/core-js/internals/function-apply.js","../../node_modules/core-js/internals/function-uncurry-this-clause.js","../../node_modules/core-js/internals/function-bind-context.js","../../node_modules/core-js/internals/html.js","../../node_modules/core-js/internals/array-slice.js","../../node_modules/core-js/internals/validate-arguments-length.js","../../node_modules/core-js/internals/engine-is-ios.js","../../node_modules/core-js/internals/queue.js","../../node_modules/core-js/internals/microtask.js","../../node_modules/core-js/internals/engine-is-ios-pebble.js","../../node_modules/core-js/internals/engine-is-webos-webkit.js","../../node_modules/core-js/internals/perform.js","../../node_modules/core-js/internals/promise-native-constructor.js","../../node_modules/core-js/internals/engine-is-deno.js","../../node_modules/core-js/internals/engine-is-browser.js","../../node_modules/core-js/internals/promise-constructor-detection.js","../../node_modules/core-js/internals/new-promise-capability.js","../../node_modules/core-js/modules/es.promise.constructor.js","../../node_modules/core-js/internals/host-report-errors.js","../../node_modules/core-js/internals/iterators.js","../../node_modules/core-js/internals/is-array-iterator-method.js","../../node_modules/core-js/internals/get-iterator-method.js","../../node_modules/core-js/internals/get-iterator.js","../../node_modules/core-js/internals/iterator-close.js","../../node_modules/core-js/internals/iterate.js","../../node_modules/core-js/internals/check-correctness-of-iteration.js","../../node_modules/core-js/internals/promise-statics-incorrect-iteration.js","../../node_modules/core-js/modules/es.promise.all.js","../../node_modules/core-js/modules/es.promise.catch.js","../../node_modules/core-js/modules/es.promise.race.js","../../node_modules/core-js/modules/es.promise.reject.js","../../node_modules/core-js/internals/promise-resolve.js","../../node_modules/core-js/modules/es.promise.resolve.js","../../node_modules/@observablehq/plot/src/defined.js","../../node_modules/isoformat/src/format.js","../../node_modules/isoformat/src/parse.js","../../node_modules/@observablehq/plot/src/time.js","../../node_modules/@observablehq/plot/src/options.js","../../node_modules/@observablehq/plot/src/scales/index.js","../../node_modules/@observablehq/plot/src/symbol.js","../../node_modules/@observablehq/plot/src/warnings.js","../../node_modules/@observablehq/plot/src/projection.js","../../node_modules/@observablehq/plot/src/context.js","../../node_modules/@observablehq/plot/src/scales/schemes.js","../../node_modules/@observablehq/plot/src/scales/quantitative.js","../../node_modules/@observablehq/plot/src/scales/diverging.js","../../node_modules/@observablehq/plot/src/scales/temporal.js","../../node_modules/@observablehq/plot/src/scales/ordinal.js","../../node_modules/@observablehq/plot/src/scales.js","../../node_modules/@observablehq/plot/src/format.js","../../node_modules/@observablehq/plot/src/memoize.js","../../node_modules/@observablehq/plot/src/style.js","../../node_modules/@observablehq/plot/src/axes.js","../../node_modules/@observablehq/plot/src/legends/swatches.js","../../node_modules/@observablehq/plot/src/legends.js","../../node_modules/@observablehq/plot/src/legends/ramp.js","../../../src/plugins/Legend.ts"],"sourcesContent":["'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","'use strict';\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.34.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.34.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FUNCTION_NAME_EXISTS = require('../internals/function-name').EXISTS;\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\n\nvar FunctionPrototype = Function.prototype;\nvar functionToString = uncurryThis(FunctionPrototype.toString);\nvar nameRE = /function\\b(?:\\s|\\/\\*[\\S\\s]*?\\*\\/|\\/\\/[^\\n\\r]*[\\n\\r]+)*([^\\s(/]*)/;\nvar regExpExec = uncurryThis(nameRE.exec);\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !FUNCTION_NAME_EXISTS) {\n defineBuiltInAccessor(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return regExpExec(nameRE, functionToString(this))[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol('assign detection');\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\nvar $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar global = require('../internals/global');\nvar classof = require('../internals/classof-raw');\n\nmodule.exports = classof(global.process) === 'process';\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineBuiltInAccessor(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar Dispatch = global.Dispatch;\nvar Function = global.Function;\nvar MessageChannel = global.MessageChannel;\nvar String = global.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar $location, defer, channel, port;\n\nfails(function () {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n $location = global.location;\n});\n\nvar run = function (id) {\n if (hasOwn(queue, id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar eventListener = function (event) {\n run(event.data);\n};\n\nvar globalPostMessageDefer = function (id) {\n // old engines have not location.origin\n global.postMessage(String(id), $location.protocol + '//' + $location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = eventListener;\n defer = bind(port.postMessage, port);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n isCallable(global.postMessage) &&\n !global.importScripts &&\n $location && $location.protocol !== 'file:' &&\n !fails(globalPostMessageDefer)\n ) {\n defer = globalPostMessageDefer;\n global.addEventListener('message', eventListener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","'use strict';\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw new $TypeError('Not enough arguments');\n return passed;\n};\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\n// eslint-disable-next-line redos/no-vulnerable -- safe\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","'use strict';\nvar Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n var tail = this.tail;\n if (tail) tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n var next = this.head = entry.next;\n if (next === null) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","'use strict';\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar Queue = require('../internals/queue');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/engine-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar microtask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\nvar notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!microtask) {\n var queue = new Queue();\n\n var flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (fn = queue.get()) try {\n fn();\n } catch (error) {\n if (queue.head) notify();\n throw error;\n }\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = bind(promise.then, promise);\n notify = function () {\n then(flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessage\n // - onreadystatechange\n // - setTimeout\n } else {\n // `webpack` dev server bug on IE global methods - use bind(fn, global)\n macrotask = bind(macrotask, global);\n notify = function () {\n macrotask(flush);\n };\n }\n\n microtask = function (fn) {\n if (!queue.head) notify();\n queue.add(fn);\n };\n}\n\nmodule.exports = microtask;\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined';\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict';\nvar global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","'use strict';\n/* global Deno -- Deno case */\nmodule.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object';\n","'use strict';\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nmodule.exports = !IS_DENO && !IS_NODE\n && typeof window == 'object'\n && typeof document == 'object';\n","'use strict';\nvar global = require('../internals/global');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {\n // Detect correctness of subclassing with @@species support\n var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n } return !GLOBAL_CORE_JS_PROMISE && (IS_BROWSER || IS_DENO) && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n SUBCLASSING: SUBCLASSING\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/engine-is-node');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state === FULFILLED;\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(new TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n call(then, result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw new TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n call(then, value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalPromiseState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n\n PromisePrototype = PromiseConstructor.prototype;\n\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: new Queue(),\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state === PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n });\n\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalPromiseState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!NATIVE_PROMISE_SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromisePrototype);\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","'use strict';\nmodule.exports = function (a, b) {\n try {\n // eslint-disable-next-line no-console -- safe\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n } catch (error) { /* empty */ }\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n try {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n } catch (error) { return false; } // workaround of old WebKit + `eval` bug\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","'use strict';\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call($promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['catch'];\n if (NativePromisePrototype['catch'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n reject: function reject(r) {\n var capability = newPromiseCapabilityModule.f(this);\n call(capability.reject, undefined, r);\n return capability.promise;\n }\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n","import {ascending, descending} from \"d3\";\n\nexport function defined(x) {\n return x != null && !Number.isNaN(x);\n}\n\nexport function ascendingDefined(a, b) {\n return +defined(b) - +defined(a) || ascending(a, b);\n}\n\nexport function descendingDefined(a, b) {\n return +defined(b) - +defined(a) || descending(a, b);\n}\n\nexport function nonempty(x) {\n return x != null && `${x}` !== \"\";\n}\n\nexport function finite(x) {\n return isFinite(x) ? x : NaN;\n}\n\nexport function positive(x) {\n return x > 0 && isFinite(x) ? x : NaN;\n}\n\nexport function negative(x) {\n return x < 0 && isFinite(x) ? x : NaN;\n}\n","export default function format(date, fallback) {\n if (!(date instanceof Date)) date = new Date(+date);\n if (isNaN(date)) return typeof fallback === \"function\" ? fallback(date) : fallback;\n const hours = date.getUTCHours();\n const minutes = date.getUTCMinutes();\n const seconds = date.getUTCSeconds();\n const milliseconds = date.getUTCMilliseconds();\n return `${formatYear(date.getUTCFullYear(), 4)}-${pad(date.getUTCMonth() + 1, 2)}-${pad(date.getUTCDate(), 2)}${\n hours || minutes || seconds || milliseconds ? `T${pad(hours, 2)}:${pad(minutes, 2)}${\n seconds || milliseconds ? `:${pad(seconds, 2)}${\n milliseconds ? `.${pad(milliseconds, 3)}` : ``\n }` : ``\n }Z` : ``\n }`;\n}\n\nfunction formatYear(year) {\n return year < 0 ? `-${pad(-year, 6)}`\n : year > 9999 ? `+${pad(year, 6)}`\n : pad(year, 4);\n}\n\nfunction pad(value, width) {\n return `${value}`.padStart(width, \"0\");\n}\n","const re = /^(?:[-+]\\d{2})?\\d{4}(?:-\\d{2}(?:-\\d{2})?)?(?:T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{3})?)?(?:Z|[-+]\\d{2}:?\\d{2})?)?$/;\n\nexport default function parse(string, fallback) {\n if (!re.test(string += \"\")) return typeof fallback === \"function\" ? fallback(string) : fallback;\n return new Date(string);\n}\n","import {utcSecond, utcMinute, utcHour, utcDay, utcWeek, utcMonth, utcYear} from \"d3\";\nimport {utcMonday, utcTuesday, utcWednesday, utcThursday, utcFriday, utcSaturday, utcSunday} from \"d3\";\nimport {timeSecond, timeMinute, timeHour, timeDay, timeWeek, timeMonth, timeYear} from \"d3\";\nimport {timeMonday, timeTuesday, timeWednesday, timeThursday, timeFriday, timeSaturday, timeSunday} from \"d3\";\n\nconst timeIntervals = new Map([\n [\"second\", timeSecond],\n [\"minute\", timeMinute],\n [\"hour\", timeHour],\n [\"day\", timeDay],\n [\"week\", timeWeek],\n [\"month\", timeMonth],\n [\"quarter\", timeMonth.every(3)],\n [\"half\", timeMonth.every(6)],\n [\"year\", timeYear],\n [\"monday\", timeMonday],\n [\"tuesday\", timeTuesday],\n [\"wednesday\", timeWednesday],\n [\"thursday\", timeThursday],\n [\"friday\", timeFriday],\n [\"saturday\", timeSaturday],\n [\"sunday\", timeSunday]\n]);\n\nconst utcIntervals = new Map([\n [\"second\", utcSecond],\n [\"minute\", utcMinute],\n [\"hour\", utcHour],\n [\"day\", utcDay],\n [\"week\", utcWeek],\n [\"month\", utcMonth],\n [\"quarter\", utcMonth.every(3)],\n [\"half\", utcMonth.every(6)],\n [\"year\", utcYear],\n [\"monday\", utcMonday],\n [\"tuesday\", utcTuesday],\n [\"wednesday\", utcWednesday],\n [\"thursday\", utcThursday],\n [\"friday\", utcFriday],\n [\"saturday\", utcSaturday],\n [\"sunday\", utcSunday]\n]);\n\nexport function maybeTimeInterval(interval) {\n const i = timeIntervals.get(`${interval}`.toLowerCase());\n if (!i) throw new Error(`unknown interval: ${interval}`);\n return i;\n}\n\nexport function maybeUtcInterval(interval) {\n const i = utcIntervals.get(`${interval}`.toLowerCase());\n if (!i) throw new Error(`unknown interval: ${interval}`);\n return i;\n}\n","import {parse as isoParse} from \"isoformat\";\nimport {color, descending, range as rangei, quantile} from \"d3\";\nimport {maybeTimeInterval, maybeUtcInterval} from \"./time.js\";\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray\nexport const TypedArray = Object.getPrototypeOf(Uint8Array);\nconst objectToString = Object.prototype.toString;\n\nexport function valueof(data, value, type) {\n const valueType = typeof value;\n return valueType === \"string\"\n ? maybeTypedMap(data, field(value), type)\n : valueType === \"function\"\n ? maybeTypedMap(data, value, type)\n : valueType === \"number\" || value instanceof Date || valueType === \"boolean\"\n ? map(data, constant(value), type)\n : typeof value?.transform === \"function\"\n ? maybeTypedArrayify(value.transform(data), type)\n : maybeTypedArrayify(value, type);\n}\n\nfunction maybeTypedMap(data, f, type) {\n return map(data, type?.prototype instanceof TypedArray ? floater(f) : f, type);\n}\n\nfunction maybeTypedArrayify(data, type) {\n return type === undefined\n ? arrayify(data) // preserve undefined type\n : data instanceof type\n ? data\n : type.prototype instanceof TypedArray && !(data instanceof TypedArray)\n ? type.from(data, coerceNumber)\n : type.from(data);\n}\n\nfunction floater(f) {\n return (d, i) => coerceNumber(f(d, i));\n}\n\nexport const field = (name) => (d) => d[name];\nexport const indexOf = {transform: range};\nexport const identity = {transform: (d) => d};\nexport const zero = () => 0;\nexport const one = () => 1;\nexport const yes = () => true;\nexport const string = (x) => (x == null ? x : `${x}`);\nexport const number = (x) => (x == null ? x : +x);\nexport const boolean = (x) => (x == null ? x : !!x);\nexport const first = (x) => (x ? x[0] : undefined);\nexport const second = (x) => (x ? x[1] : undefined);\nexport const third = (x) => (x ? x[2] : undefined);\nexport const constant = (x) => () => x;\n\n// Converts a string like “p25” into a function that takes an index I and an\n// accessor function f, returning the corresponding percentile value.\nexport function percentile(reduce) {\n const p = +`${reduce}`.slice(1) / 100;\n return (I, f) => quantile(I, p, f);\n}\n\n// If the values are specified as a typed array, no coercion is required.\nexport function coerceNumbers(values) {\n return values instanceof TypedArray ? values : map(values, coerceNumber, Float64Array);\n}\n\n// Unlike Mark’s number, here we want to convert null and undefined to NaN since\n// the result will be stored in a Float64Array and we don’t want null to be\n// coerced to zero. We use Number instead of unary + to allow BigInt coercion.\nfunction coerceNumber(x) {\n return x == null ? NaN : Number(x);\n}\n\nexport function coerceDates(values) {\n return map(values, coerceDate);\n}\n\n// When coercing strings to dates, we only want to allow the ISO 8601 format\n// since the built-in string parsing of the Date constructor varies across\n// browsers. (In the future, this could be made more liberal if desired, though\n// it is still generally preferable to do date parsing yourself explicitly,\n// rather than rely on Plot.) Any non-string values are coerced to number first\n// and treated as milliseconds since UNIX epoch.\nexport function coerceDate(x) {\n return x instanceof Date && !isNaN(x)\n ? x\n : typeof x === \"string\"\n ? isoParse(x)\n : x == null || isNaN((x = +x))\n ? undefined\n : new Date(x);\n}\n\n// Some channels may allow a string constant to be specified; to differentiate\n// string constants (e.g., \"red\") from named fields (e.g., \"date\"), this\n// function tests whether the given value is a CSS color string and returns a\n// tuple [channel, constant] where one of the two is undefined, and the other is\n// the given value. If you wish to reference a named field that is also a valid\n// CSS color, use an accessor (d => d.red) instead.\nexport function maybeColorChannel(value, defaultValue) {\n if (value === undefined) value = defaultValue;\n return value === null ? [undefined, \"none\"] : isColor(value) ? [undefined, value] : [value, undefined];\n}\n\n// Similar to maybeColorChannel, this tests whether the given value is a number\n// indicating a constant, and otherwise assumes that it’s a channel value.\nexport function maybeNumberChannel(value, defaultValue) {\n if (value === undefined) value = defaultValue;\n return value === null || typeof value === \"number\" ? [undefined, value] : [value, undefined];\n}\n\n// Validates the specified optional string against the allowed list of keywords.\nexport function maybeKeyword(input, name, allowed) {\n if (input != null) return keyword(input, name, allowed);\n}\n\n// Validates the specified required string against the allowed list of keywords.\nexport function keyword(input, name, allowed) {\n const i = `${input}`.toLowerCase();\n if (!allowed.includes(i)) throw new Error(`invalid ${name}: ${input}`);\n return i;\n}\n\n// Promotes the specified data to an array as needed.\nexport function arrayify(data) {\n return data == null || data instanceof Array || data instanceof TypedArray ? data : Array.from(data);\n}\n\n// An optimization of type.from(values, f): if the given values are already an\n// instanceof the desired array type, the faster values.map method is used.\nexport function map(values, f, type = Array) {\n return values == null ? values : values instanceof type ? values.map(f) : type.from(values, f);\n}\n\n// An optimization of type.from(values): if the given values are already an\n// instanceof the desired array type, the faster values.slice method is used.\nexport function slice(values, type = Array) {\n return values instanceof type ? values.slice() : type.from(values);\n}\n\n// Disambiguates an options object (e.g., {y: \"x2\"}) from a primitive value.\nexport function isObject(option) {\n return option?.toString === objectToString;\n}\n\n// Disambiguates a scale options object (e.g., {color: {type: \"linear\"}}) from\n// some other option (e.g., {color: \"red\"}). When creating standalone legends,\n// this is used to test whether a scale is defined; this should be consistent\n// with inferScaleType when there are no channels associated with the scale, and\n// if this returns true, then normalizeScale must return non-null.\nexport function isScaleOptions(option) {\n return isObject(option) && (option.type !== undefined || option.domain !== undefined);\n}\n\n// Disambiguates an options object (e.g., {y: \"x2\"}) from a channel value\n// definition expressed as a channel transform (e.g., {transform: …}).\nexport function isOptions(option) {\n return isObject(option) && typeof option.transform !== \"function\";\n}\n\n// Disambiguates a sort transform (e.g., {sort: \"date\"}) from a channel domain\n// sort definition (e.g., {sort: {y: \"x\"}}).\nexport function isDomainSort(sort) {\n return isOptions(sort) && sort.value === undefined && sort.channel === undefined;\n}\n\n// For marks specified either as [0, x] or [x1, x2], such as areas and bars.\nexport function maybeZero(x, x1, x2, x3 = identity) {\n if (x1 === undefined && x2 === undefined) {\n // {x} or {}\n (x1 = 0), (x2 = x === undefined ? x3 : x);\n } else if (x1 === undefined) {\n // {x, x2} or {x2}\n x1 = x === undefined ? 0 : x;\n } else if (x2 === undefined) {\n // {x, x1} or {x1}\n x2 = x === undefined ? 0 : x;\n }\n return [x1, x2];\n}\n\n// For marks that have x and y channels (e.g., cell, dot, line, text).\nexport function maybeTuple(x, y) {\n return x === undefined && y === undefined ? [first, second] : [x, y];\n}\n\n// A helper for extracting the z channel, if it is variable. Used by transforms\n// that require series, such as moving average and normalize.\nexport function maybeZ({z, fill, stroke} = {}) {\n if (z === undefined) [z] = maybeColorChannel(fill);\n if (z === undefined) [z] = maybeColorChannel(stroke);\n return z;\n}\n\n// Returns a Uint32Array with elements [0, 1, 2, … data.length - 1].\nexport function range(data) {\n const n = data.length;\n const r = new Uint32Array(n);\n for (let i = 0; i < n; ++i) r[i] = i;\n return r;\n}\n\n// Returns a filtered range of data given the test function.\nexport function where(data, test) {\n return range(data).filter((i) => test(data[i], i, data));\n}\n\n// Returns an array [values[index[0]], values[index[1]], …].\nexport function take(values, index) {\n return map(index, (i) => values[i]);\n}\n\n// Based on InternMap (d3.group).\nexport function keyof(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n}\n\nexport function maybeInput(key, options) {\n if (options[key] !== undefined) return options[key];\n switch (key) {\n case \"x1\":\n case \"x2\":\n key = \"x\";\n break;\n case \"y1\":\n case \"y2\":\n key = \"y\";\n break;\n }\n return options[key];\n}\n\nexport function column(source) {\n // Defines a column whose values are lazily populated by calling the returned\n // setter. If the given source is labeled, the label is propagated to the\n // returned column definition.\n let value;\n return [\n {\n transform: () => value,\n label: labelof(source)\n },\n (v) => (value = v)\n ];\n}\n\n// Like column, but allows the source to be null.\nexport function maybeColumn(source) {\n return source == null ? [source] : column(source);\n}\n\nexport function labelof(value, defaultValue) {\n return typeof value === \"string\" ? value : value && value.label !== undefined ? value.label : defaultValue;\n}\n\n// Assuming that both x1 and x2 and lazy columns (per above), this derives a new\n// a column that’s the average of the two, and which inherits the column label\n// (if any). Both input columns are assumed to be quantitative. If either column\n// is temporal, the returned column is also temporal.\nexport function mid(x1, x2) {\n return {\n transform(data) {\n const X1 = x1.transform(data);\n const X2 = x2.transform(data);\n return isTemporal(X1) || isTemporal(X2)\n ? map(X1, (_, i) => new Date((+X1[i] + +X2[i]) / 2))\n : map(X1, (_, i) => (+X1[i] + +X2[i]) / 2, Float64Array);\n },\n label: x1.label\n };\n}\n\n// If interval is not nullish, converts interval shorthand such as a number (for\n// multiples) or a time interval name (such as “day”) to a {floor, offset,\n// range} object similar to a D3 time interval.\nexport function maybeInterval(interval, type) {\n if (interval == null) return;\n if (typeof interval === \"number\") {\n if (0 < interval && interval < 1 && Number.isInteger(1 / interval)) interval = -1 / interval;\n const n = Math.abs(interval);\n return interval < 0\n ? {\n floor: (d) => Math.floor(d * n) / n,\n offset: (d) => (d * n + 1) / n, // note: no optional step for simplicity\n range: (lo, hi) => rangei(Math.ceil(lo * n), hi * n).map((x) => x / n)\n }\n : {\n floor: (d) => Math.floor(d / n) * n,\n offset: (d) => d + n, // note: no optional step for simplicity\n range: (lo, hi) => rangei(Math.ceil(lo / n), hi / n).map((x) => x * n)\n };\n }\n if (typeof interval === \"string\") return (type === \"time\" ? maybeTimeInterval : maybeUtcInterval)(interval);\n if (typeof interval.floor !== \"function\") throw new Error(\"invalid interval; missing floor method\");\n if (typeof interval.offset !== \"function\") throw new Error(\"invalid interval; missing offset method\");\n return interval;\n}\n\n// Like maybeInterval, but requires a range method too.\nexport function maybeRangeInterval(interval, type) {\n interval = maybeInterval(interval, type);\n if (interval && typeof interval.range !== \"function\") throw new Error(\"invalid interval: missing range method\");\n return interval;\n}\n\n// Like maybeRangeInterval, but requires a ceil method too.\nexport function maybeNiceInterval(interval, type) {\n interval = maybeRangeInterval(interval, type);\n if (interval && typeof interval.ceil !== \"function\") throw new Error(\"invalid interval: missing ceil method\");\n return interval;\n}\n\n// This distinguishes between per-dimension options and a standalone value.\nexport function maybeValue(value) {\n return value === undefined || isOptions(value) ? value : {value};\n}\n\n// Coerces the given channel values (if any) to numbers. This is useful when\n// values will be interpolated into other code, such as an SVG transform, and\n// where we don’t wish to allow unexpected behavior for weird input.\nexport function numberChannel(source) {\n return source == null\n ? null\n : {\n transform: (data) => valueof(data, source, Float64Array),\n label: labelof(source)\n };\n}\n\nexport function isTuples(data) {\n if (!isIterable(data)) return false;\n for (const d of data) {\n if (d == null) continue;\n return typeof d === \"object\" && \"0\" in d && \"1\" in d;\n }\n}\n\nexport function isIterable(value) {\n return value && typeof value[Symbol.iterator] === \"function\";\n}\n\nexport function isTextual(values) {\n for (const value of values) {\n if (value == null) continue;\n return typeof value !== \"object\" || value instanceof Date;\n }\n}\n\nexport function isOrdinal(values) {\n for (const value of values) {\n if (value == null) continue;\n const type = typeof value;\n return type === \"string\" || type === \"boolean\";\n }\n}\n\nexport function isTemporal(values) {\n for (const value of values) {\n if (value == null) continue;\n return value instanceof Date;\n }\n}\n\n// Are these strings that might represent dates? This is stricter than ISO 8601\n// because we want to ignore false positives on numbers; for example, the string\n// \"1192\" is more likely to represent a number than a date even though it is\n// valid ISO 8601 representing 1192-01-01.\nexport function isTemporalString(values) {\n for (const value of values) {\n if (value == null) continue;\n return typeof value === \"string\" && isNaN(value) && isoParse(value);\n }\n}\n\n// Are these strings that might represent numbers? This is stricter than\n// coercion because we want to ignore false positives on e.g. empty strings.\nexport function isNumericString(values) {\n for (const value of values) {\n if (value == null) continue;\n if (typeof value !== \"string\") return false;\n if (!value.trim()) continue;\n return !isNaN(value);\n }\n}\n\nexport function isNumeric(values) {\n for (const value of values) {\n if (value == null) continue;\n return typeof value === \"number\";\n }\n}\n\n// Returns true if every non-null value in the specified iterable of values\n// passes the specified predicate, and there is at least one non-null value;\n// returns false if at least one non-null value does not pass the specified\n// predicate; otherwise returns undefined (as if all values are null).\nexport function isEvery(values, is) {\n let every;\n for (const value of values) {\n if (value == null) continue;\n if (!is(value)) return false;\n every = true;\n }\n return every;\n}\n\n// Mostly relies on d3-color, with a few extra color keywords. Currently this\n// strictly requires that the value be a string; we might want to apply string\n// coercion here, though note that d3-color instances would need to support\n// valueOf to work correctly with InternMap.\n// https://www.w3.org/TR/SVG11/painting.html#SpecifyingPaint\nexport function isColor(value) {\n if (typeof value !== \"string\") return false;\n value = value.toLowerCase().trim();\n return (\n value === \"none\" ||\n value === \"currentcolor\" ||\n (value.startsWith(\"url(\") && value.endsWith(\")\")) || // , e.g. pattern or gradient\n (value.startsWith(\"var(\") && value.endsWith(\")\")) || // CSS variable\n color(value) !== null\n );\n}\n\nexport function isOpacity(value) {\n return typeof value === \"number\" && ((0 <= value && value <= 1) || isNaN(value));\n}\n\nexport function isNoneish(value) {\n return value == null || isNone(value);\n}\n\nexport function isNone(value) {\n return /^\\s*none\\s*$/i.test(value);\n}\n\nexport function isRound(value) {\n return /^\\s*round\\s*$/i.test(value);\n}\n\nexport function maybeFrameAnchor(value = \"middle\") {\n return keyword(value, \"frameAnchor\", [\n \"middle\",\n \"top-left\",\n \"top\",\n \"top-right\",\n \"right\",\n \"bottom-right\",\n \"bottom\",\n \"bottom-left\",\n \"left\"\n ]);\n}\n\n// Like a sort comparator, returns a positive value if the given array of values\n// is in ascending order, a negative value if the values are in descending\n// order. Assumes monotonicity; only tests the first and last values.\nexport function orderof(values) {\n if (values == null) return;\n const first = values[0];\n const last = values[values.length - 1];\n return descending(first, last);\n}\n\n// Unlike {...defaults, ...options}, this ensures that any undefined (but\n// present) properties in options inherit the given default value.\nexport function inherit(options = {}, ...rest) {\n let o = options;\n for (const defaults of rest) {\n for (const key in defaults) {\n if (o[key] === undefined) {\n const value = defaults[key];\n if (o === options) o = {...o, [key]: value};\n else o[key] = value;\n }\n }\n }\n return o;\n}\n\n// Given an iterable of named things (objects with a name property), returns a\n// corresponding object with properties associated with the given name.\nexport function named(things) {\n console.warn(\"named iterables are deprecated; please use an object instead\");\n const names = new Set();\n return Object.fromEntries(\n Array.from(things, (thing) => {\n const {name} = thing;\n if (name == null) throw new Error(\"missing name\");\n const key = `${name}`;\n if (key === \"__proto__\") throw new Error(`illegal name: ${key}`);\n if (names.has(key)) throw new Error(`duplicate name: ${key}`);\n names.add(key);\n return [name, thing];\n })\n );\n}\n\nexport function maybeNamed(things) {\n return isIterable(things) ? named(things) : things;\n}\n","// Positional scales have associated axes, and for ordinal data, a point or band\n// scale is used instead of an ordinal scale.\nexport const position = Symbol(\"position\");\n\n// Color scales default to the turbo interpolator for quantitative data, and to\n// the Tableau10 scheme for ordinal data. Color scales may also have an\n// associated legend.\nexport const color = Symbol(\"color\");\n\n// Radius scales default to the sqrt type, have a default range of [0, 3], and a\n// default domain from 0 to the median first quartile of associated channels.\nexport const radius = Symbol(\"radius\");\n\n// Length scales default to the linear type, have a default range of [0, 12],\n// and a default domain from 0 to the median median of associated channels.\nexport const length = Symbol(\"length\");\n\n// Opacity scales have a default range of [0, 1], and a default domain from 0 to\n// the maximum value of associated channels.\nexport const opacity = Symbol(\"opacity\");\n\n// Symbol scales have a default range of categorical symbols.\nexport const symbol = Symbol(\"symbol\");\n\n// TODO Rather than hard-coding the list of known scale names, collect the names\n// and categories for each plot specification, so that custom marks can register\n// custom scales.\nexport const registry = new Map([\n [\"x\", position],\n [\"y\", position],\n [\"fx\", position],\n [\"fy\", position],\n [\"r\", radius],\n [\"color\", color],\n [\"opacity\", opacity],\n [\"symbol\", symbol],\n [\"length\", length]\n]);\n","import {symbolAsterisk, symbolDiamond2, symbolPlus, symbolSquare2, symbolTriangle2, symbolTimes} from \"d3\";\nimport {symbolCircle, symbolCross, symbolDiamond, symbolSquare, symbolStar, symbolTriangle, symbolWye} from \"d3\";\n\nexport const sqrt3 = Math.sqrt(3);\nexport const sqrt4_3 = 2 / sqrt3;\n\nconst symbolHexagon = {\n draw(context, size) {\n const rx = Math.sqrt(size / Math.PI),\n ry = rx * sqrt4_3,\n hy = ry / 2;\n context.moveTo(0, ry);\n context.lineTo(rx, hy);\n context.lineTo(rx, -hy);\n context.lineTo(0, -ry);\n context.lineTo(-rx, -hy);\n context.lineTo(-rx, hy);\n context.closePath();\n }\n};\n\nconst symbols = new Map([\n [\"asterisk\", symbolAsterisk],\n [\"circle\", symbolCircle],\n [\"cross\", symbolCross],\n [\"diamond\", symbolDiamond],\n [\"diamond2\", symbolDiamond2],\n [\"hexagon\", symbolHexagon],\n [\"plus\", symbolPlus],\n [\"square\", symbolSquare],\n [\"square2\", symbolSquare2],\n [\"star\", symbolStar],\n [\"times\", symbolTimes],\n [\"triangle\", symbolTriangle],\n [\"triangle2\", symbolTriangle2],\n [\"wye\", symbolWye]\n]);\n\nfunction isSymbolObject(value) {\n return value && typeof value.draw === \"function\";\n}\n\nexport function isSymbol(value) {\n if (isSymbolObject(value)) return true;\n if (typeof value !== \"string\") return false;\n return symbols.has(value.toLowerCase());\n}\n\nexport function maybeSymbol(symbol) {\n if (symbol == null || isSymbolObject(symbol)) return symbol;\n const value = symbols.get(`${symbol}`.toLowerCase());\n if (value) return value;\n throw new Error(`invalid symbol: ${symbol}`);\n}\n\nexport function maybeSymbolChannel(symbol) {\n if (symbol == null || isSymbolObject(symbol)) return [undefined, symbol];\n if (typeof symbol === \"string\") {\n const value = symbols.get(`${symbol}`.toLowerCase());\n if (value) return [undefined, value];\n }\n return [symbol, undefined];\n}\n","let warnings = 0;\n\nexport function consumeWarnings() {\n const w = warnings;\n warnings = 0;\n return w;\n}\n\nexport function warn(message) {\n console.warn(message);\n ++warnings;\n}\n","import {\n geoAlbers,\n geoAlbersUsa,\n geoAzimuthalEqualArea,\n geoAzimuthalEquidistant,\n geoClipRectangle,\n geoConicConformal,\n geoConicEqualArea,\n geoConicEquidistant,\n geoEqualEarth,\n geoEquirectangular,\n geoGnomonic,\n geoMercator,\n geoOrthographic,\n geoPath,\n geoStereographic,\n geoTransform,\n geoTransverseMercator\n} from \"d3\";\nimport {valueObject} from \"./channel.js\";\nimport {coerceNumbers, constant, isObject} from \"./options.js\";\nimport {warn} from \"./warnings.js\";\n\nconst pi = Math.PI;\nconst tau = 2 * pi;\nconst defaultAspectRatio = 0.618;\n\nexport function createProjection(\n {\n projection,\n inset: globalInset = 0,\n insetTop = globalInset,\n insetRight = globalInset,\n insetBottom = globalInset,\n insetLeft = globalInset\n } = {},\n dimensions\n) {\n if (projection == null) return;\n if (typeof projection.stream === \"function\") return projection; // d3 projection\n let options;\n let domain;\n let clip = \"frame\";\n\n // If the projection was specified as an object with additional options,\n // extract those. The order of precedence for insetTop (and other insets) is:\n // projection.insetTop, projection.inset, (global) insetTop, (global) inset.\n // Any other options on this object will be passed through to the initializer.\n if (isObject(projection)) {\n let inset;\n ({\n type: projection,\n domain,\n inset,\n insetTop = inset !== undefined ? inset : insetTop,\n insetRight = inset !== undefined ? inset : insetRight,\n insetBottom = inset !== undefined ? inset : insetBottom,\n insetLeft = inset !== undefined ? inset : insetLeft,\n clip = clip,\n ...options\n } = projection);\n if (projection == null) return;\n }\n\n // For named projections, retrieve the corresponding projection initializer.\n if (typeof projection !== \"function\") ({type: projection} = namedProjection(projection));\n\n // Compute the frame dimensions and invoke the projection initializer.\n const {width, height, marginLeft, marginRight, marginTop, marginBottom} = dimensions;\n const dx = width - marginLeft - marginRight - insetLeft - insetRight;\n const dy = height - marginTop - marginBottom - insetTop - insetBottom;\n projection = projection?.({width: dx, height: dy, clip, ...options});\n\n // The projection initializer might decide to not use a projection.\n if (projection == null) return;\n clip = maybePostClip(clip, marginLeft, marginTop, width - marginRight, height - marginBottom);\n\n // Translate the origin to the top-left corner, respecting margins and insets.\n let tx = marginLeft + insetLeft;\n let ty = marginTop + insetTop;\n let transform;\n\n // If a domain is specified, fit the projection to the frame.\n if (domain != null) {\n const [[x0, y0], [x1, y1]] = geoPath(projection).bounds(domain);\n const k = Math.min(dx / (x1 - x0), dy / (y1 - y0));\n if (k > 0) {\n tx -= (k * (x0 + x1) - dx) / 2;\n ty -= (k * (y0 + y1) - dy) / 2;\n transform = geoTransform({\n point(x, y) {\n this.stream.point(x * k + tx, y * k + ty);\n }\n });\n } else {\n warn(`Warning: the projection could not be fit to the specified domain; using the default scale.`);\n }\n }\n\n transform ??=\n tx === 0 && ty === 0\n ? identity()\n : geoTransform({\n point(x, y) {\n this.stream.point(x + tx, y + ty);\n }\n });\n\n return {stream: (s) => projection.stream(transform.stream(clip(s)))};\n}\n\nfunction namedProjection(projection) {\n switch (`${projection}`.toLowerCase()) {\n case \"albers-usa\":\n return scaleProjection(geoAlbersUsa, 0.7463, 0.4673);\n case \"albers\":\n return conicProjection(geoAlbers, 0.7463, 0.4673);\n case \"azimuthal-equal-area\":\n return scaleProjection(geoAzimuthalEqualArea, 4, 4);\n case \"azimuthal-equidistant\":\n return scaleProjection(geoAzimuthalEquidistant, tau, tau);\n case \"conic-conformal\":\n return conicProjection(geoConicConformal, tau, tau);\n case \"conic-equal-area\":\n return conicProjection(geoConicEqualArea, 6.1702, 2.9781);\n case \"conic-equidistant\":\n return conicProjection(geoConicEquidistant, 7.312, 3.6282);\n case \"equal-earth\":\n return scaleProjection(geoEqualEarth, 5.4133, 2.6347);\n case \"equirectangular\":\n return scaleProjection(geoEquirectangular, tau, pi);\n case \"gnomonic\":\n return scaleProjection(geoGnomonic, 3.4641, 3.4641);\n case \"identity\":\n return {type: identity};\n case \"reflect-y\":\n return {type: reflectY};\n case \"mercator\":\n return scaleProjection(geoMercator, tau, tau);\n case \"orthographic\":\n return scaleProjection(geoOrthographic, 2, 2);\n case \"stereographic\":\n return scaleProjection(geoStereographic, 2, 2);\n case \"transverse-mercator\":\n return scaleProjection(geoTransverseMercator, tau, tau);\n default:\n throw new Error(`unknown projection type: ${projection}`);\n }\n}\n\nfunction maybePostClip(clip, x1, y1, x2, y2) {\n if (clip === false || clip == null || typeof clip === \"number\") return (s) => s;\n if (clip === true) clip = \"frame\";\n switch (`${clip}`.toLowerCase()) {\n case \"frame\":\n return geoClipRectangle(x1, y1, x2, y2);\n default:\n throw new Error(`unknown projection clip type: ${clip}`);\n }\n}\n\nfunction scaleProjection(createProjection, kx, ky) {\n return {\n type: ({width, height, rotate, precision = 0.15, clip}) => {\n const projection = createProjection();\n if (precision != null) projection.precision?.(precision);\n if (rotate != null) projection.rotate?.(rotate);\n if (typeof clip === \"number\") projection.clipAngle?.(clip);\n projection.scale(Math.min(width / kx, height / ky));\n projection.translate([width / 2, height / 2]);\n return projection;\n },\n aspectRatio: ky / kx\n };\n}\n\nfunction conicProjection(createProjection, kx, ky) {\n const {type, aspectRatio} = scaleProjection(createProjection, kx, ky);\n return {\n type: (options) => {\n const {parallels, domain, width, height} = options;\n const projection = type(options);\n if (parallels != null) {\n projection.parallels(parallels);\n if (domain === undefined) {\n projection.fitSize([width, height], {type: \"Sphere\"});\n }\n }\n return projection;\n },\n aspectRatio\n };\n}\n\nconst identity = constant({stream: (stream) => stream});\n\nconst reflectY = constant(\n geoTransform({\n point(x, y) {\n this.stream.point(x, -y);\n }\n })\n);\n\n// Applies a point-wise projection to the given paired x and y channels.\n// Note: mutates values!\nexport function maybeProject(cx, cy, channels, values, context) {\n const x = channels[cx] && channels[cx].scale === \"x\";\n const y = channels[cy] && channels[cy].scale === \"y\";\n if (x && y) {\n project(cx, cy, values, context.projection);\n } else if (x) {\n throw new Error(`projection requires paired x and y channels; ${cx} is missing ${cy}`);\n } else if (y) {\n throw new Error(`projection requires paired x and y channels; ${cy} is missing ${cx}`);\n }\n}\n\nfunction project(cx, cy, values, projection) {\n const x = values[cx];\n const y = values[cy];\n const n = x.length;\n const X = (values[cx] = new Float64Array(n).fill(NaN));\n const Y = (values[cy] = new Float64Array(n).fill(NaN));\n let i;\n const stream = projection.stream({\n point(x, y) {\n X[i] = x;\n Y[i] = y;\n }\n });\n for (i = 0; i < n; ++i) {\n stream.point(x[i], y[i]);\n }\n}\n\n// When a named projection is specified, we can use its natural aspect ratio to\n// determine a good value for the projection’s height based on the desired\n// width. When we don’t have a way to know, the golden ratio is our best guess.\n// Due to a circular dependency (we need to know the height before we can\n// construct the projection), we have to test the raw projection option rather\n// than the materialized projection; therefore we must be extremely careful that\n// the logic of this function exactly matches Projection above!\nexport function projectionAspectRatio(projection, marks) {\n if (typeof projection?.stream === \"function\") return defaultAspectRatio;\n if (isObject(projection)) projection = projection.type;\n if (projection == null) return hasGeometry(marks) ? defaultAspectRatio : undefined;\n if (typeof projection !== \"function\") {\n const {aspectRatio} = namedProjection(projection);\n if (aspectRatio) return aspectRatio;\n }\n return defaultAspectRatio;\n}\n\n// Extract the (possibly) scaled values for the x and y channels, and apply the\n// projection if any.\nexport function applyPosition(channels, scales, context) {\n const {x, y} = channels;\n let position = {};\n if (x) position.x = x;\n if (y) position.y = y;\n position = valueObject(position, scales);\n if (context.projection) maybeProject(\"x\", \"y\", channels, position, context);\n if (x) position.x = coerceNumbers(position.x);\n if (y) position.y = coerceNumbers(position.y);\n return position;\n}\n\nfunction hasGeometry(marks) {\n for (const mark of marks) if (mark.channels.geometry) return true;\n return false;\n}\n","import {creator, select} from \"d3\";\nimport {createProjection} from \"./projection.js\";\n\nexport function createContext(options = {}, dimensions, className) {\n const {document = typeof window !== \"undefined\" ? window.document : undefined} = options;\n return {document, className, projection: createProjection(options, dimensions)};\n}\n\nexport function create(name, {document}) {\n return select(creator(name).call(document.documentElement));\n}\n","import {\n interpolateBlues,\n interpolateBrBG,\n interpolateBuGn,\n interpolateBuPu,\n interpolateGnBu,\n interpolateGreens,\n interpolateGreys,\n interpolateOranges,\n interpolateOrRd,\n interpolatePiYG,\n interpolatePRGn,\n interpolatePuBu,\n interpolatePuBuGn,\n interpolatePuOr,\n interpolatePuRd,\n interpolatePurples,\n interpolateRdBu,\n interpolateRdGy,\n interpolateRdPu,\n interpolateRdYlBu,\n interpolateRdYlGn,\n interpolateReds,\n interpolateSpectral,\n interpolateYlGn,\n interpolateYlGnBu,\n interpolateYlOrBr,\n interpolateYlOrRd,\n interpolateTurbo,\n interpolateViridis,\n interpolateMagma,\n interpolateInferno,\n interpolatePlasma,\n interpolateCividis,\n interpolateCubehelixDefault,\n interpolateWarm,\n interpolateCool,\n interpolateRainbow,\n interpolateSinebow,\n quantize,\n schemeAccent,\n schemeBlues,\n schemeBrBG,\n schemeBuGn,\n schemeBuPu,\n schemeCategory10,\n schemeDark2,\n schemeGnBu,\n schemeGreens,\n schemeGreys,\n schemeOranges,\n schemeOrRd,\n schemePaired,\n schemePastel1,\n schemePastel2,\n schemePiYG,\n schemePRGn,\n schemePuBu,\n schemePuBuGn,\n schemePuOr,\n schemePuRd,\n schemePurples,\n schemeRdBu,\n schemeRdGy,\n schemeRdPu,\n schemeRdYlBu,\n schemeRdYlGn,\n schemeReds,\n schemeSet1,\n schemeSet2,\n schemeSet3,\n schemeSpectral,\n schemeTableau10,\n schemeYlGn,\n schemeYlGnBu,\n schemeYlOrBr,\n schemeYlOrRd\n} from \"d3\";\n\nconst ordinalSchemes = new Map([\n // categorical\n [\"accent\", schemeAccent],\n [\"category10\", schemeCategory10],\n [\"dark2\", schemeDark2],\n [\"paired\", schemePaired],\n [\"pastel1\", schemePastel1],\n [\"pastel2\", schemePastel2],\n [\"set1\", schemeSet1],\n [\"set2\", schemeSet2],\n [\"set3\", schemeSet3],\n [\"tableau10\", schemeTableau10],\n\n // diverging\n [\"brbg\", scheme11(schemeBrBG, interpolateBrBG)],\n [\"prgn\", scheme11(schemePRGn, interpolatePRGn)],\n [\"piyg\", scheme11(schemePiYG, interpolatePiYG)],\n [\"puor\", scheme11(schemePuOr, interpolatePuOr)],\n [\"rdbu\", scheme11(schemeRdBu, interpolateRdBu)],\n [\"rdgy\", scheme11(schemeRdGy, interpolateRdGy)],\n [\"rdylbu\", scheme11(schemeRdYlBu, interpolateRdYlBu)],\n [\"rdylgn\", scheme11(schemeRdYlGn, interpolateRdYlGn)],\n [\"spectral\", scheme11(schemeSpectral, interpolateSpectral)],\n\n // reversed diverging (for temperature data)\n [\"burd\", scheme11r(schemeRdBu, interpolateRdBu)],\n [\"buylrd\", scheme11r(schemeRdYlBu, interpolateRdYlBu)],\n\n // sequential (single-hue)\n [\"blues\", scheme9(schemeBlues, interpolateBlues)],\n [\"greens\", scheme9(schemeGreens, interpolateGreens)],\n [\"greys\", scheme9(schemeGreys, interpolateGreys)],\n [\"oranges\", scheme9(schemeOranges, interpolateOranges)],\n [\"purples\", scheme9(schemePurples, interpolatePurples)],\n [\"reds\", scheme9(schemeReds, interpolateReds)],\n\n // sequential (multi-hue)\n [\"turbo\", schemei(interpolateTurbo)],\n [\"viridis\", schemei(interpolateViridis)],\n [\"magma\", schemei(interpolateMagma)],\n [\"inferno\", schemei(interpolateInferno)],\n [\"plasma\", schemei(interpolatePlasma)],\n [\"cividis\", schemei(interpolateCividis)],\n [\"cubehelix\", schemei(interpolateCubehelixDefault)],\n [\"warm\", schemei(interpolateWarm)],\n [\"cool\", schemei(interpolateCool)],\n [\"bugn\", scheme9(schemeBuGn, interpolateBuGn)],\n [\"bupu\", scheme9(schemeBuPu, interpolateBuPu)],\n [\"gnbu\", scheme9(schemeGnBu, interpolateGnBu)],\n [\"orrd\", scheme9(schemeOrRd, interpolateOrRd)],\n [\"pubu\", scheme9(schemePuBu, interpolatePuBu)],\n [\"pubugn\", scheme9(schemePuBuGn, interpolatePuBuGn)],\n [\"purd\", scheme9(schemePuRd, interpolatePuRd)],\n [\"rdpu\", scheme9(schemeRdPu, interpolateRdPu)],\n [\"ylgn\", scheme9(schemeYlGn, interpolateYlGn)],\n [\"ylgnbu\", scheme9(schemeYlGnBu, interpolateYlGnBu)],\n [\"ylorbr\", scheme9(schemeYlOrBr, interpolateYlOrBr)],\n [\"ylorrd\", scheme9(schemeYlOrRd, interpolateYlOrRd)],\n\n // cyclical\n [\"rainbow\", schemeicyclical(interpolateRainbow)],\n [\"sinebow\", schemeicyclical(interpolateSinebow)]\n]);\n\nfunction scheme9(scheme, interpolate) {\n return ({length: n}) => {\n if (n === 1) return [scheme[3][1]]; // favor midpoint\n if (n === 2) return [scheme[3][1], scheme[3][2]]; // favor darker\n n = Math.max(3, Math.floor(n));\n return n > 9 ? quantize(interpolate, n) : scheme[n];\n };\n}\n\nfunction scheme11(scheme, interpolate) {\n return ({length: n}) => {\n if (n === 2) return [scheme[3][0], scheme[3][2]]; // favor diverging extrema\n n = Math.max(3, Math.floor(n));\n return n > 11 ? quantize(interpolate, n) : scheme[n];\n };\n}\n\nfunction scheme11r(scheme, interpolate) {\n return ({length: n}) => {\n if (n === 2) return [scheme[3][2], scheme[3][0]]; // favor diverging extrema\n n = Math.max(3, Math.floor(n));\n return n > 11 ? quantize((t) => interpolate(1 - t), n) : scheme[n].slice().reverse();\n };\n}\n\nfunction schemei(interpolate) {\n return ({length: n}) => quantize(interpolate, Math.max(2, Math.floor(n)));\n}\n\nfunction schemeicyclical(interpolate) {\n return ({length: n}) => quantize(interpolate, Math.floor(n) + 1).slice(0, -1);\n}\n\nexport function ordinalScheme(scheme) {\n const s = `${scheme}`.toLowerCase();\n if (!ordinalSchemes.has(s)) throw new Error(`unknown ordinal scheme: ${s}`);\n return ordinalSchemes.get(s);\n}\n\nexport function ordinalRange(scheme, length) {\n const s = ordinalScheme(scheme);\n const r = typeof s === \"function\" ? s({length}) : s;\n return r.length !== length ? r.slice(0, length) : r;\n}\n\n// If the specified domain contains only booleans (ignoring null and undefined),\n// returns a corresponding range where false is mapped to the low color and true\n// is mapped to the high color of the specified scheme.\nexport function maybeBooleanRange(domain, scheme = \"greys\") {\n const range = new Set();\n const [f, t] = ordinalRange(scheme, 2);\n for (const value of domain) {\n if (value == null) continue;\n if (value === true) range.add(t);\n else if (value === false) range.add(f);\n else return;\n }\n return [...range];\n}\n\nconst quantitativeSchemes = new Map([\n // diverging\n [\"brbg\", interpolateBrBG],\n [\"prgn\", interpolatePRGn],\n [\"piyg\", interpolatePiYG],\n [\"puor\", interpolatePuOr],\n [\"rdbu\", interpolateRdBu],\n [\"rdgy\", interpolateRdGy],\n [\"rdylbu\", interpolateRdYlBu],\n [\"rdylgn\", interpolateRdYlGn],\n [\"spectral\", interpolateSpectral],\n\n // reversed diverging (for temperature data)\n [\"burd\", (t) => interpolateRdBu(1 - t)],\n [\"buylrd\", (t) => interpolateRdYlBu(1 - t)],\n\n // sequential (single-hue)\n [\"blues\", interpolateBlues],\n [\"greens\", interpolateGreens],\n [\"greys\", interpolateGreys],\n [\"purples\", interpolatePurples],\n [\"reds\", interpolateReds],\n [\"oranges\", interpolateOranges],\n\n // sequential (multi-hue)\n [\"turbo\", interpolateTurbo],\n [\"viridis\", interpolateViridis],\n [\"magma\", interpolateMagma],\n [\"inferno\", interpolateInferno],\n [\"plasma\", interpolatePlasma],\n [\"cividis\", interpolateCividis],\n [\"cubehelix\", interpolateCubehelixDefault],\n [\"warm\", interpolateWarm],\n [\"cool\", interpolateCool],\n [\"bugn\", interpolateBuGn],\n [\"bupu\", interpolateBuPu],\n [\"gnbu\", interpolateGnBu],\n [\"orrd\", interpolateOrRd],\n [\"pubugn\", interpolatePuBuGn],\n [\"pubu\", interpolatePuBu],\n [\"purd\", interpolatePuRd],\n [\"rdpu\", interpolateRdPu],\n [\"ylgnbu\", interpolateYlGnBu],\n [\"ylgn\", interpolateYlGn],\n [\"ylorbr\", interpolateYlOrBr],\n [\"ylorrd\", interpolateYlOrRd],\n\n // cyclical\n [\"rainbow\", interpolateRainbow],\n [\"sinebow\", interpolateSinebow]\n]);\n\nexport function quantitativeScheme(scheme) {\n const s = `${scheme}`.toLowerCase();\n if (!quantitativeSchemes.has(s)) throw new Error(`unknown quantitative scheme: ${s}`);\n return quantitativeSchemes.get(s);\n}\n\nconst divergingSchemes = new Set([\n \"brbg\",\n \"prgn\",\n \"piyg\",\n \"puor\",\n \"rdbu\",\n \"rdgy\",\n \"rdylbu\",\n \"rdylgn\",\n \"spectral\",\n \"burd\",\n \"buylrd\"\n]);\n\nexport function isDivergingScheme(scheme) {\n return scheme != null && divergingSchemes.has(`${scheme}`.toLowerCase());\n}\n","import {\n descending,\n extent,\n interpolateHcl,\n interpolateHsl,\n interpolateLab,\n interpolateNumber,\n interpolateRgb,\n interpolateRound,\n min,\n max,\n median,\n quantile,\n quantize,\n reverse as reverseof,\n scaleLinear,\n scaleLog,\n scalePow,\n scaleQuantile,\n scaleSymlog,\n scaleThreshold,\n scaleIdentity,\n ticks\n} from \"d3\";\nimport {positive, negative, finite} from \"../defined.js\";\nimport {arrayify, constant, orderof, slice, maybeNiceInterval, maybeRangeInterval} from \"../options.js\";\nimport {ordinalRange, quantitativeScheme} from \"./schemes.js\";\nimport {registry, radius, opacity, color, length} from \"./index.js\";\n\nexport const flip = (i) => (t) => i(1 - t);\nconst unit = [0, 1];\n\nconst interpolators = new Map([\n // numbers\n [\"number\", interpolateNumber],\n\n // color spaces\n [\"rgb\", interpolateRgb],\n [\"hsl\", interpolateHsl],\n [\"hcl\", interpolateHcl],\n [\"lab\", interpolateLab]\n]);\n\nexport function maybeInterpolator(interpolate) {\n const i = `${interpolate}`.toLowerCase();\n if (!interpolators.has(i)) throw new Error(`unknown interpolator: ${i}`);\n return interpolators.get(i);\n}\n\nexport function createScaleQ(\n key,\n scale,\n channels,\n {\n type,\n nice,\n clamp,\n zero,\n domain = inferAutoDomain(key, channels),\n unknown,\n round,\n scheme,\n interval,\n range = registry.get(key) === radius\n ? inferRadialRange(channels, domain)\n : registry.get(key) === length\n ? inferLengthRange(channels, domain)\n : registry.get(key) === opacity\n ? unit\n : undefined,\n interpolate = registry.get(key) === color\n ? scheme == null && range !== undefined\n ? interpolateRgb\n : quantitativeScheme(scheme !== undefined ? scheme : type === \"cyclical\" ? \"rainbow\" : \"turbo\")\n : round\n ? interpolateRound\n : interpolateNumber,\n reverse\n }\n) {\n interval = maybeRangeInterval(interval, type);\n if (type === \"cyclical\" || type === \"sequential\") type = \"linear\"; // shorthand for color schemes\n reverse = !!reverse;\n\n // Sometimes interpolate is a named interpolator, such as \"lab\" for Lab color\n // space. Other times interpolate is a function that takes two arguments and\n // is used in conjunction with the range. And other times the interpolate\n // function is a “fixed” interpolator on the [0, 1] interval, as when a\n // color scheme such as interpolateRdBu is used.\n if (typeof interpolate !== \"function\") {\n interpolate = maybeInterpolator(interpolate);\n }\n if (interpolate.length === 1) {\n if (reverse) {\n interpolate = flip(interpolate);\n reverse = false;\n }\n if (range === undefined) {\n range = Float64Array.from(domain, (_, i) => i / (domain.length - 1));\n if (range.length === 2) range = unit; // optimize common case of [0, 1]\n }\n scale.interpolate((range === unit ? constant : interpolatePiecewise)(interpolate));\n } else {\n scale.interpolate(interpolate);\n }\n\n // If a zero option is specified, we assume that the domain is numeric, and we\n // want to ensure that the domain crosses zero. However, note that the domain\n // may be reversed (descending) so we shouldn’t assume that the first value is\n // smaller than the last; and also it’s possible that the domain has more than\n // two values for a “poly” scale. And lastly be careful not to mutate input!\n if (zero) {\n const [min, max] = extent(domain);\n if (min > 0 || max < 0) {\n domain = slice(domain);\n if (orderof(domain) !== Math.sign(min)) domain[domain.length - 1] = 0;\n // [2, 1] or [-2, -1]\n else domain[0] = 0; // [1, 2] or [-1, -2]\n }\n }\n\n if (reverse) domain = reverseof(domain);\n scale.domain(domain).unknown(unknown);\n if (nice) scale.nice(maybeNice(nice, type)), (domain = scale.domain());\n if (range !== undefined) scale.range(range);\n if (clamp) scale.clamp(clamp);\n return {type, domain, range, scale, interpolate, interval};\n}\n\nfunction maybeNice(nice, type) {\n return nice === true ? undefined : typeof nice === \"number\" ? nice : maybeNiceInterval(nice, type);\n}\n\nexport function createScaleLinear(key, channels, options) {\n return createScaleQ(key, scaleLinear(), channels, options);\n}\n\nexport function createScaleSqrt(key, channels, options) {\n return createScalePow(key, channels, {...options, exponent: 0.5});\n}\n\nexport function createScalePow(key, channels, {exponent = 1, ...options}) {\n return createScaleQ(key, scalePow().exponent(exponent), channels, {...options, type: \"pow\"});\n}\n\nexport function createScaleLog(key, channels, {base = 10, domain = inferLogDomain(channels), ...options}) {\n return createScaleQ(key, scaleLog().base(base), channels, {...options, domain});\n}\n\nexport function createScaleSymlog(key, channels, {constant = 1, ...options}) {\n return createScaleQ(key, scaleSymlog().constant(constant), channels, options);\n}\n\nexport function createScaleQuantile(\n key,\n channels,\n {\n range,\n quantiles = range === undefined ? 5 : (range = [...range]).length, // deprecated; use n instead\n n = quantiles,\n scheme = \"rdylbu\",\n domain = inferQuantileDomain(channels),\n unknown,\n interpolate,\n reverse\n }\n) {\n if (range === undefined) {\n range =\n interpolate !== undefined\n ? quantize(interpolate, n)\n : registry.get(key) === color\n ? ordinalRange(scheme, n)\n : undefined;\n }\n if (domain.length > 0) {\n domain = scaleQuantile(domain, range === undefined ? {length: n} : range).quantiles();\n }\n return createScaleThreshold(key, channels, {domain, range, reverse, unknown});\n}\n\nexport function createScaleQuantize(\n key,\n channels,\n {\n range,\n n = range === undefined ? 5 : (range = [...range]).length,\n scheme = \"rdylbu\",\n domain = inferAutoDomain(key, channels),\n unknown,\n interpolate,\n reverse\n }\n) {\n const [min, max] = extent(domain);\n let thresholds;\n if (range === undefined) {\n thresholds = ticks(min, max, n); // approximate number of nice, round thresholds\n if (thresholds[0] <= min) thresholds.splice(0, 1); // drop exact lower bound\n if (thresholds[thresholds.length - 1] >= max) thresholds.pop(); // drop exact upper bound\n n = thresholds.length + 1;\n range =\n interpolate !== undefined\n ? quantize(interpolate, n)\n : registry.get(key) === color\n ? ordinalRange(scheme, n)\n : undefined;\n } else {\n thresholds = quantize(interpolateNumber(min, max), n + 1).slice(1, -1); // exactly n - 1 thresholds to match range\n if (min instanceof Date) thresholds = thresholds.map((x) => new Date(x)); // preserve date types\n }\n if (orderof(arrayify(domain)) < 0) thresholds.reverse(); // preserve descending domain\n return createScaleThreshold(key, channels, {domain: thresholds, range, reverse, unknown});\n}\n\nexport function createScaleThreshold(\n key,\n channels,\n {\n domain = [0], // explicit thresholds in ascending order\n unknown,\n scheme = \"rdylbu\",\n interpolate,\n range = interpolate !== undefined\n ? quantize(interpolate, domain.length + 1)\n : registry.get(key) === color\n ? ordinalRange(scheme, domain.length + 1)\n : undefined,\n reverse\n }\n) {\n domain = arrayify(domain);\n const sign = orderof(domain); // preserve descending domain\n if (!isNaN(sign) && !isOrdered(domain, sign)) throw new Error(`the ${key} scale has a non-monotonic domain`);\n if (reverse) range = reverseof(range); // domain ascending, so reverse range\n return {\n type: \"threshold\",\n scale: scaleThreshold(sign < 0 ? reverseof(domain) : domain, range === undefined ? [] : range).unknown(unknown),\n domain,\n range\n };\n}\n\nfunction isOrdered(domain, sign) {\n for (let i = 1, n = domain.length, d = domain[0]; i < n; ++i) {\n const s = descending(d, (d = domain[i]));\n if (s !== 0 && s !== sign) return false;\n }\n return true;\n}\n\nexport function createScaleIdentity() {\n return {type: \"identity\", scale: scaleIdentity()};\n}\n\nexport function inferDomain(channels, f = finite) {\n return channels.length\n ? [\n min(channels, ({value}) => (value === undefined ? value : min(value, f))),\n max(channels, ({value}) => (value === undefined ? value : max(value, f)))\n ]\n : [0, 1];\n}\n\nfunction inferAutoDomain(key, channels) {\n const type = registry.get(key);\n return (type === radius || type === opacity || type === length ? inferZeroDomain : inferDomain)(channels);\n}\n\nfunction inferZeroDomain(channels) {\n return [0, channels.length ? max(channels, ({value}) => (value === undefined ? value : max(value, finite))) : 1];\n}\n\n// We don’t want the upper bound of the radial domain to be zero, as this would\n// be degenerate, so we ignore nonpositive values. We also don’t want the\n// maximum default radius to exceed 30px.\nfunction inferRadialRange(channels, domain) {\n const hint = channels.find(({radius}) => radius !== undefined);\n if (hint !== undefined) return [0, hint.radius]; // a natural maximum radius, e.g. hexbins\n const h25 = quantile(channels, 0.5, ({value}) => (value === undefined ? NaN : quantile(value, 0.25, positive)));\n const range = domain.map((d) => 3 * Math.sqrt(d / h25));\n const k = 30 / max(range);\n return k < 1 ? range.map((r) => r * k) : range;\n}\n\n// We want a length scale’s domain to go from zero to a positive value, and to\n// treat negative lengths if any as inverted vectors of equivalent magnitude. We\n// also don’t want the maximum default length to exceed 60px.\nfunction inferLengthRange(channels, domain) {\n const h50 = median(channels, ({value}) => (value === undefined ? NaN : median(value, Math.abs)));\n const range = domain.map((d) => (12 * d) / h50);\n const k = 60 / max(range);\n return k < 1 ? range.map((r) => r * k) : range;\n}\n\nfunction inferLogDomain(channels) {\n for (const {value} of channels) {\n if (value !== undefined) {\n for (let v of value) {\n if (v > 0) return inferDomain(channels, positive);\n if (v < 0) return inferDomain(channels, negative);\n }\n }\n }\n return [1, 10];\n}\n\nfunction inferQuantileDomain(channels) {\n const domain = [];\n for (const {value} of channels) {\n if (value === undefined) continue;\n for (const v of value) domain.push(v);\n }\n return domain;\n}\n\nexport function interpolatePiecewise(interpolate) {\n return (i, j) => (t) => interpolate(i + t * (j - i));\n}\n","import {\n descending,\n interpolateNumber,\n interpolateRgb,\n piecewise,\n scaleDiverging,\n scaleDivergingLog,\n scaleDivergingPow,\n scaleDivergingSymlog\n} from \"d3\";\nimport {positive, negative} from \"../defined.js\";\nimport {quantitativeScheme} from \"./schemes.js\";\nimport {registry, color} from \"./index.js\";\nimport {inferDomain, maybeInterpolator, flip, interpolatePiecewise} from \"./quantitative.js\";\n\nfunction createScaleD(\n key,\n scale,\n transform,\n channels,\n {\n type,\n nice,\n clamp,\n domain = inferDomain(channels),\n unknown,\n pivot = 0,\n scheme,\n range,\n symmetric = true,\n interpolate = registry.get(key) === color\n ? scheme == null && range !== undefined\n ? interpolateRgb\n : quantitativeScheme(scheme !== undefined ? scheme : \"rdbu\")\n : interpolateNumber,\n reverse\n }\n) {\n pivot = +pivot;\n let [min, max] = domain;\n if (descending(min, max) < 0) ([min, max] = [max, min]), (reverse = !reverse);\n min = Math.min(min, pivot);\n max = Math.max(max, pivot);\n\n // Sometimes interpolate is a named interpolator, such as \"lab\" for Lab color\n // space. Other times interpolate is a function that takes two arguments and\n // is used in conjunction with the range. And other times the interpolate\n // function is a “fixed” interpolator on the [0, 1] interval, as when a\n // color scheme such as interpolateRdBu is used.\n if (typeof interpolate !== \"function\") {\n interpolate = maybeInterpolator(interpolate);\n }\n\n // If an explicit range is specified, promote it to a piecewise interpolator.\n if (range !== undefined) {\n interpolate =\n interpolate.length === 1 ? interpolatePiecewise(interpolate)(...range) : piecewise(interpolate, range);\n }\n\n // Reverse before normalization.\n if (reverse) interpolate = flip(interpolate);\n\n // Normalize the interpolator for symmetric difference around the pivot.\n if (symmetric) {\n const mid = transform.apply(pivot);\n const mindelta = mid - transform.apply(min);\n const maxdelta = transform.apply(max) - mid;\n if (mindelta < maxdelta) min = transform.invert(mid - maxdelta);\n else if (mindelta > maxdelta) max = transform.invert(mid + mindelta);\n }\n\n scale.domain([min, pivot, max]).unknown(unknown).interpolator(interpolate);\n if (clamp) scale.clamp(clamp);\n if (nice) scale.nice(nice);\n return {type, domain: [min, max], pivot, interpolate, scale};\n}\n\nexport function createScaleDiverging(key, channels, options) {\n return createScaleD(key, scaleDiverging(), transformIdentity, channels, options);\n}\n\nexport function createScaleDivergingSqrt(key, channels, options) {\n return createScaleDivergingPow(key, channels, {...options, exponent: 0.5});\n}\n\nexport function createScaleDivergingPow(key, channels, {exponent = 1, ...options}) {\n return createScaleD(key, scaleDivergingPow().exponent((exponent = +exponent)), transformPow(exponent), channels, {\n ...options,\n type: \"diverging-pow\"\n });\n}\n\nexport function createScaleDivergingLog(\n key,\n channels,\n {base = 10, pivot = 1, domain = inferDomain(channels, pivot < 0 ? negative : positive), ...options}\n) {\n return createScaleD(key, scaleDivergingLog().base((base = +base)), transformLog, channels, {\n domain,\n pivot,\n ...options\n });\n}\n\nexport function createScaleDivergingSymlog(key, channels, {constant = 1, ...options}) {\n return createScaleD(\n key,\n scaleDivergingSymlog().constant((constant = +constant)),\n transformSymlog(constant),\n channels,\n options\n );\n}\n\nconst transformIdentity = {\n apply(x) {\n return x;\n },\n invert(x) {\n return x;\n }\n};\n\nconst transformLog = {\n apply: Math.log,\n invert: Math.exp\n};\n\nconst transformSqrt = {\n apply(x) {\n return Math.sign(x) * Math.sqrt(Math.abs(x));\n },\n invert(x) {\n return Math.sign(x) * (x * x);\n }\n};\n\nfunction transformPow(exponent) {\n return exponent === 0.5\n ? transformSqrt\n : {\n apply(x) {\n return Math.sign(x) * Math.pow(Math.abs(x), exponent);\n },\n invert(x) {\n return Math.sign(x) * Math.pow(Math.abs(x), 1 / exponent);\n }\n };\n}\n\nfunction transformSymlog(constant) {\n return {\n apply(x) {\n return Math.sign(x) * Math.log1p(Math.abs(x / constant));\n },\n invert(x) {\n return Math.sign(x) * Math.expm1(Math.abs(x)) * constant;\n }\n };\n}\n","import {scaleTime, scaleUtc} from \"d3\";\nimport {createScaleQ} from \"./quantitative.js\";\n\nfunction createScaleT(key, scale, channels, options) {\n return createScaleQ(key, scale, channels, options);\n}\n\nexport function createScaleTime(key, channels, options) {\n return createScaleT(key, scaleTime(), channels, options);\n}\n\nexport function createScaleUtc(key, channels, options) {\n return createScaleT(key, scaleUtc(), channels, options);\n}\n","import {InternSet, extent, quantize, reverse as reverseof, sort, symbolsFill, symbolsStroke} from \"d3\";\nimport {scaleBand, scaleOrdinal, scalePoint, scaleImplicit} from \"d3\";\nimport {ascendingDefined} from \"../defined.js\";\nimport {isNoneish, map, maybeRangeInterval} from \"../options.js\";\nimport {maybeSymbol} from \"../symbol.js\";\nimport {registry, color, position, symbol} from \"./index.js\";\nimport {maybeBooleanRange, ordinalScheme, quantitativeScheme} from \"./schemes.js\";\n\n// This denotes an implicitly ordinal color scale: the scale type was not set,\n// but the associated values are strings or booleans. If the associated defined\n// values are entirely boolean, the range will default to greys. You can opt out\n// of this by setting the type explicitly.\nexport const ordinalImplicit = Symbol(\"ordinal\");\n\nfunction createScaleO(key, scale, channels, {type, interval, domain, range, reverse, hint}) {\n interval = maybeRangeInterval(interval, type);\n if (domain === undefined) domain = inferDomain(channels, interval, key);\n if (type === \"categorical\" || type === ordinalImplicit) type = \"ordinal\"; // shorthand for color schemes\n if (reverse) domain = reverseof(domain);\n scale.domain(domain);\n if (range !== undefined) {\n // If the range is specified as a function, pass it the domain.\n if (typeof range === \"function\") range = range(domain);\n scale.range(range);\n }\n return {type, domain, range, scale, hint, interval};\n}\n\nexport function createScaleOrdinal(key, channels, {type, interval, domain, range, scheme, unknown, ...options}) {\n interval = maybeRangeInterval(interval, type);\n if (domain === undefined) domain = inferDomain(channels, interval, key);\n let hint;\n if (registry.get(key) === symbol) {\n hint = inferSymbolHint(channels);\n range = range === undefined ? inferSymbolRange(hint) : map(range, maybeSymbol);\n } else if (registry.get(key) === color) {\n if (range === undefined && (type === \"ordinal\" || type === ordinalImplicit)) {\n range = maybeBooleanRange(domain, scheme);\n if (range !== undefined) scheme = undefined; // Don’t re-apply scheme.\n }\n if (scheme === undefined && range === undefined) {\n scheme = type === \"ordinal\" ? \"turbo\" : \"tableau10\";\n }\n if (scheme !== undefined) {\n if (range !== undefined) {\n const interpolate = quantitativeScheme(scheme);\n const t0 = range[0],\n d = range[1] - range[0];\n range = ({length: n}) => quantize((t) => interpolate(t0 + d * t), n);\n } else {\n range = ordinalScheme(scheme);\n }\n }\n }\n if (unknown === scaleImplicit) {\n throw new Error(`implicit unknown on ${key} scale is not supported`);\n }\n return createScaleO(key, scaleOrdinal().unknown(unknown), channels, {...options, type, domain, range, hint});\n}\n\nexport function createScalePoint(key, channels, {align = 0.5, padding = 0.5, ...options}) {\n return maybeRound(scalePoint().align(align).padding(padding), channels, options, key);\n}\n\nexport function createScaleBand(\n key,\n channels,\n {\n align = 0.5,\n padding = 0.1,\n paddingInner = padding,\n paddingOuter = key === \"fx\" || key === \"fy\" ? 0 : padding,\n ...options\n }\n) {\n return maybeRound(\n scaleBand().align(align).paddingInner(paddingInner).paddingOuter(paddingOuter),\n channels,\n options,\n key\n );\n}\n\nfunction maybeRound(scale, channels, options, key) {\n let {round} = options;\n if (round !== undefined) scale.round((round = !!round));\n scale = createScaleO(key, scale, channels, options);\n scale.round = round; // preserve for autoScaleRound\n return scale;\n}\n\nfunction inferDomain(channels, interval, key) {\n const values = new InternSet();\n for (const {value, domain} of channels) {\n if (domain !== undefined) return domain(); // see channelDomain\n if (value === undefined) continue;\n for (const v of value) values.add(v);\n }\n if (interval !== undefined) {\n const [min, max] = extent(values).map(interval.floor, interval);\n return interval.range(min, interval.offset(max));\n }\n if (values.size > 10e3 && registry.get(key) === position) {\n throw new Error(`implicit ordinal domain of ${key} scale has more than 10,000 values`);\n }\n return sort(values, ascendingDefined);\n}\n\n// If all channels provide a consistent hint, propagate it to the scale.\nfunction inferHint(channels, key) {\n let value;\n for (const {hint} of channels) {\n const candidate = hint?.[key];\n if (candidate === undefined) continue; // no hint here\n if (value === undefined) value = candidate;\n // first hint\n else if (value !== candidate) return; // inconsistent hint\n }\n return value;\n}\n\nfunction inferSymbolHint(channels) {\n return {\n fill: inferHint(channels, \"fill\"),\n stroke: inferHint(channels, \"stroke\")\n };\n}\n\nfunction inferSymbolRange(hint) {\n return isNoneish(hint.fill) ? symbolsStroke : symbolsFill;\n}\n","import {\n isOrdinal,\n isTemporal,\n isTemporalString,\n isNumericString,\n isScaleOptions,\n map,\n slice,\n coerceNumbers,\n coerceDates\n} from \"./options.js\";\nimport {registry, color, position, radius, opacity, symbol, length} from \"./scales/index.js\";\nimport {\n createScaleLinear,\n createScaleSqrt,\n createScalePow,\n createScaleLog,\n createScaleSymlog,\n createScaleQuantile,\n createScaleQuantize,\n createScaleThreshold,\n createScaleIdentity\n} from \"./scales/quantitative.js\";\nimport {\n createScaleDiverging,\n createScaleDivergingSqrt,\n createScaleDivergingPow,\n createScaleDivergingLog,\n createScaleDivergingSymlog\n} from \"./scales/diverging.js\";\nimport {isDivergingScheme} from \"./scales/schemes.js\";\nimport {createScaleTime, createScaleUtc} from \"./scales/temporal.js\";\nimport {createScaleOrdinal, createScalePoint, createScaleBand, ordinalImplicit} from \"./scales/ordinal.js\";\nimport {maybeSymbol} from \"./symbol.js\";\nimport {warn} from \"./warnings.js\";\n\nexport function createScales(\n channelsByScale,\n {\n label: globalLabel,\n inset: globalInset = 0,\n insetTop: globalInsetTop = globalInset,\n insetRight: globalInsetRight = globalInset,\n insetBottom: globalInsetBottom = globalInset,\n insetLeft: globalInsetLeft = globalInset,\n round,\n nice,\n clamp,\n zero,\n align,\n padding,\n projection,\n facet: {label: facetLabel = globalLabel} = {},\n ...options\n } = {}\n) {\n const scales = {};\n for (const [key, channels] of channelsByScale) {\n const scaleOptions = options[key];\n const scale = createScale(key, channels, {\n round: registry.get(key) === position ? round : undefined, // only for position\n nice,\n clamp,\n zero,\n align,\n padding,\n projection,\n ...scaleOptions\n });\n if (scale) {\n // populate generic scale options (percent, transform, insets)\n let {\n label = key === \"fx\" || key === \"fy\" ? facetLabel : globalLabel,\n percent,\n transform,\n inset,\n insetTop = inset !== undefined ? inset : key === \"y\" ? globalInsetTop : 0, // not fy\n insetRight = inset !== undefined ? inset : key === \"x\" ? globalInsetRight : 0, // not fx\n insetBottom = inset !== undefined ? inset : key === \"y\" ? globalInsetBottom : 0, // not fy\n insetLeft = inset !== undefined ? inset : key === \"x\" ? globalInsetLeft : 0 // not fx\n } = scaleOptions || {};\n if (transform == null) transform = undefined;\n else if (typeof transform !== \"function\") throw new Error(\"invalid scale transform; not a function\");\n scale.percent = !!percent;\n scale.label = label === undefined ? inferScaleLabel(channels, scale) : label;\n scale.transform = transform;\n if (key === \"x\" || key === \"fx\") {\n scale.insetLeft = +insetLeft;\n scale.insetRight = +insetRight;\n } else if (key === \"y\" || key === \"fy\") {\n scale.insetTop = +insetTop;\n scale.insetBottom = +insetBottom;\n }\n scales[key] = scale;\n }\n }\n return scales;\n}\n\nexport function createScaleFunctions(scales) {\n return Object.fromEntries(\n Object.entries(scales)\n .filter(([, {scale}]) => scale) // drop identity scales\n .map(([name, {scale, type, interval, label}]) => {\n scale.type = type; // for axis\n if (interval != null) scale.interval = interval; // for axis\n if (label != null) scale.label = label; // for axis\n return [name, scale];\n })\n );\n}\n\n// Mutates scale.range!\nexport function autoScaleRange(scales, dimensions) {\n const {x, y, fx, fy} = scales;\n const superdimensions = fx || fy ? outerDimensions(dimensions) : dimensions;\n if (fx) autoScaleRangeX(fx, superdimensions);\n if (fy) autoScaleRangeY(fy, superdimensions);\n const subdimensions = fx || fy ? innerDimensions(scales, dimensions) : dimensions;\n if (x) autoScaleRangeX(x, subdimensions);\n if (y) autoScaleRangeY(y, subdimensions);\n}\n\n// Channels can have labels; if all the channels for a given scale are\n// consistently labeled (i.e., have the same value if not undefined), and the\n// corresponding scale doesn’t already have an explicit label, then the\n// channels’ label is promoted to the scale. This inferred label should have an\n// orientation-appropriate arrow added when used as an axis, but we don’t want\n// to add the arrow when the label is set explicitly as an option; so, the\n// inferred label is distinguished as an object with an “inferred” property.\nfunction inferScaleLabel(channels = [], scale) {\n let label;\n for (const {label: l} of channels) {\n if (l === undefined) continue;\n if (label === undefined) label = l;\n else if (label !== l) return;\n }\n if (label === undefined) return;\n // Ignore the implicit label for temporal scales if it’s simply “date”.\n if (isTemporalScale(scale) && /^(date|time|year)$/i.test(label)) return;\n if (!isOrdinalScale(scale) && scale.percent) label = `${label} (%)`;\n return {inferred: true, toString: () => label};\n}\n\n// Returns the dimensions of the outer frame; this is subdivided into facets\n// with the margins of each facet collapsing into the outer margins.\nexport function outerDimensions(dimensions) {\n const {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n width,\n height,\n facet: {\n marginTop: facetMarginTop,\n marginRight: facetMarginRight,\n marginBottom: facetMarginBottom,\n marginLeft: facetMarginLeft\n }\n } = dimensions;\n return {\n marginTop: Math.max(marginTop, facetMarginTop),\n marginRight: Math.max(marginRight, facetMarginRight),\n marginBottom: Math.max(marginBottom, facetMarginBottom),\n marginLeft: Math.max(marginLeft, facetMarginLeft),\n width,\n height\n };\n}\n\n// Returns the dimensions of each facet.\nexport function innerDimensions({fx, fy}, dimensions) {\n const {marginTop, marginRight, marginBottom, marginLeft, width, height} = outerDimensions(dimensions);\n return {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n width: fx ? fx.scale.bandwidth() + marginLeft + marginRight : width,\n height: fy ? fy.scale.bandwidth() + marginTop + marginBottom : height\n };\n}\n\nfunction autoScaleRangeX(scale, dimensions) {\n if (scale.range === undefined) {\n const {insetLeft, insetRight} = scale;\n const {width, marginLeft = 0, marginRight = 0} = dimensions;\n const left = marginLeft + insetLeft;\n const right = width - marginRight - insetRight;\n scale.range = [left, Math.max(left, right)];\n if (!isOrdinalScale(scale)) scale.range = piecewiseRange(scale);\n scale.scale.range(scale.range);\n }\n autoScaleRound(scale);\n}\n\nfunction autoScaleRangeY(scale, dimensions) {\n if (scale.range === undefined) {\n const {insetTop, insetBottom} = scale;\n const {height, marginTop = 0, marginBottom = 0} = dimensions;\n const top = marginTop + insetTop;\n const bottom = height - marginBottom - insetBottom;\n scale.range = [Math.max(top, bottom), top];\n if (!isOrdinalScale(scale)) scale.range = piecewiseRange(scale);\n else scale.range.reverse();\n scale.scale.range(scale.range);\n }\n autoScaleRound(scale);\n}\n\nfunction autoScaleRound(scale) {\n if (scale.round === undefined && isBandScale(scale) && roundError(scale) <= 30) {\n scale.scale.round(true);\n }\n}\n\n// If we were to turn on rounding for this band or point scale, how much wasted\n// space would it introduce (on both ends of the range)? This must match\n// d3.scaleBand’s rounding behavior:\n// https://github.com/d3/d3-scale/blob/83555bd759c7314420bd4240642beda5e258db9e/src/band.js#L20-L32\nfunction roundError({scale}) {\n const n = scale.domain().length;\n const [start, stop] = scale.range();\n const paddingInner = scale.paddingInner ? scale.paddingInner() : 1;\n const paddingOuter = scale.paddingOuter ? scale.paddingOuter() : scale.padding();\n const m = n - paddingInner;\n const step = Math.abs(stop - start) / Math.max(1, m + paddingOuter * 2);\n return (step - Math.floor(step)) * m;\n}\n\nfunction piecewiseRange(scale) {\n const length = scale.scale.domain().length + isThresholdScale(scale);\n if (!(length > 2)) return scale.range;\n const [start, end] = scale.range;\n return Array.from({length}, (_, i) => start + (i / (length - 1)) * (end - start));\n}\n\nexport function normalizeScale(key, scale, hint) {\n return createScale(key, hint === undefined ? undefined : [{hint}], {...scale});\n}\n\nfunction createScale(key, channels = [], options = {}) {\n const type = inferScaleType(key, channels, options);\n\n // Warn for common misuses of implicit ordinal scales. We disable this test if\n // you specify a scale interval or if you set the domain or range explicitly,\n // since setting the domain or range (typically with a cardinality of more than\n // two) is another indication that you intended for the scale to be ordinal; we\n // also disable it for facet scales since these are always band scales.\n if (\n options.type === undefined &&\n options.domain === undefined &&\n options.range === undefined &&\n options.interval == null &&\n key !== \"fx\" &&\n key !== \"fy\" &&\n isOrdinalScale({type})\n ) {\n const values = channels.map(({value}) => value).filter((value) => value !== undefined);\n if (values.some(isTemporal))\n warn(\n `Warning: some data associated with the ${key} scale are dates. Dates are typically associated with a \"utc\" or \"time\" scale rather than a \"${formatScaleType(\n type\n )}\" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can specify the interval of the ${key} scale (e.g., d3.utcDay), or you can suppress this warning by setting the type of the ${key} scale to \"${formatScaleType(\n type\n )}\".`\n );\n else if (values.some(isTemporalString))\n warn(\n `Warning: some data associated with the ${key} scale are strings that appear to be dates (e.g., YYYY-MM-DD). If these strings represent dates, you should parse them to Date objects. Dates are typically associated with a \"utc\" or \"time\" scale rather than a \"${formatScaleType(\n type\n )}\" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can suppress this warning by setting the type of the ${key} scale to \"${formatScaleType(\n type\n )}\".`\n );\n else if (values.some(isNumericString))\n warn(\n `Warning: some data associated with the ${key} scale are strings that appear to be numbers. If these strings represent numbers, you should parse or coerce them to numbers. Numbers are typically associated with a \"linear\" scale rather than a \"${formatScaleType(\n type\n )}\" scale. If you want to treat this data as ordinal, you can specify the interval of the ${key} scale (e.g., 1 for integers), or you can suppress this warning by setting the type of the ${key} scale to \"${formatScaleType(\n type\n )}\".`\n );\n }\n\n options.type = type; // Mutates input!\n\n // Once the scale type is known, coerce the associated channel values and any\n // explicitly-specified domain to the expected type.\n switch (type) {\n case \"diverging\":\n case \"diverging-sqrt\":\n case \"diverging-pow\":\n case \"diverging-log\":\n case \"diverging-symlog\":\n case \"cyclical\":\n case \"sequential\":\n case \"linear\":\n case \"sqrt\":\n case \"threshold\":\n case \"quantile\":\n case \"pow\":\n case \"log\":\n case \"symlog\":\n options = coerceType(channels, options, coerceNumbers);\n break;\n case \"identity\":\n switch (registry.get(key)) {\n case position:\n options = coerceType(channels, options, coerceNumbers);\n break;\n case symbol:\n options = coerceType(channels, options, coerceSymbols);\n break;\n }\n break;\n case \"utc\":\n case \"time\":\n options = coerceType(channels, options, coerceDates);\n break;\n }\n\n switch (type) {\n case \"diverging\":\n return createScaleDiverging(key, channels, options);\n case \"diverging-sqrt\":\n return createScaleDivergingSqrt(key, channels, options);\n case \"diverging-pow\":\n return createScaleDivergingPow(key, channels, options);\n case \"diverging-log\":\n return createScaleDivergingLog(key, channels, options);\n case \"diverging-symlog\":\n return createScaleDivergingSymlog(key, channels, options);\n case \"categorical\":\n case \"ordinal\":\n case ordinalImplicit:\n return createScaleOrdinal(key, channels, options);\n case \"cyclical\":\n case \"sequential\":\n case \"linear\":\n return createScaleLinear(key, channels, options);\n case \"sqrt\":\n return createScaleSqrt(key, channels, options);\n case \"threshold\":\n return createScaleThreshold(key, channels, options);\n case \"quantile\":\n return createScaleQuantile(key, channels, options);\n case \"quantize\":\n return createScaleQuantize(key, channels, options);\n case \"pow\":\n return createScalePow(key, channels, options);\n case \"log\":\n return createScaleLog(key, channels, options);\n case \"symlog\":\n return createScaleSymlog(key, channels, options);\n case \"utc\":\n return createScaleUtc(key, channels, options);\n case \"time\":\n return createScaleTime(key, channels, options);\n case \"point\":\n return createScalePoint(key, channels, options);\n case \"band\":\n return createScaleBand(key, channels, options);\n case \"identity\":\n return registry.get(key) === position ? createScaleIdentity() : {type: \"identity\"};\n case undefined:\n return;\n default:\n throw new Error(`unknown scale type: ${type}`);\n }\n}\n\nfunction formatScaleType(type) {\n return typeof type === \"symbol\" ? type.description : type;\n}\n\n// A special type symbol when the x and y scales are replaced with a projection.\nconst typeProjection = {toString: () => \"projection\"};\n\nfunction inferScaleType(key, channels, {type, domain, range, scheme, pivot, projection}) {\n // The facet scales are always band scales; this cannot be changed.\n if (key === \"fx\" || key === \"fy\") return \"band\";\n\n // If a projection is specified, the x- and y-scales are disabled; these\n // channels will be projected rather than scaled. (But still check that none\n // of the associated channels are incompatible with a projection.)\n if ((key === \"x\" || key === \"y\") && projection != null) type = typeProjection;\n\n // If a channel dictates a scale type, make sure that it is consistent with\n // the user-specified scale type (if any) and all other channels. For example,\n // barY requires x to be a band scale and disallows any other scale type.\n for (const {type: t} of channels) {\n if (t === undefined) continue;\n else if (type === undefined) type = t;\n else if (type !== t) throw new Error(`scale incompatible with channel: ${type} !== ${t}`);\n }\n\n // If the scale, a channel, or user specified a (consistent) type, return it.\n if (type === typeProjection) return;\n if (type !== undefined) return type;\n\n // If there’s no data (and no type) associated with this scale, don’t create a scale.\n if (domain === undefined && !channels.some(({value}) => value !== undefined)) return;\n\n // Some scales have default types.\n const kind = registry.get(key);\n if (kind === radius) return \"sqrt\";\n if (kind === opacity || kind === length) return \"linear\";\n if (kind === symbol) return \"ordinal\";\n\n // If the domain or range has more than two values, assume it’s ordinal. You\n // can still use a “piecewise” (or “polylinear”) scale, but you must set the\n // type explicitly.\n if ((domain || range || []).length > 2) return asOrdinalType(kind);\n\n // Otherwise, infer the scale type from the data! Prefer the domain, if\n // present, over channels. (The domain and channels should be consistently\n // typed, and the domain is more explicit and typically much smaller.) We only\n // check the first defined value for expedience and simplicity; we expect\n // that the types are consistent.\n if (domain !== undefined) {\n if (isOrdinal(domain)) return asOrdinalType(kind);\n if (isTemporal(domain)) return \"utc\";\n if (kind === color && (pivot != null || isDivergingScheme(scheme))) return \"diverging\";\n return \"linear\";\n }\n\n // If any channel is ordinal or temporal, it takes priority.\n const values = channels.map(({value}) => value).filter((value) => value !== undefined);\n if (values.some(isOrdinal)) return asOrdinalType(kind);\n if (values.some(isTemporal)) return \"utc\";\n if (kind === color && (pivot != null || isDivergingScheme(scheme))) return \"diverging\";\n return \"linear\";\n}\n\n// Positional scales default to a point scale instead of an ordinal scale.\nfunction asOrdinalType(kind) {\n switch (kind) {\n case position:\n return \"point\";\n case color:\n return ordinalImplicit;\n default:\n return \"ordinal\";\n }\n}\n\nexport function isTemporalScale({type}) {\n return type === \"time\" || type === \"utc\";\n}\n\nexport function isOrdinalScale({type}) {\n return type === \"ordinal\" || type === \"point\" || type === \"band\" || type === ordinalImplicit;\n}\n\nexport function isThresholdScale({type}) {\n return type === \"threshold\";\n}\n\nfunction isBandScale({type}) {\n return type === \"point\" || type === \"band\";\n}\n\nexport function isDivergingScale({type}) {\n return /^diverging($|-)/.test(type);\n}\n\n// Certain marks have special behavior if a scale is collapsed, i.e. if the\n// domain is degenerate and represents only a single value such as [3, 3]; for\n// example, a rect will span the full extent of the chart along a collapsed\n// dimension (whereas a dot will simply be drawn in the center).\nexport function isCollapsed(scale) {\n if (scale === undefined) return true; // treat missing scale as collapsed\n const domain = scale.domain();\n const value = scale(domain[0]);\n for (let i = 1, n = domain.length; i < n; ++i) {\n if (scale(domain[i]) - value) {\n return false;\n }\n }\n return true;\n}\n\n// Mutates channel.value!\nfunction coerceType(channels, {domain, ...options}, coerceValues) {\n for (const c of channels) {\n if (c.value !== undefined) {\n c.value = coerceValues(c.value);\n }\n }\n return {\n domain: domain === undefined ? domain : coerceValues(domain),\n ...options\n };\n}\n\nfunction coerceSymbols(values) {\n return map(values, maybeSymbol);\n}\n\nexport function scale(options = {}) {\n let scale;\n for (const key in options) {\n if (!registry.has(key)) continue; // ignore unknown properties\n if (!isScaleOptions(options[key])) continue; // e.g., ignore {color: \"red\"}\n if (scale !== undefined) throw new Error(\"ambiguous scale definition; multiple scales found\");\n scale = exposeScale(normalizeScale(key, options[key]));\n }\n if (scale === undefined) throw new Error(\"invalid scale definition; no scale found\");\n return scale;\n}\n\nexport function exposeScales(scaleDescriptors) {\n return (key) => {\n if (!registry.has((key = `${key}`))) throw new Error(`unknown scale: ${key}`);\n return key in scaleDescriptors ? exposeScale(scaleDescriptors[key]) : undefined;\n };\n}\n\n// Note: axis- and legend-related properties (such as label, ticks and\n// tickFormat) are not included here as they do not affect the scale’s behavior.\nfunction exposeScale({scale, type, domain, range, interpolate, interval, transform, percent, pivot}) {\n if (type === \"identity\") return {type: \"identity\", apply: (d) => d, invert: (d) => d};\n const unknown = scale.unknown ? scale.unknown() : undefined;\n return {\n type,\n domain: slice(domain), // defensive copy\n ...(range !== undefined && {range: slice(range)}), // defensive copy\n ...(transform !== undefined && {transform}),\n ...(percent && {percent}), // only exposed if truthy\n ...(unknown !== undefined && {unknown}),\n ...(interval !== undefined && {interval}),\n\n // quantitative\n ...(interpolate !== undefined && {interpolate}),\n ...(scale.clamp && {clamp: scale.clamp()}),\n\n // diverging (always asymmetric; we never want to apply the symmetric transform twice)\n ...(pivot !== undefined && {pivot, symmetric: false}),\n\n // log, diverging-log\n ...(scale.base && {base: scale.base()}),\n\n // pow, diverging-pow\n ...(scale.exponent && {exponent: scale.exponent()}),\n\n // symlog, diverging-symlog\n ...(scale.constant && {constant: scale.constant()}),\n\n // band, point\n ...(scale.align && {align: scale.align(), round: scale.round()}),\n ...(scale.padding &&\n (scale.paddingInner\n ? {paddingInner: scale.paddingInner(), paddingOuter: scale.paddingOuter()}\n : {padding: scale.padding()})),\n ...(scale.bandwidth && {bandwidth: scale.bandwidth(), step: scale.step()}),\n\n // utilities\n apply: (t) => scale(t),\n ...(scale.invert && {invert: (t) => scale.invert(t)})\n };\n}\n","import {format as isoFormat} from \"isoformat\";\nimport {string} from \"./options.js\";\nimport {memoize1} from \"./memoize.js\";\n\nconst numberFormat = memoize1((locale) => {\n return new Intl.NumberFormat(locale);\n});\n\nconst monthFormat = memoize1((locale, month) => {\n return new Intl.DateTimeFormat(locale, {timeZone: \"UTC\", ...(month && {month})});\n});\n\nconst weekdayFormat = memoize1((locale, weekday) => {\n return new Intl.DateTimeFormat(locale, {timeZone: \"UTC\", ...(weekday && {weekday})});\n});\n\nexport function formatNumber(locale = \"en-US\") {\n const format = numberFormat(locale);\n return (i) => (i != null && !isNaN(i) ? format.format(i) : undefined);\n}\n\nexport function formatMonth(locale = \"en-US\", format = \"short\") {\n const fmt = monthFormat(locale, format);\n return (i) => (i != null && !isNaN((i = +new Date(Date.UTC(2000, +i)))) ? fmt.format(i) : undefined);\n}\n\nexport function formatWeekday(locale = \"en-US\", format = \"short\") {\n const fmt = weekdayFormat(locale, format);\n return (i) => (i != null && !isNaN((i = +new Date(Date.UTC(2001, 0, +i)))) ? fmt.format(i) : undefined);\n}\n\nexport function formatIsoDate(date) {\n return isoFormat(date, \"Invalid Date\");\n}\n\nexport function formatAuto(locale = \"en-US\") {\n const number = formatNumber(locale);\n return (v) => (v instanceof Date ? formatIsoDate : typeof v === \"number\" ? number : string)(v);\n}\n\n// TODO When Plot supports a top-level locale option, this should be removed\n// because it lacks context to know which locale to use; formatAuto should be\n// used instead whenever possible.\nexport const formatDefault = formatAuto();\n","export function memoize1(compute) {\n let cacheValue, cacheKeys;\n return (...keys) => {\n if (cacheKeys?.length !== keys.length || cacheKeys.some((k, i) => k !== keys[i])) {\n cacheKeys = keys;\n cacheValue = compute(...keys);\n }\n return cacheValue;\n };\n}\n","import {geoPath, group, namespaces} from \"d3\";\nimport {create} from \"./context.js\";\nimport {defined, nonempty} from \"./defined.js\";\nimport {formatDefault} from \"./format.js\";\nimport {\n string,\n number,\n maybeColorChannel,\n maybeNumberChannel,\n maybeKeyword,\n isNoneish,\n isNone,\n isRound,\n keyof\n} from \"./options.js\";\nimport {warn} from \"./warnings.js\";\n\nexport const offset = (typeof window !== \"undefined\" ? window.devicePixelRatio > 1 : typeof it === \"undefined\") ? 0 : 0.5; // prettier-ignore\n\nlet nextClipId = 0;\n\nfunction getClipId() {\n return `plot-clip-${++nextClipId}`;\n}\n\nexport function styles(\n mark,\n {\n title,\n href,\n ariaLabel: variaLabel,\n ariaDescription,\n ariaHidden,\n target,\n fill,\n fillOpacity,\n stroke,\n strokeWidth,\n strokeOpacity,\n strokeLinejoin,\n strokeLinecap,\n strokeMiterlimit,\n strokeDasharray,\n strokeDashoffset,\n opacity,\n mixBlendMode,\n paintOrder,\n pointerEvents,\n shapeRendering\n },\n {\n ariaLabel: cariaLabel,\n fill: defaultFill = \"currentColor\",\n fillOpacity: defaultFillOpacity,\n stroke: defaultStroke = \"none\",\n strokeOpacity: defaultStrokeOpacity,\n strokeWidth: defaultStrokeWidth,\n strokeLinecap: defaultStrokeLinecap,\n strokeLinejoin: defaultStrokeLinejoin,\n strokeMiterlimit: defaultStrokeMiterlimit,\n paintOrder: defaultPaintOrder\n }\n) {\n // Some marks don’t support fill (e.g., tick and rule).\n if (defaultFill === null) {\n fill = null;\n fillOpacity = null;\n }\n\n // Some marks don’t support stroke (e.g., image).\n if (defaultStroke === null) {\n stroke = null;\n strokeOpacity = null;\n }\n\n // Some marks default to fill with no stroke, while others default to stroke\n // with no fill. For example, bar and area default to fill, while dot and line\n // default to stroke. For marks that fill by default, the default fill only\n // applies if the stroke is (constant) none; if you set a stroke, then the\n // default fill becomes none. Similarly for marks that stroke by stroke, the\n // default stroke only applies if the fill is (constant) none.\n if (isNoneish(defaultFill)) {\n if (!isNoneish(defaultStroke) && !isNoneish(fill)) defaultStroke = \"none\";\n } else {\n if (isNoneish(defaultStroke) && !isNoneish(stroke)) defaultFill = \"none\";\n }\n\n const [vfill, cfill] = maybeColorChannel(fill, defaultFill);\n const [vfillOpacity, cfillOpacity] = maybeNumberChannel(fillOpacity, defaultFillOpacity);\n const [vstroke, cstroke] = maybeColorChannel(stroke, defaultStroke);\n const [vstrokeOpacity, cstrokeOpacity] = maybeNumberChannel(strokeOpacity, defaultStrokeOpacity);\n const [vopacity, copacity] = maybeNumberChannel(opacity);\n\n // For styles that have no effect if there is no stroke, only apply the\n // defaults if the stroke is not the constant none. (If stroke is a channel,\n // then cstroke will be undefined, but there’s still a stroke; hence we don’t\n // use isNoneish here.)\n if (!isNone(cstroke)) {\n if (strokeWidth === undefined) strokeWidth = defaultStrokeWidth;\n if (strokeLinecap === undefined) strokeLinecap = defaultStrokeLinecap;\n if (strokeLinejoin === undefined) strokeLinejoin = defaultStrokeLinejoin;\n\n // The default stroke miterlimit need not be applied if the current stroke\n // is the constant round; this only has effect on miter joins.\n if (strokeMiterlimit === undefined && !isRound(strokeLinejoin)) strokeMiterlimit = defaultStrokeMiterlimit;\n\n // The paint order only takes effect if there is both a fill and a stroke\n // (at least if we ignore markers, which no built-in marks currently use).\n if (!isNone(cfill) && paintOrder === undefined) paintOrder = defaultPaintOrder;\n }\n\n const [vstrokeWidth, cstrokeWidth] = maybeNumberChannel(strokeWidth);\n\n // Some marks don’t support fill (e.g., tick and rule).\n if (defaultFill !== null) {\n mark.fill = impliedString(cfill, \"currentColor\");\n mark.fillOpacity = impliedNumber(cfillOpacity, 1);\n }\n\n // Some marks don’t support stroke (e.g., image).\n if (defaultStroke !== null) {\n mark.stroke = impliedString(cstroke, \"none\");\n mark.strokeWidth = impliedNumber(cstrokeWidth, 1);\n mark.strokeOpacity = impliedNumber(cstrokeOpacity, 1);\n mark.strokeLinejoin = impliedString(strokeLinejoin, \"miter\");\n mark.strokeLinecap = impliedString(strokeLinecap, \"butt\");\n mark.strokeMiterlimit = impliedNumber(strokeMiterlimit, 4);\n mark.strokeDasharray = impliedString(strokeDasharray, \"none\");\n mark.strokeDashoffset = impliedString(strokeDashoffset, \"0\");\n }\n\n mark.target = string(target);\n mark.ariaLabel = string(cariaLabel);\n mark.ariaDescription = string(ariaDescription);\n mark.ariaHidden = string(ariaHidden);\n mark.opacity = impliedNumber(copacity, 1);\n mark.mixBlendMode = impliedString(mixBlendMode, \"normal\");\n mark.paintOrder = impliedString(paintOrder, \"normal\");\n mark.pointerEvents = impliedString(pointerEvents, \"auto\");\n mark.shapeRendering = impliedString(shapeRendering, \"auto\");\n\n return {\n title: {value: title, optional: true},\n href: {value: href, optional: true},\n ariaLabel: {value: variaLabel, optional: true},\n fill: {value: vfill, scale: \"auto\", optional: true},\n fillOpacity: {value: vfillOpacity, scale: \"auto\", optional: true},\n stroke: {value: vstroke, scale: \"auto\", optional: true},\n strokeOpacity: {value: vstrokeOpacity, scale: \"auto\", optional: true},\n strokeWidth: {value: vstrokeWidth, optional: true},\n opacity: {value: vopacity, scale: \"auto\", optional: true}\n };\n}\n\n// Applies the specified titles via selection.call.\nexport function applyTitle(selection, L) {\n if (L)\n selection\n .filter((i) => nonempty(L[i]))\n .append(\"title\")\n .call(applyText, L);\n}\n\n// Like applyTitle, but for grouped data (lines, areas).\nexport function applyTitleGroup(selection, L) {\n if (L)\n selection\n .filter(([i]) => nonempty(L[i]))\n .append(\"title\")\n .call(applyTextGroup, L);\n}\n\nexport function applyText(selection, T) {\n if (T) selection.text((i) => formatDefault(T[i]));\n}\n\nexport function applyTextGroup(selection, T) {\n if (T) selection.text(([i]) => formatDefault(T[i]));\n}\n\nexport function applyChannelStyles(\n selection,\n {target},\n {\n ariaLabel: AL,\n title: T,\n fill: F,\n fillOpacity: FO,\n stroke: S,\n strokeOpacity: SO,\n strokeWidth: SW,\n opacity: O,\n href: H\n }\n) {\n if (AL) applyAttr(selection, \"aria-label\", (i) => AL[i]);\n if (F) applyAttr(selection, \"fill\", (i) => F[i]);\n if (FO) applyAttr(selection, \"fill-opacity\", (i) => FO[i]);\n if (S) applyAttr(selection, \"stroke\", (i) => S[i]);\n if (SO) applyAttr(selection, \"stroke-opacity\", (i) => SO[i]);\n if (SW) applyAttr(selection, \"stroke-width\", (i) => SW[i]);\n if (O) applyAttr(selection, \"opacity\", (i) => O[i]);\n if (H) applyHref(selection, (i) => H[i], target);\n applyTitle(selection, T);\n}\n\nexport function applyGroupedChannelStyles(\n selection,\n {target},\n {\n ariaLabel: AL,\n title: T,\n fill: F,\n fillOpacity: FO,\n stroke: S,\n strokeOpacity: SO,\n strokeWidth: SW,\n opacity: O,\n href: H\n }\n) {\n if (AL) applyAttr(selection, \"aria-label\", ([i]) => AL[i]);\n if (F) applyAttr(selection, \"fill\", ([i]) => F[i]);\n if (FO) applyAttr(selection, \"fill-opacity\", ([i]) => FO[i]);\n if (S) applyAttr(selection, \"stroke\", ([i]) => S[i]);\n if (SO) applyAttr(selection, \"stroke-opacity\", ([i]) => SO[i]);\n if (SW) applyAttr(selection, \"stroke-width\", ([i]) => SW[i]);\n if (O) applyAttr(selection, \"opacity\", ([i]) => O[i]);\n if (H) applyHref(selection, ([i]) => H[i], target);\n applyTitleGroup(selection, T);\n}\n\nfunction groupAesthetics({\n ariaLabel: AL,\n title: T,\n fill: F,\n fillOpacity: FO,\n stroke: S,\n strokeOpacity: SO,\n strokeWidth: SW,\n opacity: O,\n href: H\n}) {\n return [AL, T, F, FO, S, SO, SW, O, H].filter((c) => c !== undefined);\n}\n\nexport function groupZ(I, Z, z) {\n const G = group(I, (i) => Z[i]);\n if (z === undefined && G.size > I.length >> 1) {\n warn(\n `Warning: the implicit z channel has high cardinality. This may occur when the fill or stroke channel is associated with quantitative data rather than ordinal or categorical data. You can suppress this warning by setting the z option explicitly; if this data represents a single series, set z to null.`\n );\n }\n return G.values();\n}\n\nexport function* groupIndex(I, position, {z}, channels) {\n const {z: Z} = channels; // group channel\n const A = groupAesthetics(channels); // aesthetic channels\n const C = [...position, ...A]; // all channels\n\n // Group the current index by Z (if any).\n for (const G of Z ? groupZ(I, Z, z) : [I]) {\n let Ag; // the A-values (aesthetics) of the current group, if any\n let Gg; // the current group index (a subset of G, and I), if any\n out: for (const i of G) {\n // If any channel has an undefined value for this index, skip it.\n for (const c of C) {\n if (!defined(c[i])) {\n if (Gg) Gg.push(-1);\n continue out;\n }\n }\n\n // Otherwise, if this is a new group, record the aesthetics for this\n // group. Yield the current group and start a new one.\n if (Ag === undefined) {\n if (Gg) yield Gg;\n (Ag = A.map((c) => keyof(c[i]))), (Gg = [i]);\n continue;\n }\n\n // Otherwise, add the current index to the current group. Then, if any of\n // the aesthetics don’t match the current group, yield the current group\n // and start a new group of the current index.\n Gg.push(i);\n for (let j = 0; j < A.length; ++j) {\n const k = keyof(A[j][i]);\n if (k !== Ag[j]) {\n yield Gg;\n (Ag = A.map((c) => keyof(c[i]))), (Gg = [i]);\n continue out;\n }\n }\n }\n\n // Yield the current group, if any.\n if (Gg) yield Gg;\n }\n}\n\n// TODO Accept other types of clips (paths, urls, x, y, other marks…)?\n// https://github.com/observablehq/plot/issues/181\nexport function maybeClip(clip) {\n if (clip === true) clip = \"frame\";\n else if (clip === false) clip = null;\n return maybeKeyword(clip, \"clip\", [\"frame\", \"sphere\"]);\n}\n\n// Note: may mutate selection.node!\nfunction applyClip(selection, mark, dimensions, context) {\n let clipUrl;\n switch (mark.clip) {\n case \"frame\": {\n const {width, height, marginLeft, marginRight, marginTop, marginBottom} = dimensions;\n const id = getClipId();\n clipUrl = `url(#${id})`;\n selection = create(\"svg:g\", context)\n .call((g) =>\n g\n .append(\"svg:clipPath\")\n .attr(\"id\", id)\n .append(\"rect\")\n .attr(\"x\", marginLeft)\n .attr(\"y\", marginTop)\n .attr(\"width\", width - marginRight - marginLeft)\n .attr(\"height\", height - marginTop - marginBottom)\n )\n .each(function () {\n this.appendChild(selection.node());\n selection.node = () => this; // Note: mutation!\n });\n break;\n }\n case \"sphere\": {\n const {projection} = context;\n if (!projection) throw new Error(`the \"sphere\" clip option requires a projection`);\n const id = getClipId();\n clipUrl = `url(#${id})`;\n selection\n .append(\"clipPath\")\n .attr(\"id\", id)\n .append(\"path\")\n .attr(\"d\", geoPath(projection)({type: \"Sphere\"}));\n break;\n }\n }\n // Here we’re careful to apply the ARIA attributes to the outer G element when\n // clipping is applied, and to apply the ARIA attributes before any other\n // attributes (for readability).\n applyAttr(selection, \"aria-label\", mark.ariaLabel);\n applyAttr(selection, \"aria-description\", mark.ariaDescription);\n applyAttr(selection, \"aria-hidden\", mark.ariaHidden);\n applyAttr(selection, \"clip-path\", clipUrl);\n}\n\n// Note: may mutate selection.node!\nexport function applyIndirectStyles(selection, mark, dimensions, context) {\n applyClip(selection, mark, dimensions, context);\n applyAttr(selection, \"fill\", mark.fill);\n applyAttr(selection, \"fill-opacity\", mark.fillOpacity);\n applyAttr(selection, \"stroke\", mark.stroke);\n applyAttr(selection, \"stroke-width\", mark.strokeWidth);\n applyAttr(selection, \"stroke-opacity\", mark.strokeOpacity);\n applyAttr(selection, \"stroke-linejoin\", mark.strokeLinejoin);\n applyAttr(selection, \"stroke-linecap\", mark.strokeLinecap);\n applyAttr(selection, \"stroke-miterlimit\", mark.strokeMiterlimit);\n applyAttr(selection, \"stroke-dasharray\", mark.strokeDasharray);\n applyAttr(selection, \"stroke-dashoffset\", mark.strokeDashoffset);\n applyAttr(selection, \"shape-rendering\", mark.shapeRendering);\n applyAttr(selection, \"paint-order\", mark.paintOrder);\n applyAttr(selection, \"pointer-events\", mark.pointerEvents);\n}\n\nexport function applyDirectStyles(selection, mark) {\n applyStyle(selection, \"mix-blend-mode\", mark.mixBlendMode);\n applyAttr(selection, \"opacity\", mark.opacity);\n}\n\nfunction applyHref(selection, href, target) {\n selection.each(function (i) {\n const h = href(i);\n if (h != null) {\n const a = this.ownerDocument.createElementNS(namespaces.svg, \"a\");\n a.setAttribute(\"fill\", \"inherit\");\n a.setAttributeNS(namespaces.xlink, \"href\", h);\n if (target != null) a.setAttribute(\"target\", target);\n this.parentNode.insertBefore(a, this).appendChild(this);\n }\n });\n}\n\nexport function applyAttr(selection, name, value) {\n if (value != null) selection.attr(name, value);\n}\n\nexport function applyStyle(selection, name, value) {\n if (value != null) selection.style(name, value);\n}\n\nexport function applyTransform(selection, mark, {x, y}, tx = offset, ty = offset) {\n tx += mark.dx;\n ty += mark.dy;\n if (x?.bandwidth) tx += x.bandwidth() / 2;\n if (y?.bandwidth) ty += y.bandwidth() / 2;\n if (tx || ty) selection.attr(\"transform\", `translate(${tx},${ty})`);\n}\n\nexport function impliedString(value, impliedValue) {\n if ((value = string(value)) !== impliedValue) return value;\n}\n\nexport function impliedNumber(value, impliedValue) {\n if ((value = number(value)) !== impliedValue) return value;\n}\n\n// https://www.w3.org/TR/CSS21/grammar.html\nconst validClassName =\n /^-?([_a-z]|[\\240-\\377]|\\\\[0-9a-f]{1,6}(\\r\\n|[ \\t\\r\\n\\f])?|\\\\[^\\r\\n\\f0-9a-f])([_a-z0-9-]|[\\240-\\377]|\\\\[0-9a-f]{1,6}(\\r\\n|[ \\t\\r\\n\\f])?|\\\\[^\\r\\n\\f0-9a-f])*$/i;\n\nexport function maybeClassName(name) {\n // The default should be changed whenever the default styles are changed, so\n // as to avoid conflict when multiple versions of Plot are on the page.\n if (name === undefined) return \"plot-d6a7b5\";\n name = `${name}`;\n if (!validClassName.test(name)) throw new Error(`invalid class name: ${name}`);\n return name;\n}\n\nexport function applyInlineStyles(selection, style) {\n if (typeof style === \"string\") {\n selection.property(\"style\", style);\n } else if (style != null) {\n for (const element of selection) {\n Object.assign(element.style, style);\n }\n }\n}\n\nexport function applyFrameAnchor({frameAnchor}, {width, height, marginTop, marginRight, marginBottom, marginLeft}) {\n return [\n /left$/.test(frameAnchor)\n ? marginLeft\n : /right$/.test(frameAnchor)\n ? width - marginRight\n : (marginLeft + width - marginRight) / 2,\n /^top/.test(frameAnchor)\n ? marginTop\n : /^bottom/.test(frameAnchor)\n ? height - marginBottom\n : (marginTop + height - marginBottom) / 2\n ];\n}\n","import {format, utcFormat} from \"d3\";\nimport {formatIsoDate} from \"./format.js\";\nimport {constant, isTemporal, string} from \"./options.js\";\nimport {isOrdinalScale} from \"./scales.js\";\n\nexport function inferFontVariant(scale) {\n return isOrdinalScale(scale) && scale.interval === undefined ? undefined : \"tabular-nums\";\n}\n\n// D3 doesn’t provide a tick format for ordinal scales; we want shorthand when\n// an ordinal domain is numbers or dates, and we want null to mean the empty\n// string, not the default identity format. TODO Remove this in favor of the\n// axis mark’s inferTickFormat.\nexport function maybeAutoTickFormat(tickFormat, domain) {\n return tickFormat === undefined\n ? isTemporal(domain)\n ? formatIsoDate\n : string\n : typeof tickFormat === \"function\"\n ? tickFormat\n : (typeof tickFormat === \"string\" ? (isTemporal(domain) ? utcFormat : format) : constant)(tickFormat);\n}\n","import {pathRound as path} from \"d3\";\nimport {inferFontVariant, maybeAutoTickFormat} from \"../axes.js\";\nimport {createContext, create} from \"../context.js\";\nimport {isNoneish, maybeColorChannel, maybeNumberChannel} from \"../options.js\";\nimport {isOrdinalScale, isThresholdScale} from \"../scales.js\";\nimport {applyInlineStyles, impliedString, maybeClassName} from \"../style.js\";\n\nfunction maybeScale(scale, key) {\n if (key == null) return key;\n const s = scale(key);\n if (!s) throw new Error(`scale not found: ${key}`);\n return s;\n}\n\nexport function legendSwatches(color, {opacity, ...options} = {}) {\n if (!isOrdinalScale(color) && !isThresholdScale(color))\n throw new Error(`swatches legend requires ordinal or threshold color scale (not ${color.type})`);\n return legendItems(color, options, (selection, scale, width, height) =>\n selection\n .append(\"svg\")\n .attr(\"width\", width)\n .attr(\"height\", height)\n .attr(\"fill\", scale.scale)\n .attr(\"fill-opacity\", maybeNumberChannel(opacity)[1])\n .append(\"rect\")\n .attr(\"width\", \"100%\")\n .attr(\"height\", \"100%\")\n );\n}\n\nexport function legendSymbols(\n symbol,\n {\n fill = symbol.hint?.fill !== undefined ? symbol.hint.fill : \"none\",\n fillOpacity = 1,\n stroke = symbol.hint?.stroke !== undefined ? symbol.hint.stroke : isNoneish(fill) ? \"currentColor\" : \"none\",\n strokeOpacity = 1,\n strokeWidth = 1.5,\n r = 4.5,\n ...options\n } = {},\n scale\n) {\n const [vf, cf] = maybeColorChannel(fill);\n const [vs, cs] = maybeColorChannel(stroke);\n const sf = maybeScale(scale, vf);\n const ss = maybeScale(scale, vs);\n const size = r * r * Math.PI;\n fillOpacity = maybeNumberChannel(fillOpacity)[1];\n strokeOpacity = maybeNumberChannel(strokeOpacity)[1];\n strokeWidth = maybeNumberChannel(strokeWidth)[1];\n return legendItems(symbol, options, (selection, scale, width, height) =>\n selection\n .append(\"svg\")\n .attr(\"viewBox\", \"-8 -8 16 16\")\n .attr(\"width\", width)\n .attr(\"height\", height)\n .attr(\"fill\", vf === \"color\" ? (d) => sf.scale(d) : cf)\n .attr(\"fill-opacity\", fillOpacity)\n .attr(\"stroke\", vs === \"color\" ? (d) => ss.scale(d) : cs)\n .attr(\"stroke-opacity\", strokeOpacity)\n .attr(\"stroke-width\", strokeWidth)\n .append(\"path\")\n .attr(\"d\", (d) => {\n const p = path();\n symbol.scale(d).draw(p, size);\n return p;\n })\n );\n}\n\nfunction legendItems(scale, options = {}, swatch) {\n let {\n columns,\n tickFormat,\n fontVariant = inferFontVariant(scale),\n // TODO label,\n swatchSize = 15,\n swatchWidth = swatchSize,\n swatchHeight = swatchSize,\n marginLeft = 0,\n className,\n style,\n width\n } = options;\n const context = createContext(options);\n className = maybeClassName(className);\n tickFormat = maybeAutoTickFormat(tickFormat, scale.domain);\n\n const swatches = create(\"div\", context).attr(\n \"class\",\n `${className}-swatches ${className}-swatches-${columns != null ? \"columns\" : \"wrap\"}`\n );\n\n let extraStyle;\n\n if (columns != null) {\n extraStyle = `.${className}-swatches-columns .${className}-swatch {\n display: flex;\n align-items: center;\n break-inside: avoid;\n padding-bottom: 1px;\n}\n.${className}-swatches-columns .${className}-swatch::before {\n flex-shrink: 0;\n}\n.${className}-swatches-columns .${className}-swatch-label {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}`;\n\n swatches\n .style(\"columns\", columns)\n .selectAll()\n .data(scale.domain)\n .enter()\n .append(\"div\")\n .attr(\"class\", `${className}-swatch`)\n .call(swatch, scale, swatchWidth, swatchHeight)\n .call((item) =>\n item.append(\"div\").attr(\"class\", `${className}-swatch-label`).attr(\"title\", tickFormat).text(tickFormat)\n );\n } else {\n extraStyle = `.${className}-swatches-wrap {\n display: flex;\n align-items: center;\n min-height: 33px;\n flex-wrap: wrap;\n}\n.${className}-swatches-wrap .${className}-swatch {\n display: inline-flex;\n align-items: center;\n margin-right: 1em;\n}`;\n\n swatches\n .selectAll()\n .data(scale.domain)\n .enter()\n .append(\"span\")\n .attr(\"class\", `${className}-swatch`)\n .call(swatch, scale, swatchWidth, swatchHeight)\n .append(function () {\n return this.ownerDocument.createTextNode(tickFormat.apply(this, arguments));\n });\n }\n\n return swatches\n .call((div) =>\n div.insert(\"style\", \"*\").text(\n `.${className}-swatches {\n font-family: system-ui, sans-serif;\n font-size: 10px;\n margin-bottom: 0.5em;\n}\n.${className}-swatch > svg {\n margin-right: 0.5em;\n overflow: visible;\n}\n${extraStyle}`\n )\n )\n .style(\"margin-left\", marginLeft ? `${+marginLeft}px` : null)\n .style(\"width\", width === undefined ? null : `${+width}px`)\n .style(\"font-variant\", impliedString(fontVariant, \"normal\"))\n .call(applyInlineStyles, style)\n .node();\n}\n","import {rgb} from \"d3\";\nimport {createContext} from \"./context.js\";\nimport {legendRamp} from \"./legends/ramp.js\";\nimport {legendSwatches, legendSymbols} from \"./legends/swatches.js\";\nimport {inherit, isScaleOptions} from \"./options.js\";\nimport {normalizeScale} from \"./scales.js\";\n\nconst legendRegistry = new Map([\n [\"symbol\", legendSymbols],\n [\"color\", legendColor],\n [\"opacity\", legendOpacity]\n]);\n\nexport function legend(options = {}) {\n for (const [key, value] of legendRegistry) {\n const scale = options[key];\n if (isScaleOptions(scale)) {\n // e.g., ignore {color: \"red\"}\n const context = createContext(options);\n let hint;\n // For symbol legends, pass a hint to the symbol scale.\n if (key === \"symbol\") {\n const {fill, stroke = fill === undefined && isScaleOptions(options.color) ? \"color\" : undefined} = options;\n hint = {fill, stroke};\n }\n return value(normalizeScale(key, scale, hint), legendOptions(context, scale, options), (key) =>\n isScaleOptions(options[key]) ? normalizeScale(key, options[key]) : null\n );\n }\n }\n throw new Error(\"unknown legend type; no scale found\");\n}\n\nexport function exposeLegends(scales, context, defaults = {}) {\n return (key, options) => {\n if (!legendRegistry.has(key)) throw new Error(`unknown legend type: ${key}`);\n if (!(key in scales)) return;\n return legendRegistry.get(key)(scales[key], legendOptions(context, defaults[key], options), (key) => scales[key]);\n };\n}\n\nfunction legendOptions({className, ...context}, {label, ticks, tickFormat} = {}, options) {\n return inherit(options, {className, ...context}, {label, ticks, tickFormat});\n}\n\nfunction legendColor(color, {legend = true, ...options}) {\n if (legend === true) legend = color.type === \"ordinal\" ? \"swatches\" : \"ramp\";\n if (color.domain === undefined) return;\n switch (`${legend}`.toLowerCase()) {\n case \"swatches\":\n return legendSwatches(color, options);\n case \"ramp\":\n return legendRamp(color, options);\n default:\n throw new Error(`unknown legend type: ${legend}`);\n }\n}\n\nfunction legendOpacity({type, interpolate, ...scale}, {legend = true, color = rgb(0, 0, 0), ...options}) {\n if (!interpolate) throw new Error(`${type} opacity scales are not supported`);\n if (legend === true) legend = \"ramp\";\n if (`${legend}`.toLowerCase() !== \"ramp\") throw new Error(`${legend} opacity legends are not supported`);\n return legendColor({type, ...scale, interpolate: interpolateOpacity(color)}, {legend, ...options});\n}\n\nfunction interpolateOpacity(color) {\n const {r, g, b} = rgb(color) || rgb(0, 0, 0); // treat invalid color as black\n return (t) => `rgba(${r},${g},${b},${t})`;\n}\n\nexport function createLegends(scales, context, options) {\n const legends = [];\n for (const [key, value] of legendRegistry) {\n const o = options[key];\n if (o?.legend && key in scales) {\n const legend = value(scales[key], legendOptions(context, scales[key], o), (key) => scales[key]);\n if (legend != null) legends.push(legend);\n }\n }\n return legends;\n}\n","import {quantize, interpolateNumber, piecewise, format, scaleBand, scaleLinear, axisBottom} from \"d3\";\nimport {inferFontVariant} from \"../axes.js\";\nimport {createContext, create} from \"../context.js\";\nimport {map, maybeNumberChannel} from \"../options.js\";\nimport {interpolatePiecewise} from \"../scales/quantitative.js\";\nimport {applyInlineStyles, impliedString, maybeClassName} from \"../style.js\";\n\nexport function legendRamp(color, options) {\n let {\n label = color.label,\n tickSize = 6,\n width = 240,\n height = 44 + tickSize,\n marginTop = 18,\n marginRight = 0,\n marginBottom = 16 + tickSize,\n marginLeft = 0,\n style,\n ticks = (width - marginLeft - marginRight) / 64,\n tickFormat,\n fontVariant = inferFontVariant(color),\n round = true,\n opacity,\n className\n } = options;\n const context = createContext(options);\n className = maybeClassName(className);\n opacity = maybeNumberChannel(opacity)[1];\n if (tickFormat === null) tickFormat = () => null;\n\n const svg = create(\"svg\", context)\n .attr(\"class\", `${className}-ramp`)\n .attr(\"font-family\", \"system-ui, sans-serif\")\n .attr(\"font-size\", 10)\n .attr(\"width\", width)\n .attr(\"height\", height)\n .attr(\"viewBox\", `0 0 ${width} ${height}`)\n .call((svg) =>\n // Warning: if you edit this, change defaultClassName.\n svg.append(\"style\").text(\n `.${className}-ramp {\n display: block;\n background: white;\n height: auto;\n height: intrinsic;\n max-width: 100%;\n overflow: visible;\n}\n.${className}-ramp text {\n white-space: pre;\n}`\n )\n )\n .call(applyInlineStyles, style);\n\n let tickAdjust = (g) => g.selectAll(\".tick line\").attr(\"y1\", marginTop + marginBottom - height);\n\n let x;\n\n // Some D3 scales use scale.interpolate, some scale.interpolator, and some\n // scale.round; this normalizes the API so it works with all scale types.\n const applyRange = round ? (x, range) => x.rangeRound(range) : (x, range) => x.range(range);\n\n const {type, domain, range, interpolate, scale, pivot} = color;\n\n // Continuous\n if (interpolate) {\n // Often interpolate is a “fixed” interpolator on the [0, 1] interval, as\n // with a built-in color scheme, but sometimes it is a function that takes\n // two arguments and is used in conjunction with the range.\n const interpolator =\n range === undefined\n ? interpolate\n : piecewise(interpolate.length === 1 ? interpolatePiecewise(interpolate) : interpolate, range);\n\n // Construct a D3 scale of the same type, but with a range that evenly\n // divides the horizontal extent of the legend. (In the common case, the\n // domain.length is two, and so the range is simply the extent.) For a\n // diverging scale, we need an extra point in the range for the pivot such\n // that the pivot is always drawn in the middle.\n x = applyRange(\n scale.copy(),\n quantize(\n interpolateNumber(marginLeft, width - marginRight),\n Math.min(domain.length + (pivot !== undefined), range === undefined ? Infinity : range.length)\n )\n );\n\n // Construct a 256×1 canvas, filling each pixel using the interpolator.\n const n = 256;\n const canvas = context.document.createElement(\"canvas\");\n canvas.width = n;\n canvas.height = 1;\n const context2 = canvas.getContext(\"2d\");\n for (let i = 0, j = n - 1; i < n; ++i) {\n context2.fillStyle = interpolator(i / j);\n context2.fillRect(i, 0, 1, 1);\n }\n\n svg\n .append(\"image\")\n .attr(\"opacity\", opacity)\n .attr(\"x\", marginLeft)\n .attr(\"y\", marginTop)\n .attr(\"width\", width - marginLeft - marginRight)\n .attr(\"height\", height - marginTop - marginBottom)\n .attr(\"preserveAspectRatio\", \"none\")\n .attr(\"xlink:href\", canvas.toDataURL());\n }\n\n // Threshold\n else if (type === \"threshold\") {\n const thresholds = domain;\n\n const thresholdFormat =\n tickFormat === undefined ? (d) => d : typeof tickFormat === \"string\" ? format(tickFormat) : tickFormat;\n\n // Construct a linear scale with evenly-spaced ticks for each of the\n // thresholds; the domain extends one beyond the threshold extent.\n x = applyRange(scaleLinear().domain([-1, range.length - 1]), [marginLeft, width - marginRight]);\n\n svg\n .append(\"g\")\n .attr(\"fill-opacity\", opacity)\n .selectAll()\n .data(range)\n .enter()\n .append(\"rect\")\n .attr(\"x\", (d, i) => x(i - 1))\n .attr(\"y\", marginTop)\n .attr(\"width\", (d, i) => x(i) - x(i - 1))\n .attr(\"height\", height - marginTop - marginBottom)\n .attr(\"fill\", (d) => d);\n\n ticks = map(thresholds, (_, i) => i);\n tickFormat = (i) => thresholdFormat(thresholds[i], i);\n }\n\n // Ordinal (hopefully!)\n else {\n x = applyRange(scaleBand().domain(domain), [marginLeft, width - marginRight]);\n\n svg\n .append(\"g\")\n .attr(\"fill-opacity\", opacity)\n .selectAll()\n .data(domain)\n .enter()\n .append(\"rect\")\n .attr(\"x\", x)\n .attr(\"y\", marginTop)\n .attr(\"width\", Math.max(0, x.bandwidth() - 1))\n .attr(\"height\", height - marginTop - marginBottom)\n .attr(\"fill\", scale);\n\n tickAdjust = () => {};\n }\n\n svg\n .append(\"g\")\n .attr(\"transform\", `translate(0,${height - marginBottom})`)\n .call(\n axisBottom(x)\n .ticks(Array.isArray(ticks) ? null : ticks, typeof tickFormat === \"string\" ? tickFormat : undefined)\n .tickFormat(typeof tickFormat === \"function\" ? tickFormat : undefined)\n .tickSize(tickSize)\n .tickValues(Array.isArray(ticks) ? ticks : null)\n )\n .attr(\"font-size\", null)\n .attr(\"font-family\", null)\n .attr(\"font-variant\", impliedString(fontVariant, \"normal\"))\n .call(tickAdjust)\n .call((g) => g.select(\".domain\").remove());\n\n if (label !== undefined) {\n svg\n .append(\"text\")\n .attr(\"x\", marginLeft)\n .attr(\"y\", marginTop - 6)\n .attr(\"fill\", \"currentColor\") // TODO move to stylesheet?\n .attr(\"font-weight\", \"bold\")\n .text(label);\n }\n\n return svg.node();\n}\n","import { select } from 'd3-selection';\nimport { legend } from '@observablehq/plot';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport type { IPlugin, PluginOptions } from '../index';\n\ninterface LegendOptions extends PluginOptions {\n enabled: boolean;\n itemSelector: string | null;\n label: string | null;\n width: number;\n}\n\nconst DEFAULT_SELECTOR = '#ch-plugin-legend';\n\nconst defaultOptions: LegendOptions = {\n // Whether to display the legend\n enabled: true,\n\n itemSelector: null,\n\n label: null,\n\n width: 130,\n};\n\nexport default class Legend implements IPlugin {\n name = 'Legend';\n\n calendar: CalHeatmap;\n\n root: any;\n\n shown: boolean;\n\n options: LegendOptions;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n this.root = null;\n this.shown = false;\n this.options = defaultOptions;\n }\n\n setup(pluginOptions?: Partial): void {\n this.options = { ...defaultOptions, ...pluginOptions };\n }\n\n paint(): Promise {\n const scaleOptions = this.calendar.options.options.scale;\n const { enabled, itemSelector } = this.options;\n\n if (!enabled || (itemSelector && select(itemSelector).empty())) {\n return this.destroy();\n }\n\n this.shown = true;\n\n this.root = select(\n itemSelector || this.calendar.options.options.itemSelector,\n );\n\n if (this.root.select(DEFAULT_SELECTOR).empty()) {\n this.root = this.root.append('div').attr('id', DEFAULT_SELECTOR.slice(1));\n } else {\n this.root = this.root.select(DEFAULT_SELECTOR);\n }\n\n // @ts-ignore\n const node = legend({\n ...scaleOptions,\n ...this.options,\n });\n\n this.root.selectAll('*').remove();\n this.root.append(() => node);\n\n return Promise.resolve();\n }\n\n destroy(): Promise {\n if (this.root !== null) {\n this.root.remove();\n this.root = null;\n }\n\n return Promise.resolve();\n }\n}\n"],"names":["fails","exec","error","descriptors","require$$0","Object","defineProperty","get","functionBindNative","test","bind","hasOwnProperty","NATIVE_BIND","FunctionPrototype","Function","prototype","call","uncurryThisWithBind","functionUncurryThis","fn","apply","arguments","isNullOrUndefined","it","$TypeError","TypeError","requireObjectCoercible","$Object","toObject","argument","require$$1","hasOwnProperty_1","hasOwn","key","DESCRIPTORS","getDescriptor","getOwnPropertyDescriptor","EXISTS","functionName","PROPER","name","CONFIGURABLE","configurable","makeBuiltIn$3","exports","documentAll","document","all","documentAll_1","IS_HTMLDDA","undefined","isCallable","check","Math","global","globalThis","window","self","this","defineGlobalProperty","value","writable","SHARED","sharedStore","store","require$$2","functionToString","toString","inspectSource","match","version","WeakMap","weakMapBasicDetection","String","isObject","objectDefineProperty","createElement","documentCreateElement","ie8DomDefine","a","v8PrototypeDefineBug","$String","anObject","functionCall","getBuiltIn","namespace","method","length","objectIsPrototypeOf","isPrototypeOf","engineUserAgent","navigator","userAgent","process","Deno","versions","v8","split","engineV8Version","V8_VERSION","symbolConstructorDetection","getOwnPropertySymbols","symbol","Symbol","sham","useSymbolAsUid","iterator","isSymbol","require$$3","$Symbol","tryToString","aCallable","getMethod","V","P","func","shared$3","sharedModule","push","mode","copyright","license","source","uncurryThis","id","postfix","random","uid","shared","NATIVE_SYMBOL","require$$4","USE_SYMBOL_AS_UID","require$$5","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","wellKnownSymbol","ordinaryToPrimitive","input","pref","val","valueOf","TO_PRIMITIVE","toPrimitive","result","exoticToPrim","toPropertyKey","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","WRITABLE","f","O","Attributes","current","enumerable","set","has","createPropertyDescriptor","bitmap","definePropertyModule","createNonEnumerableProperty","object","keys","hiddenKeys","NATIVE_WEAK_MAP","sharedKey","require$$7","OBJECT_ALREADY_INITIALIZED","state","metadata","facade","STATE","internalState","enforce","getterFor","TYPE","type","CONFIGURABLE_FUNCTION_NAME","require$$6","enforceInternalState","getInternalState","stringSlice","slice","replace","join","CONFIGURABLE_LENGTH","TEMPLATE","makeBuiltIn","makeBuiltInModule","options","getter","setter","arity","constructor","defineBuiltInAccessor","target","descriptor","FUNCTION_NAME_EXISTS","nameRE","regExpExec","objectGetOwnPropertyDescriptor","objectPropertyIsEnumerable","$propertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","classofRaw","classof","indexedObject","IndexedObject","toIndexedObject","propertyIsEnumerableModule","defineBuiltIn","simple","unsafe","nonConfigurable","nonWritable","ceil","floor","trunc","x","n","toIntegerOrInfinity","number","max","min","toLength","lengthOfArrayLike","obj","toAbsoluteIndex","index","integer","createMethod","IS_INCLUDES","$this","el","fromIndex","arrayIncludes","includes","indexOf","objectKeysInternal","names","i","enumBugKeys","internalObjectKeys","concat","objectGetOwnPropertyNames","getOwnPropertyNames","objectGetOwnPropertySymbols","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","ownKeys","getOwnPropertyDescriptorModule","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","toLowerCase","isForced_1","copyConstructorProperties","exceptions","_export","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","forced","objectKeys","require$$8","$assign","assign","objectAssign","b","A","B","alphabet","forEach","chr","T","argumentsLength","S","j","toStringTagSupport","TO_STRING_TAG_SUPPORT","TO_STRING_TAG","CORRECT_ARGUMENTS","tag","tryGet","callee","engineIsNode","uncurryThisAccessor","aPossiblePrototype","objectSetPrototypeOf","setPrototypeOf","CORRECT_SETTER","Array","proto","__proto__","SPECIES","noop","empty","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","$location","defer","channel","port","isConstructor","called","aConstructor","functionApply","Reflect","functionBindContext","that","html","arraySlice","engineIsIos","validateArgumentsLength","passed","required","IS_IOS","require$$10","IS_NODE","require$$11","setImmediate","clear","clearImmediate","Dispatch","MessageChannel","counter","queue","ONREADYSTATECHANGE","location","run","runner","eventListener","event","globalPostMessageDefer","postMessage","protocol","host","handler","args","nextTick","now","port2","port1","onmessage","addEventListener","importScripts","appendChild","removeChild","setTimeout","task","Queue","head","tail","add","item","entry","next","notify","toggle","node","promise","then","engineIsIosPebble","Pebble","engineIsWebosWebkit","macrotask","IS_IOS_PEBBLE","IS_WEBOS_WEBKIT","MutationObserver","WebKitMutationObserver","Promise","queueMicrotaskDescriptor","microtask","flush","parent","domain","exit","enter","resolve","createTextNode","observe","characterData","microtask_1","perform","promiseNativeConstructor","engineIsDeno","engineIsBrowser","NativePromiseConstructor","IS_BROWSER","IS_DENO","require$$9","SUBCLASSING","NATIVE_PROMISE_REJECTION_EVENT","PromiseRejectionEvent","FORCED_PROMISE_CONSTRUCTOR","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","FakePromise","promiseConstructorDetection","CONSTRUCTOR","REJECTION_EVENT","newPromiseCapability$2","PromiseCapability","C","reject","$$resolve","$$reject","newPromiseCapability","Internal","OwnPromiseCapability","nativeThen","$","setToStringTag","TAG","setSpecies","CONSTRUCTOR_NAME","Constructor","anInstance","Prototype","speciesConstructor","defaultConstructor","require$$14","require$$15","hostReportErrors","console","require$$17","require$$18","InternalStateModule","require$$19","require$$20","newPromiseCapabilityModule","require$$22","PROMISE","require$$21","NATIVE_PROMISE_SUBCLASSING","getInternalPromiseState","setInternalState","NativePromisePrototype","PromiseConstructor","PromisePrototype","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","isThenable","callReaction","reaction","exited","ok","fail","rejection","onHandleUnhandled","isReject","notified","reactions","onUnhandled","reason","initEvent","isUnhandled","emit","unwrap","internalReject","done","internalResolve","wrapper","executor","onFulfilled","onRejected","PromiseWrapper","wrap","iterators","Iterators","ITERATOR","ArrayPrototype","getIteratorMethod","isArrayIteratorMethod","getIterator","usingIterator","iteratorMethod","iteratorClose","kind","innerResult","innerError","Result","stopped","ResultPrototype","iterate","iterable","unboundFunction","iterFn","step","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","stop","condition","callFn","SAFE_CLOSING","iteratorWithReturn","return","from","checkCorrectnessOfIteration","SKIP_CLOSING","ITERATION_SUPPORT","promiseStaticsIncorrectIteration","capability","$promiseResolve","values","remaining","alreadyCalled","real","catch","race","r","promiseResolve","promiseCapability","defined","Number","isNaN","ascendingDefined","ascending","finite","isFinite","NaN","positive","negative","format","date","fallback","Date","hours","getUTCHours","minutes","getUTCMinutes","seconds","getUTCSeconds","milliseconds","getUTCMilliseconds","year","getUTCFullYear","pad","getUTCMonth","getUTCDate","width","padStart","re","parse","timeIntervals","Map","timeSecond","timeMinute","timeHour","timeDay","timeWeek","timeMonth","every","timeYear","timeMonday","timeTuesday","timeWednesday","timeThursday","timeFriday","timeSaturday","timeSunday","utcIntervals","utcSecond","utcMinute","utcHour","utcDay","utcWeek","utcMonth","utcYear","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","utcSunday","maybeTimeInterval","interval","Error","maybeUtcInterval","TypedArray","getPrototypeOf","Uint8Array","objectToString","constant","coerceNumbers","map","coerceNumber","Float64Array","coerceDates","coerceDate","isoParse","maybeColorChannel","defaultValue","trim","startsWith","endsWith","color","isColor","maybeNumberChannel","arrayify","option","isScaleOptions","maybeInterval","isInteger","abs","d","offset","range","lo","hi","rangei","maybeRangeInterval","isOrdinal","isTemporal","isTemporalString","isNumericString","isNoneish","isNone","orderof","first","last","descending","position","radius","opacity","registry","sqrt4_3","sqrt","symbols","symbolAsterisk","symbolCircle","symbolCross","symbolDiamond","symbolDiamond2","draw","context","size","rx","PI","ry","hy","moveTo","lineTo","closePath","symbolPlus","symbolSquare","symbolSquare2","symbolStar","symbolTimes","symbolTriangle","symbolTriangle2","symbolWye","maybeSymbol","isSymbolObject","warn","message","pi","tau","createProjection","projection","inset","globalInset","insetTop","insetRight","insetBottom","insetLeft","dimensions","stream","clip","scaleProjection","geoAlbersUsa","conicProjection","geoAlbers","geoAzimuthalEqualArea","geoAzimuthalEquidistant","geoConicConformal","geoConicEqualArea","geoConicEquidistant","geoEqualEarth","geoEquirectangular","geoGnomonic","identity","reflectY","geoMercator","geoOrthographic","geoStereographic","geoTransverseMercator","namedProjection","height","marginLeft","marginRight","marginTop","marginBottom","dx","dy","x1","y1","x2","y2","s","geoClipRectangle","maybePostClip","transform","tx","ty","x0","y0","geoPath","bounds","k","geoTransform","point","y","kx","ky","rotate","precision","clipAngle","scale","translate","aspectRatio","parallels","fitSize","createContext","className","create","select","creator","documentElement","ordinalSchemes","schemeAccent","schemeCategory10","schemeDark2","schemePaired","schemePastel1","schemePastel2","schemeSet1","schemeSet2","schemeSet3","schemeTableau10","scheme11","schemeBrBG","interpolateBrBG","schemePRGn","interpolatePRGn","schemePiYG","interpolatePiYG","schemePuOr","interpolatePuOr","schemeRdBu","interpolateRdBu","schemeRdGy","interpolateRdGy","schemeRdYlBu","interpolateRdYlBu","schemeRdYlGn","interpolateRdYlGn","schemeSpectral","interpolateSpectral","scheme11r","scheme9","schemeBlues","interpolateBlues","schemeGreens","interpolateGreens","schemeGreys","interpolateGreys","schemeOranges","interpolateOranges","schemePurples","interpolatePurples","schemeReds","interpolateReds","schemei","interpolateTurbo","interpolateViridis","interpolateMagma","interpolateInferno","interpolatePlasma","interpolateCividis","interpolateCubehelixDefault","interpolateWarm","interpolateCool","schemeBuGn","interpolateBuGn","schemeBuPu","interpolateBuPu","schemeGnBu","interpolateGnBu","schemeOrRd","interpolateOrRd","schemePuBu","interpolatePuBu","schemePuBuGn","interpolatePuBuGn","schemePuRd","interpolatePuRd","schemeRdPu","interpolateRdPu","schemeYlGn","interpolateYlGn","schemeYlGnBu","interpolateYlGnBu","schemeYlOrBr","interpolateYlOrBr","schemeYlOrRd","interpolateYlOrRd","schemeicyclical","interpolateRainbow","interpolateSinebow","scheme","interpolate","quantize","t","reverse","ordinalScheme","ordinalRange","quantitativeSchemes","quantitativeScheme","divergingSchemes","Set","isDivergingScheme","flip","unit","interpolators","interpolateNumber","interpolateRgb","interpolateHsl","interpolateHcl","interpolateLab","maybeInterpolator","createScaleQ","channels","nice","clamp","zero","inferAutoDomain","unknown","round","inferRadialRange","inferLengthRange","interpolateRound","_","interpolatePiecewise","extent","sign","reverseof","maybeNiceInterval","maybeNice","createScalePow","exponent","scalePow","createScaleThreshold","isOrdered","scaleThreshold","inferDomain","inferZeroDomain","hint","find","h25","quantile","h50","median","inferLogDomain","v","inferQuantileDomain","createScaleD","pivot","symmetric","piecewise","mid","mindelta","maxdelta","invert","interpolator","createScaleDivergingPow","scaleDivergingPow","transformSqrt","pow","transformPow","createScaleDivergingSymlog","scaleDivergingSymlog","log1p","expm1","transformSymlog","transformIdentity","transformLog","log","exp","createScaleT","ordinalImplicit","createScaleO","createScaleOrdinal","fill","inferHint","stroke","inferSymbolHint","symbolsStroke","symbolsFill","inferSymbolRange","maybeBooleanRange","t0","scaleImplicit","scaleOrdinal","maybeRound","InternSet","sort","candidate","normalizeScale","typeProjection","some","asOrdinalType","filter","inferScaleType","isOrdinalScale","formatScaleType","coerceType","coerceSymbols","scaleDiverging","createScaleDiverging","createScaleDivergingSqrt","base","scaleDivergingLog","createScaleDivergingLog","scaleLinear","createScaleLinear","createScaleSqrt","quantiles","scaleQuantile","createScaleQuantile","thresholds","ticks","splice","pop","createScaleQuantize","scaleLog","createScaleLog","scaleSymlog","createScaleSymlog","scaleUtc","createScaleUtc","scaleTime","createScaleTime","align","padding","scalePoint","createScalePoint","paddingInner","paddingOuter","scaleBand","createScaleBand","scaleIdentity","createScale","description","coerceValues","c","numberFormat","compute","cacheValue","cacheKeys","memoize1","locale","Intl","NumberFormat","formatIsoDate","isoFormat","impliedString","impliedValue","formatNumber","formatAuto","validClassName","maybeClassName","applyInlineStyles","selection","style","property","element","inferFontVariant","maybeScale","legendItems","swatch","columns","tickFormat","fontVariant","swatchSize","swatchWidth","swatchHeight","utcFormat","maybeAutoTickFormat","swatches","attr","extraStyle","selectAll","append","text","ownerDocument","div","insert","legendRegistry","fillOpacity","strokeOpacity","strokeWidth","vf","cf","vs","cs","sf","ss","p","path","legendColor","legend","rgb","interpolateOpacity","legendOptions","label","rest","o","defaults","inherit","isThresholdScale","legendSwatches","tickSize","svg","tickAdjust","g","applyRange","rangeRound","copy","Infinity","canvas","context2","getContext","fillStyle","fillRect","toDataURL","thresholdFormat","bandwidth","axisBottom","isArray","tickValues","remove","legendRamp","DEFAULT_SELECTOR","defaultOptions","enabled","itemSelector","Legend","calendar","_classCallCheck","root","shown","pluginOptions","scaleOptions","_this$options","destroy"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140]}
\ No newline at end of file
+{"version":3,"file":"Legend.min.esm.js","sources":["../../node_modules/core-js/internals/fails.js","../../node_modules/core-js/internals/descriptors.js","../../node_modules/core-js/internals/function-bind-native.js","../../node_modules/core-js/internals/function-uncurry-this.js","../../node_modules/core-js/internals/is-null-or-undefined.js","../../node_modules/core-js/internals/require-object-coercible.js","../../node_modules/core-js/internals/to-object.js","../../node_modules/core-js/internals/has-own-property.js","../../node_modules/core-js/internals/function-name.js","../../node_modules/core-js/internals/document-all.js","../../node_modules/core-js/internals/is-callable.js","../../node_modules/core-js/internals/global.js","../../node_modules/core-js/internals/define-global-property.js","../../node_modules/core-js/internals/shared-store.js","../../node_modules/core-js/internals/inspect-source.js","../../node_modules/core-js/internals/engine-v8-version.js","../../node_modules/core-js/internals/weak-map-basic-detection.js","../../node_modules/core-js/internals/is-object.js","../../node_modules/core-js/internals/document-create-element.js","../../node_modules/core-js/internals/ie8-dom-define.js","../../node_modules/core-js/internals/v8-prototype-define-bug.js","../../node_modules/core-js/internals/an-object.js","../../node_modules/core-js/internals/function-call.js","../../node_modules/core-js/internals/get-built-in.js","../../node_modules/core-js/internals/object-is-prototype-of.js","../../node_modules/core-js/internals/engine-user-agent.js","../../node_modules/core-js/internals/symbol-constructor-detection.js","../../node_modules/core-js/internals/use-symbol-as-uid.js","../../node_modules/core-js/internals/is-symbol.js","../../node_modules/core-js/internals/try-to-string.js","../../node_modules/core-js/internals/a-callable.js","../../node_modules/core-js/internals/get-method.js","../../node_modules/core-js/internals/ordinary-to-primitive.js","../../node_modules/core-js/internals/shared.js","../../node_modules/core-js/internals/uid.js","../../node_modules/core-js/internals/well-known-symbol.js","../../node_modules/core-js/internals/to-primitive.js","../../node_modules/core-js/internals/to-property-key.js","../../node_modules/core-js/internals/object-define-property.js","../../node_modules/core-js/internals/create-property-descriptor.js","../../node_modules/core-js/internals/internal-state.js","../../node_modules/core-js/internals/create-non-enumerable-property.js","../../node_modules/core-js/internals/shared-key.js","../../node_modules/core-js/internals/hidden-keys.js","../../node_modules/core-js/internals/make-built-in.js","../../node_modules/core-js/internals/define-built-in-accessor.js","../../node_modules/core-js/modules/es.function.name.js","../../node_modules/core-js/internals/object-property-is-enumerable.js","../../node_modules/core-js/internals/classof-raw.js","../../node_modules/core-js/internals/indexed-object.js","../../node_modules/core-js/internals/to-indexed-object.js","../../node_modules/core-js/internals/object-get-own-property-descriptor.js","../../node_modules/core-js/internals/define-built-in.js","../../node_modules/core-js/internals/math-trunc.js","../../node_modules/core-js/internals/to-integer-or-infinity.js","../../node_modules/core-js/internals/to-absolute-index.js","../../node_modules/core-js/internals/to-length.js","../../node_modules/core-js/internals/length-of-array-like.js","../../node_modules/core-js/internals/array-includes.js","../../node_modules/core-js/internals/object-keys-internal.js","../../node_modules/core-js/internals/enum-bug-keys.js","../../node_modules/core-js/internals/object-get-own-property-names.js","../../node_modules/core-js/internals/object-get-own-property-symbols.js","../../node_modules/core-js/internals/own-keys.js","../../node_modules/core-js/internals/copy-constructor-properties.js","../../node_modules/core-js/internals/is-forced.js","../../node_modules/core-js/internals/export.js","../../node_modules/core-js/internals/object-keys.js","../../node_modules/core-js/internals/object-assign.js","../../node_modules/core-js/modules/es.object.assign.js","../../node_modules/core-js/internals/to-string-tag-support.js","../../node_modules/core-js/internals/classof.js","../../node_modules/core-js/internals/object-to-string.js","../../node_modules/core-js/modules/es.object.to-string.js","../../node_modules/core-js/internals/engine-is-node.js","../../node_modules/core-js/internals/function-uncurry-this-accessor.js","../../node_modules/core-js/internals/a-possible-prototype.js","../../node_modules/core-js/internals/object-set-prototype-of.js","../../node_modules/core-js/internals/set-to-string-tag.js","../../node_modules/core-js/internals/set-species.js","../../node_modules/core-js/internals/an-instance.js","../../node_modules/core-js/internals/is-constructor.js","../../node_modules/core-js/internals/task.js","../../node_modules/core-js/internals/a-constructor.js","../../node_modules/core-js/internals/species-constructor.js","../../node_modules/core-js/internals/function-apply.js","../../node_modules/core-js/internals/function-uncurry-this-clause.js","../../node_modules/core-js/internals/function-bind-context.js","../../node_modules/core-js/internals/html.js","../../node_modules/core-js/internals/array-slice.js","../../node_modules/core-js/internals/validate-arguments-length.js","../../node_modules/core-js/internals/engine-is-ios.js","../../node_modules/core-js/internals/queue.js","../../node_modules/core-js/internals/microtask.js","../../node_modules/core-js/internals/engine-is-ios-pebble.js","../../node_modules/core-js/internals/engine-is-webos-webkit.js","../../node_modules/core-js/internals/perform.js","../../node_modules/core-js/internals/promise-native-constructor.js","../../node_modules/core-js/internals/engine-is-deno.js","../../node_modules/core-js/internals/engine-is-browser.js","../../node_modules/core-js/internals/promise-constructor-detection.js","../../node_modules/core-js/internals/new-promise-capability.js","../../node_modules/core-js/modules/es.promise.constructor.js","../../node_modules/core-js/internals/host-report-errors.js","../../node_modules/core-js/internals/iterators.js","../../node_modules/core-js/internals/is-array-iterator-method.js","../../node_modules/core-js/internals/get-iterator-method.js","../../node_modules/core-js/internals/get-iterator.js","../../node_modules/core-js/internals/iterator-close.js","../../node_modules/core-js/internals/iterate.js","../../node_modules/core-js/internals/check-correctness-of-iteration.js","../../node_modules/core-js/internals/promise-statics-incorrect-iteration.js","../../node_modules/core-js/modules/es.promise.all.js","../../node_modules/core-js/modules/es.promise.catch.js","../../node_modules/core-js/modules/es.promise.race.js","../../node_modules/core-js/modules/es.promise.reject.js","../../node_modules/core-js/internals/promise-resolve.js","../../node_modules/core-js/modules/es.promise.resolve.js","../../node_modules/@observablehq/plot/src/defined.js","../../node_modules/isoformat/src/format.js","../../node_modules/isoformat/src/parse.js","../../node_modules/@observablehq/plot/src/time.js","../../node_modules/@observablehq/plot/src/options.js","../../node_modules/@observablehq/plot/src/scales/index.js","../../node_modules/@observablehq/plot/src/symbol.js","../../node_modules/@observablehq/plot/src/warnings.js","../../node_modules/@observablehq/plot/src/projection.js","../../node_modules/@observablehq/plot/src/context.js","../../node_modules/@observablehq/plot/src/scales/schemes.js","../../node_modules/@observablehq/plot/src/scales/quantitative.js","../../node_modules/@observablehq/plot/src/scales/diverging.js","../../node_modules/@observablehq/plot/src/scales/temporal.js","../../node_modules/@observablehq/plot/src/scales/ordinal.js","../../node_modules/@observablehq/plot/src/scales.js","../../node_modules/@observablehq/plot/src/format.js","../../node_modules/@observablehq/plot/src/memoize.js","../../node_modules/@observablehq/plot/src/style.js","../../node_modules/@observablehq/plot/src/axes.js","../../node_modules/@observablehq/plot/src/legends/swatches.js","../../node_modules/@observablehq/plot/src/legends.js","../../node_modules/@observablehq/plot/src/legends/ramp.js","../../../src/plugins/Legend.ts"],"sourcesContent":["'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","'use strict';\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.34.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.34.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FUNCTION_NAME_EXISTS = require('../internals/function-name').EXISTS;\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\n\nvar FunctionPrototype = Function.prototype;\nvar functionToString = uncurryThis(FunctionPrototype.toString);\nvar nameRE = /function\\b(?:\\s|\\/\\*[\\S\\s]*?\\*\\/|\\/\\/[^\\n\\r]*[\\n\\r]+)*([^\\s(/]*)/;\nvar regExpExec = uncurryThis(nameRE.exec);\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !FUNCTION_NAME_EXISTS) {\n defineBuiltInAccessor(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return regExpExec(nameRE, functionToString(this))[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol('assign detection');\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\nvar $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar global = require('../internals/global');\nvar classof = require('../internals/classof-raw');\n\nmodule.exports = classof(global.process) === 'process';\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineBuiltInAccessor(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar Dispatch = global.Dispatch;\nvar Function = global.Function;\nvar MessageChannel = global.MessageChannel;\nvar String = global.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar $location, defer, channel, port;\n\nfails(function () {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n $location = global.location;\n});\n\nvar run = function (id) {\n if (hasOwn(queue, id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar eventListener = function (event) {\n run(event.data);\n};\n\nvar globalPostMessageDefer = function (id) {\n // old engines have not location.origin\n global.postMessage(String(id), $location.protocol + '//' + $location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = eventListener;\n defer = bind(port.postMessage, port);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n isCallable(global.postMessage) &&\n !global.importScripts &&\n $location && $location.protocol !== 'file:' &&\n !fails(globalPostMessageDefer)\n ) {\n defer = globalPostMessageDefer;\n global.addEventListener('message', eventListener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","'use strict';\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw new $TypeError('Not enough arguments');\n return passed;\n};\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\n// eslint-disable-next-line redos/no-vulnerable -- safe\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","'use strict';\nvar Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n var tail = this.tail;\n if (tail) tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n var next = this.head = entry.next;\n if (next === null) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","'use strict';\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar Queue = require('../internals/queue');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/engine-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar microtask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\nvar notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!microtask) {\n var queue = new Queue();\n\n var flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (fn = queue.get()) try {\n fn();\n } catch (error) {\n if (queue.head) notify();\n throw error;\n }\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = bind(promise.then, promise);\n notify = function () {\n then(flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessage\n // - onreadystatechange\n // - setTimeout\n } else {\n // `webpack` dev server bug on IE global methods - use bind(fn, global)\n macrotask = bind(macrotask, global);\n notify = function () {\n macrotask(flush);\n };\n }\n\n microtask = function (fn) {\n if (!queue.head) notify();\n queue.add(fn);\n };\n}\n\nmodule.exports = microtask;\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined';\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict';\nvar global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","'use strict';\n/* global Deno -- Deno case */\nmodule.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object';\n","'use strict';\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nmodule.exports = !IS_DENO && !IS_NODE\n && typeof window == 'object'\n && typeof document == 'object';\n","'use strict';\nvar global = require('../internals/global');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {\n // Detect correctness of subclassing with @@species support\n var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n } return !GLOBAL_CORE_JS_PROMISE && (IS_BROWSER || IS_DENO) && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n SUBCLASSING: SUBCLASSING\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/engine-is-node');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state === FULFILLED;\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(new TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n call(then, result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw new TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n call(then, value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalPromiseState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n\n PromisePrototype = PromiseConstructor.prototype;\n\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: new Queue(),\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state === PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n });\n\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalPromiseState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!NATIVE_PROMISE_SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromisePrototype);\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","'use strict';\nmodule.exports = function (a, b) {\n try {\n // eslint-disable-next-line no-console -- safe\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n } catch (error) { /* empty */ }\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n try {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n } catch (error) { return false; } // workaround of old WebKit + `eval` bug\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","'use strict';\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call($promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['catch'];\n if (NativePromisePrototype['catch'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n reject: function reject(r) {\n var capability = newPromiseCapabilityModule.f(this);\n call(capability.reject, undefined, r);\n return capability.promise;\n }\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n","import {ascending, descending} from \"d3\";\n\nexport function defined(x) {\n return x != null && !Number.isNaN(x);\n}\n\nexport function ascendingDefined(a, b) {\n return +defined(b) - +defined(a) || ascending(a, b);\n}\n\nexport function descendingDefined(a, b) {\n return +defined(b) - +defined(a) || descending(a, b);\n}\n\nexport function nonempty(x) {\n return x != null && `${x}` !== \"\";\n}\n\nexport function finite(x) {\n return isFinite(x) ? x : NaN;\n}\n\nexport function positive(x) {\n return x > 0 && isFinite(x) ? x : NaN;\n}\n\nexport function negative(x) {\n return x < 0 && isFinite(x) ? x : NaN;\n}\n","export default function format(date, fallback) {\n if (!(date instanceof Date)) date = new Date(+date);\n if (isNaN(date)) return typeof fallback === \"function\" ? fallback(date) : fallback;\n const hours = date.getUTCHours();\n const minutes = date.getUTCMinutes();\n const seconds = date.getUTCSeconds();\n const milliseconds = date.getUTCMilliseconds();\n return `${formatYear(date.getUTCFullYear(), 4)}-${pad(date.getUTCMonth() + 1, 2)}-${pad(date.getUTCDate(), 2)}${\n hours || minutes || seconds || milliseconds ? `T${pad(hours, 2)}:${pad(minutes, 2)}${\n seconds || milliseconds ? `:${pad(seconds, 2)}${\n milliseconds ? `.${pad(milliseconds, 3)}` : ``\n }` : ``\n }Z` : ``\n }`;\n}\n\nfunction formatYear(year) {\n return year < 0 ? `-${pad(-year, 6)}`\n : year > 9999 ? `+${pad(year, 6)}`\n : pad(year, 4);\n}\n\nfunction pad(value, width) {\n return `${value}`.padStart(width, \"0\");\n}\n","const re = /^(?:[-+]\\d{2})?\\d{4}(?:-\\d{2}(?:-\\d{2})?)?(?:T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{3})?)?(?:Z|[-+]\\d{2}:?\\d{2})?)?$/;\n\nexport default function parse(string, fallback) {\n if (!re.test(string += \"\")) return typeof fallback === \"function\" ? fallback(string) : fallback;\n return new Date(string);\n}\n","import {utcSecond, utcMinute, utcHour, utcDay, utcWeek, utcMonth, utcYear} from \"d3\";\nimport {utcMonday, utcTuesday, utcWednesday, utcThursday, utcFriday, utcSaturday, utcSunday} from \"d3\";\nimport {timeSecond, timeMinute, timeHour, timeDay, timeWeek, timeMonth, timeYear} from \"d3\";\nimport {timeMonday, timeTuesday, timeWednesday, timeThursday, timeFriday, timeSaturday, timeSunday} from \"d3\";\n\nconst timeIntervals = new Map([\n [\"second\", timeSecond],\n [\"minute\", timeMinute],\n [\"hour\", timeHour],\n [\"day\", timeDay],\n [\"week\", timeWeek],\n [\"month\", timeMonth],\n [\"quarter\", timeMonth.every(3)],\n [\"half\", timeMonth.every(6)],\n [\"year\", timeYear],\n [\"monday\", timeMonday],\n [\"tuesday\", timeTuesday],\n [\"wednesday\", timeWednesday],\n [\"thursday\", timeThursday],\n [\"friday\", timeFriday],\n [\"saturday\", timeSaturday],\n [\"sunday\", timeSunday]\n]);\n\nconst utcIntervals = new Map([\n [\"second\", utcSecond],\n [\"minute\", utcMinute],\n [\"hour\", utcHour],\n [\"day\", utcDay],\n [\"week\", utcWeek],\n [\"month\", utcMonth],\n [\"quarter\", utcMonth.every(3)],\n [\"half\", utcMonth.every(6)],\n [\"year\", utcYear],\n [\"monday\", utcMonday],\n [\"tuesday\", utcTuesday],\n [\"wednesday\", utcWednesday],\n [\"thursday\", utcThursday],\n [\"friday\", utcFriday],\n [\"saturday\", utcSaturday],\n [\"sunday\", utcSunday]\n]);\n\nexport function maybeTimeInterval(interval) {\n const i = timeIntervals.get(`${interval}`.toLowerCase());\n if (!i) throw new Error(`unknown interval: ${interval}`);\n return i;\n}\n\nexport function maybeUtcInterval(interval) {\n const i = utcIntervals.get(`${interval}`.toLowerCase());\n if (!i) throw new Error(`unknown interval: ${interval}`);\n return i;\n}\n","import {parse as isoParse} from \"isoformat\";\nimport {color, descending, range as rangei, quantile} from \"d3\";\nimport {maybeTimeInterval, maybeUtcInterval} from \"./time.js\";\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray\nexport const TypedArray = Object.getPrototypeOf(Uint8Array);\nconst objectToString = Object.prototype.toString;\n\nexport function valueof(data, value, type) {\n const valueType = typeof value;\n return valueType === \"string\"\n ? maybeTypedMap(data, field(value), type)\n : valueType === \"function\"\n ? maybeTypedMap(data, value, type)\n : valueType === \"number\" || value instanceof Date || valueType === \"boolean\"\n ? map(data, constant(value), type)\n : typeof value?.transform === \"function\"\n ? maybeTypedArrayify(value.transform(data), type)\n : maybeTypedArrayify(value, type);\n}\n\nfunction maybeTypedMap(data, f, type) {\n return map(data, type?.prototype instanceof TypedArray ? floater(f) : f, type);\n}\n\nfunction maybeTypedArrayify(data, type) {\n return type === undefined\n ? arrayify(data) // preserve undefined type\n : data instanceof type\n ? data\n : type.prototype instanceof TypedArray && !(data instanceof TypedArray)\n ? type.from(data, coerceNumber)\n : type.from(data);\n}\n\nfunction floater(f) {\n return (d, i) => coerceNumber(f(d, i));\n}\n\nexport const field = (name) => (d) => d[name];\nexport const indexOf = {transform: range};\nexport const identity = {transform: (d) => d};\nexport const zero = () => 0;\nexport const one = () => 1;\nexport const yes = () => true;\nexport const string = (x) => (x == null ? x : `${x}`);\nexport const number = (x) => (x == null ? x : +x);\nexport const boolean = (x) => (x == null ? x : !!x);\nexport const first = (x) => (x ? x[0] : undefined);\nexport const second = (x) => (x ? x[1] : undefined);\nexport const third = (x) => (x ? x[2] : undefined);\nexport const constant = (x) => () => x;\n\n// Converts a string like “p25” into a function that takes an index I and an\n// accessor function f, returning the corresponding percentile value.\nexport function percentile(reduce) {\n const p = +`${reduce}`.slice(1) / 100;\n return (I, f) => quantile(I, p, f);\n}\n\n// If the values are specified as a typed array, no coercion is required.\nexport function coerceNumbers(values) {\n return values instanceof TypedArray ? values : map(values, coerceNumber, Float64Array);\n}\n\n// Unlike Mark’s number, here we want to convert null and undefined to NaN since\n// the result will be stored in a Float64Array and we don’t want null to be\n// coerced to zero. We use Number instead of unary + to allow BigInt coercion.\nfunction coerceNumber(x) {\n return x == null ? NaN : Number(x);\n}\n\nexport function coerceDates(values) {\n return map(values, coerceDate);\n}\n\n// When coercing strings to dates, we only want to allow the ISO 8601 format\n// since the built-in string parsing of the Date constructor varies across\n// browsers. (In the future, this could be made more liberal if desired, though\n// it is still generally preferable to do date parsing yourself explicitly,\n// rather than rely on Plot.) Any non-string values are coerced to number first\n// and treated as milliseconds since UNIX epoch.\nexport function coerceDate(x) {\n return x instanceof Date && !isNaN(x)\n ? x\n : typeof x === \"string\"\n ? isoParse(x)\n : x == null || isNaN((x = +x))\n ? undefined\n : new Date(x);\n}\n\n// Some channels may allow a string constant to be specified; to differentiate\n// string constants (e.g., \"red\") from named fields (e.g., \"date\"), this\n// function tests whether the given value is a CSS color string and returns a\n// tuple [channel, constant] where one of the two is undefined, and the other is\n// the given value. If you wish to reference a named field that is also a valid\n// CSS color, use an accessor (d => d.red) instead.\nexport function maybeColorChannel(value, defaultValue) {\n if (value === undefined) value = defaultValue;\n return value === null ? [undefined, \"none\"] : isColor(value) ? [undefined, value] : [value, undefined];\n}\n\n// Similar to maybeColorChannel, this tests whether the given value is a number\n// indicating a constant, and otherwise assumes that it’s a channel value.\nexport function maybeNumberChannel(value, defaultValue) {\n if (value === undefined) value = defaultValue;\n return value === null || typeof value === \"number\" ? [undefined, value] : [value, undefined];\n}\n\n// Validates the specified optional string against the allowed list of keywords.\nexport function maybeKeyword(input, name, allowed) {\n if (input != null) return keyword(input, name, allowed);\n}\n\n// Validates the specified required string against the allowed list of keywords.\nexport function keyword(input, name, allowed) {\n const i = `${input}`.toLowerCase();\n if (!allowed.includes(i)) throw new Error(`invalid ${name}: ${input}`);\n return i;\n}\n\n// Promotes the specified data to an array as needed.\nexport function arrayify(data) {\n return data == null || data instanceof Array || data instanceof TypedArray ? data : Array.from(data);\n}\n\n// An optimization of type.from(values, f): if the given values are already an\n// instanceof the desired array type, the faster values.map method is used.\nexport function map(values, f, type = Array) {\n return values == null ? values : values instanceof type ? values.map(f) : type.from(values, f);\n}\n\n// An optimization of type.from(values): if the given values are already an\n// instanceof the desired array type, the faster values.slice method is used.\nexport function slice(values, type = Array) {\n return values instanceof type ? values.slice() : type.from(values);\n}\n\n// Disambiguates an options object (e.g., {y: \"x2\"}) from a primitive value.\nexport function isObject(option) {\n return option?.toString === objectToString;\n}\n\n// Disambiguates a scale options object (e.g., {color: {type: \"linear\"}}) from\n// some other option (e.g., {color: \"red\"}). When creating standalone legends,\n// this is used to test whether a scale is defined; this should be consistent\n// with inferScaleType when there are no channels associated with the scale, and\n// if this returns true, then normalizeScale must return non-null.\nexport function isScaleOptions(option) {\n return isObject(option) && (option.type !== undefined || option.domain !== undefined);\n}\n\n// Disambiguates an options object (e.g., {y: \"x2\"}) from a channel value\n// definition expressed as a channel transform (e.g., {transform: …}).\nexport function isOptions(option) {\n return isObject(option) && typeof option.transform !== \"function\";\n}\n\n// Disambiguates a sort transform (e.g., {sort: \"date\"}) from a channel domain\n// sort definition (e.g., {sort: {y: \"x\"}}).\nexport function isDomainSort(sort) {\n return isOptions(sort) && sort.value === undefined && sort.channel === undefined;\n}\n\n// For marks specified either as [0, x] or [x1, x2], such as areas and bars.\nexport function maybeZero(x, x1, x2, x3 = identity) {\n if (x1 === undefined && x2 === undefined) {\n // {x} or {}\n (x1 = 0), (x2 = x === undefined ? x3 : x);\n } else if (x1 === undefined) {\n // {x, x2} or {x2}\n x1 = x === undefined ? 0 : x;\n } else if (x2 === undefined) {\n // {x, x1} or {x1}\n x2 = x === undefined ? 0 : x;\n }\n return [x1, x2];\n}\n\n// For marks that have x and y channels (e.g., cell, dot, line, text).\nexport function maybeTuple(x, y) {\n return x === undefined && y === undefined ? [first, second] : [x, y];\n}\n\n// A helper for extracting the z channel, if it is variable. Used by transforms\n// that require series, such as moving average and normalize.\nexport function maybeZ({z, fill, stroke} = {}) {\n if (z === undefined) [z] = maybeColorChannel(fill);\n if (z === undefined) [z] = maybeColorChannel(stroke);\n return z;\n}\n\n// Returns a Uint32Array with elements [0, 1, 2, … data.length - 1].\nexport function range(data) {\n const n = data.length;\n const r = new Uint32Array(n);\n for (let i = 0; i < n; ++i) r[i] = i;\n return r;\n}\n\n// Returns a filtered range of data given the test function.\nexport function where(data, test) {\n return range(data).filter((i) => test(data[i], i, data));\n}\n\n// Returns an array [values[index[0]], values[index[1]], …].\nexport function take(values, index) {\n return map(index, (i) => values[i]);\n}\n\n// Based on InternMap (d3.group).\nexport function keyof(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n}\n\nexport function maybeInput(key, options) {\n if (options[key] !== undefined) return options[key];\n switch (key) {\n case \"x1\":\n case \"x2\":\n key = \"x\";\n break;\n case \"y1\":\n case \"y2\":\n key = \"y\";\n break;\n }\n return options[key];\n}\n\nexport function column(source) {\n // Defines a column whose values are lazily populated by calling the returned\n // setter. If the given source is labeled, the label is propagated to the\n // returned column definition.\n let value;\n return [\n {\n transform: () => value,\n label: labelof(source)\n },\n (v) => (value = v)\n ];\n}\n\n// Like column, but allows the source to be null.\nexport function maybeColumn(source) {\n return source == null ? [source] : column(source);\n}\n\nexport function labelof(value, defaultValue) {\n return typeof value === \"string\" ? value : value && value.label !== undefined ? value.label : defaultValue;\n}\n\n// Assuming that both x1 and x2 and lazy columns (per above), this derives a new\n// a column that’s the average of the two, and which inherits the column label\n// (if any). Both input columns are assumed to be quantitative. If either column\n// is temporal, the returned column is also temporal.\nexport function mid(x1, x2) {\n return {\n transform(data) {\n const X1 = x1.transform(data);\n const X2 = x2.transform(data);\n return isTemporal(X1) || isTemporal(X2)\n ? map(X1, (_, i) => new Date((+X1[i] + +X2[i]) / 2))\n : map(X1, (_, i) => (+X1[i] + +X2[i]) / 2, Float64Array);\n },\n label: x1.label\n };\n}\n\n// If interval is not nullish, converts interval shorthand such as a number (for\n// multiples) or a time interval name (such as “day”) to a {floor, offset,\n// range} object similar to a D3 time interval.\nexport function maybeInterval(interval, type) {\n if (interval == null) return;\n if (typeof interval === \"number\") {\n if (0 < interval && interval < 1 && Number.isInteger(1 / interval)) interval = -1 / interval;\n const n = Math.abs(interval);\n return interval < 0\n ? {\n floor: (d) => Math.floor(d * n) / n,\n offset: (d) => (d * n + 1) / n, // note: no optional step for simplicity\n range: (lo, hi) => rangei(Math.ceil(lo * n), hi * n).map((x) => x / n)\n }\n : {\n floor: (d) => Math.floor(d / n) * n,\n offset: (d) => d + n, // note: no optional step for simplicity\n range: (lo, hi) => rangei(Math.ceil(lo / n), hi / n).map((x) => x * n)\n };\n }\n if (typeof interval === \"string\") return (type === \"time\" ? maybeTimeInterval : maybeUtcInterval)(interval);\n if (typeof interval.floor !== \"function\") throw new Error(\"invalid interval; missing floor method\");\n if (typeof interval.offset !== \"function\") throw new Error(\"invalid interval; missing offset method\");\n return interval;\n}\n\n// Like maybeInterval, but requires a range method too.\nexport function maybeRangeInterval(interval, type) {\n interval = maybeInterval(interval, type);\n if (interval && typeof interval.range !== \"function\") throw new Error(\"invalid interval: missing range method\");\n return interval;\n}\n\n// Like maybeRangeInterval, but requires a ceil method too.\nexport function maybeNiceInterval(interval, type) {\n interval = maybeRangeInterval(interval, type);\n if (interval && typeof interval.ceil !== \"function\") throw new Error(\"invalid interval: missing ceil method\");\n return interval;\n}\n\n// This distinguishes between per-dimension options and a standalone value.\nexport function maybeValue(value) {\n return value === undefined || isOptions(value) ? value : {value};\n}\n\n// Coerces the given channel values (if any) to numbers. This is useful when\n// values will be interpolated into other code, such as an SVG transform, and\n// where we don’t wish to allow unexpected behavior for weird input.\nexport function numberChannel(source) {\n return source == null\n ? null\n : {\n transform: (data) => valueof(data, source, Float64Array),\n label: labelof(source)\n };\n}\n\nexport function isTuples(data) {\n if (!isIterable(data)) return false;\n for (const d of data) {\n if (d == null) continue;\n return typeof d === \"object\" && \"0\" in d && \"1\" in d;\n }\n}\n\nexport function isIterable(value) {\n return value && typeof value[Symbol.iterator] === \"function\";\n}\n\nexport function isTextual(values) {\n for (const value of values) {\n if (value == null) continue;\n return typeof value !== \"object\" || value instanceof Date;\n }\n}\n\nexport function isOrdinal(values) {\n for (const value of values) {\n if (value == null) continue;\n const type = typeof value;\n return type === \"string\" || type === \"boolean\";\n }\n}\n\nexport function isTemporal(values) {\n for (const value of values) {\n if (value == null) continue;\n return value instanceof Date;\n }\n}\n\n// Are these strings that might represent dates? This is stricter than ISO 8601\n// because we want to ignore false positives on numbers; for example, the string\n// \"1192\" is more likely to represent a number than a date even though it is\n// valid ISO 8601 representing 1192-01-01.\nexport function isTemporalString(values) {\n for (const value of values) {\n if (value == null) continue;\n return typeof value === \"string\" && isNaN(value) && isoParse(value);\n }\n}\n\n// Are these strings that might represent numbers? This is stricter than\n// coercion because we want to ignore false positives on e.g. empty strings.\nexport function isNumericString(values) {\n for (const value of values) {\n if (value == null) continue;\n if (typeof value !== \"string\") return false;\n if (!value.trim()) continue;\n return !isNaN(value);\n }\n}\n\nexport function isNumeric(values) {\n for (const value of values) {\n if (value == null) continue;\n return typeof value === \"number\";\n }\n}\n\n// Returns true if every non-null value in the specified iterable of values\n// passes the specified predicate, and there is at least one non-null value;\n// returns false if at least one non-null value does not pass the specified\n// predicate; otherwise returns undefined (as if all values are null).\nexport function isEvery(values, is) {\n let every;\n for (const value of values) {\n if (value == null) continue;\n if (!is(value)) return false;\n every = true;\n }\n return every;\n}\n\n// Mostly relies on d3-color, with a few extra color keywords. Currently this\n// strictly requires that the value be a string; we might want to apply string\n// coercion here, though note that d3-color instances would need to support\n// valueOf to work correctly with InternMap.\n// https://www.w3.org/TR/SVG11/painting.html#SpecifyingPaint\nexport function isColor(value) {\n if (typeof value !== \"string\") return false;\n value = value.toLowerCase().trim();\n return (\n value === \"none\" ||\n value === \"currentcolor\" ||\n (value.startsWith(\"url(\") && value.endsWith(\")\")) || // , e.g. pattern or gradient\n (value.startsWith(\"var(\") && value.endsWith(\")\")) || // CSS variable\n color(value) !== null\n );\n}\n\nexport function isOpacity(value) {\n return typeof value === \"number\" && ((0 <= value && value <= 1) || isNaN(value));\n}\n\nexport function isNoneish(value) {\n return value == null || isNone(value);\n}\n\nexport function isNone(value) {\n return /^\\s*none\\s*$/i.test(value);\n}\n\nexport function isRound(value) {\n return /^\\s*round\\s*$/i.test(value);\n}\n\nexport function maybeFrameAnchor(value = \"middle\") {\n return keyword(value, \"frameAnchor\", [\n \"middle\",\n \"top-left\",\n \"top\",\n \"top-right\",\n \"right\",\n \"bottom-right\",\n \"bottom\",\n \"bottom-left\",\n \"left\"\n ]);\n}\n\n// Like a sort comparator, returns a positive value if the given array of values\n// is in ascending order, a negative value if the values are in descending\n// order. Assumes monotonicity; only tests the first and last values.\nexport function orderof(values) {\n if (values == null) return;\n const first = values[0];\n const last = values[values.length - 1];\n return descending(first, last);\n}\n\n// Unlike {...defaults, ...options}, this ensures that any undefined (but\n// present) properties in options inherit the given default value.\nexport function inherit(options = {}, ...rest) {\n let o = options;\n for (const defaults of rest) {\n for (const key in defaults) {\n if (o[key] === undefined) {\n const value = defaults[key];\n if (o === options) o = {...o, [key]: value};\n else o[key] = value;\n }\n }\n }\n return o;\n}\n\n// Given an iterable of named things (objects with a name property), returns a\n// corresponding object with properties associated with the given name.\nexport function named(things) {\n console.warn(\"named iterables are deprecated; please use an object instead\");\n const names = new Set();\n return Object.fromEntries(\n Array.from(things, (thing) => {\n const {name} = thing;\n if (name == null) throw new Error(\"missing name\");\n const key = `${name}`;\n if (key === \"__proto__\") throw new Error(`illegal name: ${key}`);\n if (names.has(key)) throw new Error(`duplicate name: ${key}`);\n names.add(key);\n return [name, thing];\n })\n );\n}\n\nexport function maybeNamed(things) {\n return isIterable(things) ? named(things) : things;\n}\n","// Positional scales have associated axes, and for ordinal data, a point or band\n// scale is used instead of an ordinal scale.\nexport const position = Symbol(\"position\");\n\n// Color scales default to the turbo interpolator for quantitative data, and to\n// the Tableau10 scheme for ordinal data. Color scales may also have an\n// associated legend.\nexport const color = Symbol(\"color\");\n\n// Radius scales default to the sqrt type, have a default range of [0, 3], and a\n// default domain from 0 to the median first quartile of associated channels.\nexport const radius = Symbol(\"radius\");\n\n// Length scales default to the linear type, have a default range of [0, 12],\n// and a default domain from 0 to the median median of associated channels.\nexport const length = Symbol(\"length\");\n\n// Opacity scales have a default range of [0, 1], and a default domain from 0 to\n// the maximum value of associated channels.\nexport const opacity = Symbol(\"opacity\");\n\n// Symbol scales have a default range of categorical symbols.\nexport const symbol = Symbol(\"symbol\");\n\n// TODO Rather than hard-coding the list of known scale names, collect the names\n// and categories for each plot specification, so that custom marks can register\n// custom scales.\nexport const registry = new Map([\n [\"x\", position],\n [\"y\", position],\n [\"fx\", position],\n [\"fy\", position],\n [\"r\", radius],\n [\"color\", color],\n [\"opacity\", opacity],\n [\"symbol\", symbol],\n [\"length\", length]\n]);\n","import {symbolAsterisk, symbolDiamond2, symbolPlus, symbolSquare2, symbolTriangle2, symbolTimes} from \"d3\";\nimport {symbolCircle, symbolCross, symbolDiamond, symbolSquare, symbolStar, symbolTriangle, symbolWye} from \"d3\";\n\nexport const sqrt3 = Math.sqrt(3);\nexport const sqrt4_3 = 2 / sqrt3;\n\nconst symbolHexagon = {\n draw(context, size) {\n const rx = Math.sqrt(size / Math.PI),\n ry = rx * sqrt4_3,\n hy = ry / 2;\n context.moveTo(0, ry);\n context.lineTo(rx, hy);\n context.lineTo(rx, -hy);\n context.lineTo(0, -ry);\n context.lineTo(-rx, -hy);\n context.lineTo(-rx, hy);\n context.closePath();\n }\n};\n\nconst symbols = new Map([\n [\"asterisk\", symbolAsterisk],\n [\"circle\", symbolCircle],\n [\"cross\", symbolCross],\n [\"diamond\", symbolDiamond],\n [\"diamond2\", symbolDiamond2],\n [\"hexagon\", symbolHexagon],\n [\"plus\", symbolPlus],\n [\"square\", symbolSquare],\n [\"square2\", symbolSquare2],\n [\"star\", symbolStar],\n [\"times\", symbolTimes],\n [\"triangle\", symbolTriangle],\n [\"triangle2\", symbolTriangle2],\n [\"wye\", symbolWye]\n]);\n\nfunction isSymbolObject(value) {\n return value && typeof value.draw === \"function\";\n}\n\nexport function isSymbol(value) {\n if (isSymbolObject(value)) return true;\n if (typeof value !== \"string\") return false;\n return symbols.has(value.toLowerCase());\n}\n\nexport function maybeSymbol(symbol) {\n if (symbol == null || isSymbolObject(symbol)) return symbol;\n const value = symbols.get(`${symbol}`.toLowerCase());\n if (value) return value;\n throw new Error(`invalid symbol: ${symbol}`);\n}\n\nexport function maybeSymbolChannel(symbol) {\n if (symbol == null || isSymbolObject(symbol)) return [undefined, symbol];\n if (typeof symbol === \"string\") {\n const value = symbols.get(`${symbol}`.toLowerCase());\n if (value) return [undefined, value];\n }\n return [symbol, undefined];\n}\n","let warnings = 0;\n\nexport function consumeWarnings() {\n const w = warnings;\n warnings = 0;\n return w;\n}\n\nexport function warn(message) {\n console.warn(message);\n ++warnings;\n}\n","import {\n geoAlbers,\n geoAlbersUsa,\n geoAzimuthalEqualArea,\n geoAzimuthalEquidistant,\n geoClipRectangle,\n geoConicConformal,\n geoConicEqualArea,\n geoConicEquidistant,\n geoEqualEarth,\n geoEquirectangular,\n geoGnomonic,\n geoMercator,\n geoOrthographic,\n geoPath,\n geoStereographic,\n geoTransform,\n geoTransverseMercator\n} from \"d3\";\nimport {valueObject} from \"./channel.js\";\nimport {coerceNumbers, constant, isObject} from \"./options.js\";\nimport {warn} from \"./warnings.js\";\n\nconst pi = Math.PI;\nconst tau = 2 * pi;\nconst defaultAspectRatio = 0.618;\n\nexport function createProjection(\n {\n projection,\n inset: globalInset = 0,\n insetTop = globalInset,\n insetRight = globalInset,\n insetBottom = globalInset,\n insetLeft = globalInset\n } = {},\n dimensions\n) {\n if (projection == null) return;\n if (typeof projection.stream === \"function\") return projection; // d3 projection\n let options;\n let domain;\n let clip = \"frame\";\n\n // If the projection was specified as an object with additional options,\n // extract those. The order of precedence for insetTop (and other insets) is:\n // projection.insetTop, projection.inset, (global) insetTop, (global) inset.\n // Any other options on this object will be passed through to the initializer.\n if (isObject(projection)) {\n let inset;\n ({\n type: projection,\n domain,\n inset,\n insetTop = inset !== undefined ? inset : insetTop,\n insetRight = inset !== undefined ? inset : insetRight,\n insetBottom = inset !== undefined ? inset : insetBottom,\n insetLeft = inset !== undefined ? inset : insetLeft,\n clip = clip,\n ...options\n } = projection);\n if (projection == null) return;\n }\n\n // For named projections, retrieve the corresponding projection initializer.\n if (typeof projection !== \"function\") ({type: projection} = namedProjection(projection));\n\n // Compute the frame dimensions and invoke the projection initializer.\n const {width, height, marginLeft, marginRight, marginTop, marginBottom} = dimensions;\n const dx = width - marginLeft - marginRight - insetLeft - insetRight;\n const dy = height - marginTop - marginBottom - insetTop - insetBottom;\n projection = projection?.({width: dx, height: dy, clip, ...options});\n\n // The projection initializer might decide to not use a projection.\n if (projection == null) return;\n clip = maybePostClip(clip, marginLeft, marginTop, width - marginRight, height - marginBottom);\n\n // Translate the origin to the top-left corner, respecting margins and insets.\n let tx = marginLeft + insetLeft;\n let ty = marginTop + insetTop;\n let transform;\n\n // If a domain is specified, fit the projection to the frame.\n if (domain != null) {\n const [[x0, y0], [x1, y1]] = geoPath(projection).bounds(domain);\n const k = Math.min(dx / (x1 - x0), dy / (y1 - y0));\n if (k > 0) {\n tx -= (k * (x0 + x1) - dx) / 2;\n ty -= (k * (y0 + y1) - dy) / 2;\n transform = geoTransform({\n point(x, y) {\n this.stream.point(x * k + tx, y * k + ty);\n }\n });\n } else {\n warn(`Warning: the projection could not be fit to the specified domain; using the default scale.`);\n }\n }\n\n transform ??=\n tx === 0 && ty === 0\n ? identity()\n : geoTransform({\n point(x, y) {\n this.stream.point(x + tx, y + ty);\n }\n });\n\n return {stream: (s) => projection.stream(transform.stream(clip(s)))};\n}\n\nfunction namedProjection(projection) {\n switch (`${projection}`.toLowerCase()) {\n case \"albers-usa\":\n return scaleProjection(geoAlbersUsa, 0.7463, 0.4673);\n case \"albers\":\n return conicProjection(geoAlbers, 0.7463, 0.4673);\n case \"azimuthal-equal-area\":\n return scaleProjection(geoAzimuthalEqualArea, 4, 4);\n case \"azimuthal-equidistant\":\n return scaleProjection(geoAzimuthalEquidistant, tau, tau);\n case \"conic-conformal\":\n return conicProjection(geoConicConformal, tau, tau);\n case \"conic-equal-area\":\n return conicProjection(geoConicEqualArea, 6.1702, 2.9781);\n case \"conic-equidistant\":\n return conicProjection(geoConicEquidistant, 7.312, 3.6282);\n case \"equal-earth\":\n return scaleProjection(geoEqualEarth, 5.4133, 2.6347);\n case \"equirectangular\":\n return scaleProjection(geoEquirectangular, tau, pi);\n case \"gnomonic\":\n return scaleProjection(geoGnomonic, 3.4641, 3.4641);\n case \"identity\":\n return {type: identity};\n case \"reflect-y\":\n return {type: reflectY};\n case \"mercator\":\n return scaleProjection(geoMercator, tau, tau);\n case \"orthographic\":\n return scaleProjection(geoOrthographic, 2, 2);\n case \"stereographic\":\n return scaleProjection(geoStereographic, 2, 2);\n case \"transverse-mercator\":\n return scaleProjection(geoTransverseMercator, tau, tau);\n default:\n throw new Error(`unknown projection type: ${projection}`);\n }\n}\n\nfunction maybePostClip(clip, x1, y1, x2, y2) {\n if (clip === false || clip == null || typeof clip === \"number\") return (s) => s;\n if (clip === true) clip = \"frame\";\n switch (`${clip}`.toLowerCase()) {\n case \"frame\":\n return geoClipRectangle(x1, y1, x2, y2);\n default:\n throw new Error(`unknown projection clip type: ${clip}`);\n }\n}\n\nfunction scaleProjection(createProjection, kx, ky) {\n return {\n type: ({width, height, rotate, precision = 0.15, clip}) => {\n const projection = createProjection();\n if (precision != null) projection.precision?.(precision);\n if (rotate != null) projection.rotate?.(rotate);\n if (typeof clip === \"number\") projection.clipAngle?.(clip);\n projection.scale(Math.min(width / kx, height / ky));\n projection.translate([width / 2, height / 2]);\n return projection;\n },\n aspectRatio: ky / kx\n };\n}\n\nfunction conicProjection(createProjection, kx, ky) {\n const {type, aspectRatio} = scaleProjection(createProjection, kx, ky);\n return {\n type: (options) => {\n const {parallels, domain, width, height} = options;\n const projection = type(options);\n if (parallels != null) {\n projection.parallels(parallels);\n if (domain === undefined) {\n projection.fitSize([width, height], {type: \"Sphere\"});\n }\n }\n return projection;\n },\n aspectRatio\n };\n}\n\nconst identity = constant({stream: (stream) => stream});\n\nconst reflectY = constant(\n geoTransform({\n point(x, y) {\n this.stream.point(x, -y);\n }\n })\n);\n\n// Applies a point-wise projection to the given paired x and y channels.\n// Note: mutates values!\nexport function maybeProject(cx, cy, channels, values, context) {\n const x = channels[cx] && channels[cx].scale === \"x\";\n const y = channels[cy] && channels[cy].scale === \"y\";\n if (x && y) {\n project(cx, cy, values, context.projection);\n } else if (x) {\n throw new Error(`projection requires paired x and y channels; ${cx} is missing ${cy}`);\n } else if (y) {\n throw new Error(`projection requires paired x and y channels; ${cy} is missing ${cx}`);\n }\n}\n\nfunction project(cx, cy, values, projection) {\n const x = values[cx];\n const y = values[cy];\n const n = x.length;\n const X = (values[cx] = new Float64Array(n).fill(NaN));\n const Y = (values[cy] = new Float64Array(n).fill(NaN));\n let i;\n const stream = projection.stream({\n point(x, y) {\n X[i] = x;\n Y[i] = y;\n }\n });\n for (i = 0; i < n; ++i) {\n stream.point(x[i], y[i]);\n }\n}\n\n// When a named projection is specified, we can use its natural aspect ratio to\n// determine a good value for the projection’s height based on the desired\n// width. When we don’t have a way to know, the golden ratio is our best guess.\n// Due to a circular dependency (we need to know the height before we can\n// construct the projection), we have to test the raw projection option rather\n// than the materialized projection; therefore we must be extremely careful that\n// the logic of this function exactly matches Projection above!\nexport function projectionAspectRatio(projection, marks) {\n if (typeof projection?.stream === \"function\") return defaultAspectRatio;\n if (isObject(projection)) projection = projection.type;\n if (projection == null) return hasGeometry(marks) ? defaultAspectRatio : undefined;\n if (typeof projection !== \"function\") {\n const {aspectRatio} = namedProjection(projection);\n if (aspectRatio) return aspectRatio;\n }\n return defaultAspectRatio;\n}\n\n// Extract the (possibly) scaled values for the x and y channels, and apply the\n// projection if any.\nexport function applyPosition(channels, scales, context) {\n const {x, y} = channels;\n let position = {};\n if (x) position.x = x;\n if (y) position.y = y;\n position = valueObject(position, scales);\n if (context.projection) maybeProject(\"x\", \"y\", channels, position, context);\n if (x) position.x = coerceNumbers(position.x);\n if (y) position.y = coerceNumbers(position.y);\n return position;\n}\n\nfunction hasGeometry(marks) {\n for (const mark of marks) if (mark.channels.geometry) return true;\n return false;\n}\n","import {creator, select} from \"d3\";\nimport {createProjection} from \"./projection.js\";\n\nexport function createContext(options = {}, dimensions, className) {\n const {document = typeof window !== \"undefined\" ? window.document : undefined} = options;\n return {document, className, projection: createProjection(options, dimensions)};\n}\n\nexport function create(name, {document}) {\n return select(creator(name).call(document.documentElement));\n}\n","import {\n interpolateBlues,\n interpolateBrBG,\n interpolateBuGn,\n interpolateBuPu,\n interpolateGnBu,\n interpolateGreens,\n interpolateGreys,\n interpolateOranges,\n interpolateOrRd,\n interpolatePiYG,\n interpolatePRGn,\n interpolatePuBu,\n interpolatePuBuGn,\n interpolatePuOr,\n interpolatePuRd,\n interpolatePurples,\n interpolateRdBu,\n interpolateRdGy,\n interpolateRdPu,\n interpolateRdYlBu,\n interpolateRdYlGn,\n interpolateReds,\n interpolateSpectral,\n interpolateYlGn,\n interpolateYlGnBu,\n interpolateYlOrBr,\n interpolateYlOrRd,\n interpolateTurbo,\n interpolateViridis,\n interpolateMagma,\n interpolateInferno,\n interpolatePlasma,\n interpolateCividis,\n interpolateCubehelixDefault,\n interpolateWarm,\n interpolateCool,\n interpolateRainbow,\n interpolateSinebow,\n quantize,\n schemeAccent,\n schemeBlues,\n schemeBrBG,\n schemeBuGn,\n schemeBuPu,\n schemeCategory10,\n schemeDark2,\n schemeGnBu,\n schemeGreens,\n schemeGreys,\n schemeOranges,\n schemeOrRd,\n schemePaired,\n schemePastel1,\n schemePastel2,\n schemePiYG,\n schemePRGn,\n schemePuBu,\n schemePuBuGn,\n schemePuOr,\n schemePuRd,\n schemePurples,\n schemeRdBu,\n schemeRdGy,\n schemeRdPu,\n schemeRdYlBu,\n schemeRdYlGn,\n schemeReds,\n schemeSet1,\n schemeSet2,\n schemeSet3,\n schemeSpectral,\n schemeTableau10,\n schemeYlGn,\n schemeYlGnBu,\n schemeYlOrBr,\n schemeYlOrRd\n} from \"d3\";\n\nconst ordinalSchemes = new Map([\n // categorical\n [\"accent\", schemeAccent],\n [\"category10\", schemeCategory10],\n [\"dark2\", schemeDark2],\n [\"paired\", schemePaired],\n [\"pastel1\", schemePastel1],\n [\"pastel2\", schemePastel2],\n [\"set1\", schemeSet1],\n [\"set2\", schemeSet2],\n [\"set3\", schemeSet3],\n [\"tableau10\", schemeTableau10],\n\n // diverging\n [\"brbg\", scheme11(schemeBrBG, interpolateBrBG)],\n [\"prgn\", scheme11(schemePRGn, interpolatePRGn)],\n [\"piyg\", scheme11(schemePiYG, interpolatePiYG)],\n [\"puor\", scheme11(schemePuOr, interpolatePuOr)],\n [\"rdbu\", scheme11(schemeRdBu, interpolateRdBu)],\n [\"rdgy\", scheme11(schemeRdGy, interpolateRdGy)],\n [\"rdylbu\", scheme11(schemeRdYlBu, interpolateRdYlBu)],\n [\"rdylgn\", scheme11(schemeRdYlGn, interpolateRdYlGn)],\n [\"spectral\", scheme11(schemeSpectral, interpolateSpectral)],\n\n // reversed diverging (for temperature data)\n [\"burd\", scheme11r(schemeRdBu, interpolateRdBu)],\n [\"buylrd\", scheme11r(schemeRdYlBu, interpolateRdYlBu)],\n\n // sequential (single-hue)\n [\"blues\", scheme9(schemeBlues, interpolateBlues)],\n [\"greens\", scheme9(schemeGreens, interpolateGreens)],\n [\"greys\", scheme9(schemeGreys, interpolateGreys)],\n [\"oranges\", scheme9(schemeOranges, interpolateOranges)],\n [\"purples\", scheme9(schemePurples, interpolatePurples)],\n [\"reds\", scheme9(schemeReds, interpolateReds)],\n\n // sequential (multi-hue)\n [\"turbo\", schemei(interpolateTurbo)],\n [\"viridis\", schemei(interpolateViridis)],\n [\"magma\", schemei(interpolateMagma)],\n [\"inferno\", schemei(interpolateInferno)],\n [\"plasma\", schemei(interpolatePlasma)],\n [\"cividis\", schemei(interpolateCividis)],\n [\"cubehelix\", schemei(interpolateCubehelixDefault)],\n [\"warm\", schemei(interpolateWarm)],\n [\"cool\", schemei(interpolateCool)],\n [\"bugn\", scheme9(schemeBuGn, interpolateBuGn)],\n [\"bupu\", scheme9(schemeBuPu, interpolateBuPu)],\n [\"gnbu\", scheme9(schemeGnBu, interpolateGnBu)],\n [\"orrd\", scheme9(schemeOrRd, interpolateOrRd)],\n [\"pubu\", scheme9(schemePuBu, interpolatePuBu)],\n [\"pubugn\", scheme9(schemePuBuGn, interpolatePuBuGn)],\n [\"purd\", scheme9(schemePuRd, interpolatePuRd)],\n [\"rdpu\", scheme9(schemeRdPu, interpolateRdPu)],\n [\"ylgn\", scheme9(schemeYlGn, interpolateYlGn)],\n [\"ylgnbu\", scheme9(schemeYlGnBu, interpolateYlGnBu)],\n [\"ylorbr\", scheme9(schemeYlOrBr, interpolateYlOrBr)],\n [\"ylorrd\", scheme9(schemeYlOrRd, interpolateYlOrRd)],\n\n // cyclical\n [\"rainbow\", schemeicyclical(interpolateRainbow)],\n [\"sinebow\", schemeicyclical(interpolateSinebow)]\n]);\n\nfunction scheme9(scheme, interpolate) {\n return ({length: n}) => {\n if (n === 1) return [scheme[3][1]]; // favor midpoint\n if (n === 2) return [scheme[3][1], scheme[3][2]]; // favor darker\n n = Math.max(3, Math.floor(n));\n return n > 9 ? quantize(interpolate, n) : scheme[n];\n };\n}\n\nfunction scheme11(scheme, interpolate) {\n return ({length: n}) => {\n if (n === 2) return [scheme[3][0], scheme[3][2]]; // favor diverging extrema\n n = Math.max(3, Math.floor(n));\n return n > 11 ? quantize(interpolate, n) : scheme[n];\n };\n}\n\nfunction scheme11r(scheme, interpolate) {\n return ({length: n}) => {\n if (n === 2) return [scheme[3][2], scheme[3][0]]; // favor diverging extrema\n n = Math.max(3, Math.floor(n));\n return n > 11 ? quantize((t) => interpolate(1 - t), n) : scheme[n].slice().reverse();\n };\n}\n\nfunction schemei(interpolate) {\n return ({length: n}) => quantize(interpolate, Math.max(2, Math.floor(n)));\n}\n\nfunction schemeicyclical(interpolate) {\n return ({length: n}) => quantize(interpolate, Math.floor(n) + 1).slice(0, -1);\n}\n\nexport function ordinalScheme(scheme) {\n const s = `${scheme}`.toLowerCase();\n if (!ordinalSchemes.has(s)) throw new Error(`unknown ordinal scheme: ${s}`);\n return ordinalSchemes.get(s);\n}\n\nexport function ordinalRange(scheme, length) {\n const s = ordinalScheme(scheme);\n const r = typeof s === \"function\" ? s({length}) : s;\n return r.length !== length ? r.slice(0, length) : r;\n}\n\n// If the specified domain contains only booleans (ignoring null and undefined),\n// returns a corresponding range where false is mapped to the low color and true\n// is mapped to the high color of the specified scheme.\nexport function maybeBooleanRange(domain, scheme = \"greys\") {\n const range = new Set();\n const [f, t] = ordinalRange(scheme, 2);\n for (const value of domain) {\n if (value == null) continue;\n if (value === true) range.add(t);\n else if (value === false) range.add(f);\n else return;\n }\n return [...range];\n}\n\nconst quantitativeSchemes = new Map([\n // diverging\n [\"brbg\", interpolateBrBG],\n [\"prgn\", interpolatePRGn],\n [\"piyg\", interpolatePiYG],\n [\"puor\", interpolatePuOr],\n [\"rdbu\", interpolateRdBu],\n [\"rdgy\", interpolateRdGy],\n [\"rdylbu\", interpolateRdYlBu],\n [\"rdylgn\", interpolateRdYlGn],\n [\"spectral\", interpolateSpectral],\n\n // reversed diverging (for temperature data)\n [\"burd\", (t) => interpolateRdBu(1 - t)],\n [\"buylrd\", (t) => interpolateRdYlBu(1 - t)],\n\n // sequential (single-hue)\n [\"blues\", interpolateBlues],\n [\"greens\", interpolateGreens],\n [\"greys\", interpolateGreys],\n [\"purples\", interpolatePurples],\n [\"reds\", interpolateReds],\n [\"oranges\", interpolateOranges],\n\n // sequential (multi-hue)\n [\"turbo\", interpolateTurbo],\n [\"viridis\", interpolateViridis],\n [\"magma\", interpolateMagma],\n [\"inferno\", interpolateInferno],\n [\"plasma\", interpolatePlasma],\n [\"cividis\", interpolateCividis],\n [\"cubehelix\", interpolateCubehelixDefault],\n [\"warm\", interpolateWarm],\n [\"cool\", interpolateCool],\n [\"bugn\", interpolateBuGn],\n [\"bupu\", interpolateBuPu],\n [\"gnbu\", interpolateGnBu],\n [\"orrd\", interpolateOrRd],\n [\"pubugn\", interpolatePuBuGn],\n [\"pubu\", interpolatePuBu],\n [\"purd\", interpolatePuRd],\n [\"rdpu\", interpolateRdPu],\n [\"ylgnbu\", interpolateYlGnBu],\n [\"ylgn\", interpolateYlGn],\n [\"ylorbr\", interpolateYlOrBr],\n [\"ylorrd\", interpolateYlOrRd],\n\n // cyclical\n [\"rainbow\", interpolateRainbow],\n [\"sinebow\", interpolateSinebow]\n]);\n\nexport function quantitativeScheme(scheme) {\n const s = `${scheme}`.toLowerCase();\n if (!quantitativeSchemes.has(s)) throw new Error(`unknown quantitative scheme: ${s}`);\n return quantitativeSchemes.get(s);\n}\n\nconst divergingSchemes = new Set([\n \"brbg\",\n \"prgn\",\n \"piyg\",\n \"puor\",\n \"rdbu\",\n \"rdgy\",\n \"rdylbu\",\n \"rdylgn\",\n \"spectral\",\n \"burd\",\n \"buylrd\"\n]);\n\nexport function isDivergingScheme(scheme) {\n return scheme != null && divergingSchemes.has(`${scheme}`.toLowerCase());\n}\n","import {\n descending,\n extent,\n interpolateHcl,\n interpolateHsl,\n interpolateLab,\n interpolateNumber,\n interpolateRgb,\n interpolateRound,\n min,\n max,\n median,\n quantile,\n quantize,\n reverse as reverseof,\n scaleLinear,\n scaleLog,\n scalePow,\n scaleQuantile,\n scaleSymlog,\n scaleThreshold,\n scaleIdentity,\n ticks\n} from \"d3\";\nimport {positive, negative, finite} from \"../defined.js\";\nimport {arrayify, constant, orderof, slice, maybeNiceInterval, maybeRangeInterval} from \"../options.js\";\nimport {ordinalRange, quantitativeScheme} from \"./schemes.js\";\nimport {registry, radius, opacity, color, length} from \"./index.js\";\n\nexport const flip = (i) => (t) => i(1 - t);\nconst unit = [0, 1];\n\nconst interpolators = new Map([\n // numbers\n [\"number\", interpolateNumber],\n\n // color spaces\n [\"rgb\", interpolateRgb],\n [\"hsl\", interpolateHsl],\n [\"hcl\", interpolateHcl],\n [\"lab\", interpolateLab]\n]);\n\nexport function maybeInterpolator(interpolate) {\n const i = `${interpolate}`.toLowerCase();\n if (!interpolators.has(i)) throw new Error(`unknown interpolator: ${i}`);\n return interpolators.get(i);\n}\n\nexport function createScaleQ(\n key,\n scale,\n channels,\n {\n type,\n nice,\n clamp,\n zero,\n domain = inferAutoDomain(key, channels),\n unknown,\n round,\n scheme,\n interval,\n range = registry.get(key) === radius\n ? inferRadialRange(channels, domain)\n : registry.get(key) === length\n ? inferLengthRange(channels, domain)\n : registry.get(key) === opacity\n ? unit\n : undefined,\n interpolate = registry.get(key) === color\n ? scheme == null && range !== undefined\n ? interpolateRgb\n : quantitativeScheme(scheme !== undefined ? scheme : type === \"cyclical\" ? \"rainbow\" : \"turbo\")\n : round\n ? interpolateRound\n : interpolateNumber,\n reverse\n }\n) {\n interval = maybeRangeInterval(interval, type);\n if (type === \"cyclical\" || type === \"sequential\") type = \"linear\"; // shorthand for color schemes\n reverse = !!reverse;\n\n // Sometimes interpolate is a named interpolator, such as \"lab\" for Lab color\n // space. Other times interpolate is a function that takes two arguments and\n // is used in conjunction with the range. And other times the interpolate\n // function is a “fixed” interpolator on the [0, 1] interval, as when a\n // color scheme such as interpolateRdBu is used.\n if (typeof interpolate !== \"function\") {\n interpolate = maybeInterpolator(interpolate);\n }\n if (interpolate.length === 1) {\n if (reverse) {\n interpolate = flip(interpolate);\n reverse = false;\n }\n if (range === undefined) {\n range = Float64Array.from(domain, (_, i) => i / (domain.length - 1));\n if (range.length === 2) range = unit; // optimize common case of [0, 1]\n }\n scale.interpolate((range === unit ? constant : interpolatePiecewise)(interpolate));\n } else {\n scale.interpolate(interpolate);\n }\n\n // If a zero option is specified, we assume that the domain is numeric, and we\n // want to ensure that the domain crosses zero. However, note that the domain\n // may be reversed (descending) so we shouldn’t assume that the first value is\n // smaller than the last; and also it’s possible that the domain has more than\n // two values for a “poly” scale. And lastly be careful not to mutate input!\n if (zero) {\n const [min, max] = extent(domain);\n if (min > 0 || max < 0) {\n domain = slice(domain);\n if (orderof(domain) !== Math.sign(min)) domain[domain.length - 1] = 0;\n // [2, 1] or [-2, -1]\n else domain[0] = 0; // [1, 2] or [-1, -2]\n }\n }\n\n if (reverse) domain = reverseof(domain);\n scale.domain(domain).unknown(unknown);\n if (nice) scale.nice(maybeNice(nice, type)), (domain = scale.domain());\n if (range !== undefined) scale.range(range);\n if (clamp) scale.clamp(clamp);\n return {type, domain, range, scale, interpolate, interval};\n}\n\nfunction maybeNice(nice, type) {\n return nice === true ? undefined : typeof nice === \"number\" ? nice : maybeNiceInterval(nice, type);\n}\n\nexport function createScaleLinear(key, channels, options) {\n return createScaleQ(key, scaleLinear(), channels, options);\n}\n\nexport function createScaleSqrt(key, channels, options) {\n return createScalePow(key, channels, {...options, exponent: 0.5});\n}\n\nexport function createScalePow(key, channels, {exponent = 1, ...options}) {\n return createScaleQ(key, scalePow().exponent(exponent), channels, {...options, type: \"pow\"});\n}\n\nexport function createScaleLog(key, channels, {base = 10, domain = inferLogDomain(channels), ...options}) {\n return createScaleQ(key, scaleLog().base(base), channels, {...options, domain});\n}\n\nexport function createScaleSymlog(key, channels, {constant = 1, ...options}) {\n return createScaleQ(key, scaleSymlog().constant(constant), channels, options);\n}\n\nexport function createScaleQuantile(\n key,\n channels,\n {\n range,\n quantiles = range === undefined ? 5 : (range = [...range]).length, // deprecated; use n instead\n n = quantiles,\n scheme = \"rdylbu\",\n domain = inferQuantileDomain(channels),\n unknown,\n interpolate,\n reverse\n }\n) {\n if (range === undefined) {\n range =\n interpolate !== undefined\n ? quantize(interpolate, n)\n : registry.get(key) === color\n ? ordinalRange(scheme, n)\n : undefined;\n }\n if (domain.length > 0) {\n domain = scaleQuantile(domain, range === undefined ? {length: n} : range).quantiles();\n }\n return createScaleThreshold(key, channels, {domain, range, reverse, unknown});\n}\n\nexport function createScaleQuantize(\n key,\n channels,\n {\n range,\n n = range === undefined ? 5 : (range = [...range]).length,\n scheme = \"rdylbu\",\n domain = inferAutoDomain(key, channels),\n unknown,\n interpolate,\n reverse\n }\n) {\n const [min, max] = extent(domain);\n let thresholds;\n if (range === undefined) {\n thresholds = ticks(min, max, n); // approximate number of nice, round thresholds\n if (thresholds[0] <= min) thresholds.splice(0, 1); // drop exact lower bound\n if (thresholds[thresholds.length - 1] >= max) thresholds.pop(); // drop exact upper bound\n n = thresholds.length + 1;\n range =\n interpolate !== undefined\n ? quantize(interpolate, n)\n : registry.get(key) === color\n ? ordinalRange(scheme, n)\n : undefined;\n } else {\n thresholds = quantize(interpolateNumber(min, max), n + 1).slice(1, -1); // exactly n - 1 thresholds to match range\n if (min instanceof Date) thresholds = thresholds.map((x) => new Date(x)); // preserve date types\n }\n if (orderof(arrayify(domain)) < 0) thresholds.reverse(); // preserve descending domain\n return createScaleThreshold(key, channels, {domain: thresholds, range, reverse, unknown});\n}\n\nexport function createScaleThreshold(\n key,\n channels,\n {\n domain = [0], // explicit thresholds in ascending order\n unknown,\n scheme = \"rdylbu\",\n interpolate,\n range = interpolate !== undefined\n ? quantize(interpolate, domain.length + 1)\n : registry.get(key) === color\n ? ordinalRange(scheme, domain.length + 1)\n : undefined,\n reverse\n }\n) {\n domain = arrayify(domain);\n const sign = orderof(domain); // preserve descending domain\n if (!isNaN(sign) && !isOrdered(domain, sign)) throw new Error(`the ${key} scale has a non-monotonic domain`);\n if (reverse) range = reverseof(range); // domain ascending, so reverse range\n return {\n type: \"threshold\",\n scale: scaleThreshold(sign < 0 ? reverseof(domain) : domain, range === undefined ? [] : range).unknown(unknown),\n domain,\n range\n };\n}\n\nfunction isOrdered(domain, sign) {\n for (let i = 1, n = domain.length, d = domain[0]; i < n; ++i) {\n const s = descending(d, (d = domain[i]));\n if (s !== 0 && s !== sign) return false;\n }\n return true;\n}\n\nexport function createScaleIdentity() {\n return {type: \"identity\", scale: scaleIdentity()};\n}\n\nexport function inferDomain(channels, f = finite) {\n return channels.length\n ? [\n min(channels, ({value}) => (value === undefined ? value : min(value, f))),\n max(channels, ({value}) => (value === undefined ? value : max(value, f)))\n ]\n : [0, 1];\n}\n\nfunction inferAutoDomain(key, channels) {\n const type = registry.get(key);\n return (type === radius || type === opacity || type === length ? inferZeroDomain : inferDomain)(channels);\n}\n\nfunction inferZeroDomain(channels) {\n return [0, channels.length ? max(channels, ({value}) => (value === undefined ? value : max(value, finite))) : 1];\n}\n\n// We don’t want the upper bound of the radial domain to be zero, as this would\n// be degenerate, so we ignore nonpositive values. We also don’t want the\n// maximum default radius to exceed 30px.\nfunction inferRadialRange(channels, domain) {\n const hint = channels.find(({radius}) => radius !== undefined);\n if (hint !== undefined) return [0, hint.radius]; // a natural maximum radius, e.g. hexbins\n const h25 = quantile(channels, 0.5, ({value}) => (value === undefined ? NaN : quantile(value, 0.25, positive)));\n const range = domain.map((d) => 3 * Math.sqrt(d / h25));\n const k = 30 / max(range);\n return k < 1 ? range.map((r) => r * k) : range;\n}\n\n// We want a length scale’s domain to go from zero to a positive value, and to\n// treat negative lengths if any as inverted vectors of equivalent magnitude. We\n// also don’t want the maximum default length to exceed 60px.\nfunction inferLengthRange(channels, domain) {\n const h50 = median(channels, ({value}) => (value === undefined ? NaN : median(value, Math.abs)));\n const range = domain.map((d) => (12 * d) / h50);\n const k = 60 / max(range);\n return k < 1 ? range.map((r) => r * k) : range;\n}\n\nfunction inferLogDomain(channels) {\n for (const {value} of channels) {\n if (value !== undefined) {\n for (let v of value) {\n if (v > 0) return inferDomain(channels, positive);\n if (v < 0) return inferDomain(channels, negative);\n }\n }\n }\n return [1, 10];\n}\n\nfunction inferQuantileDomain(channels) {\n const domain = [];\n for (const {value} of channels) {\n if (value === undefined) continue;\n for (const v of value) domain.push(v);\n }\n return domain;\n}\n\nexport function interpolatePiecewise(interpolate) {\n return (i, j) => (t) => interpolate(i + t * (j - i));\n}\n","import {\n descending,\n interpolateNumber,\n interpolateRgb,\n piecewise,\n scaleDiverging,\n scaleDivergingLog,\n scaleDivergingPow,\n scaleDivergingSymlog\n} from \"d3\";\nimport {positive, negative} from \"../defined.js\";\nimport {quantitativeScheme} from \"./schemes.js\";\nimport {registry, color} from \"./index.js\";\nimport {inferDomain, maybeInterpolator, flip, interpolatePiecewise} from \"./quantitative.js\";\n\nfunction createScaleD(\n key,\n scale,\n transform,\n channels,\n {\n type,\n nice,\n clamp,\n domain = inferDomain(channels),\n unknown,\n pivot = 0,\n scheme,\n range,\n symmetric = true,\n interpolate = registry.get(key) === color\n ? scheme == null && range !== undefined\n ? interpolateRgb\n : quantitativeScheme(scheme !== undefined ? scheme : \"rdbu\")\n : interpolateNumber,\n reverse\n }\n) {\n pivot = +pivot;\n let [min, max] = domain;\n if (descending(min, max) < 0) ([min, max] = [max, min]), (reverse = !reverse);\n min = Math.min(min, pivot);\n max = Math.max(max, pivot);\n\n // Sometimes interpolate is a named interpolator, such as \"lab\" for Lab color\n // space. Other times interpolate is a function that takes two arguments and\n // is used in conjunction with the range. And other times the interpolate\n // function is a “fixed” interpolator on the [0, 1] interval, as when a\n // color scheme such as interpolateRdBu is used.\n if (typeof interpolate !== \"function\") {\n interpolate = maybeInterpolator(interpolate);\n }\n\n // If an explicit range is specified, promote it to a piecewise interpolator.\n if (range !== undefined) {\n interpolate =\n interpolate.length === 1 ? interpolatePiecewise(interpolate)(...range) : piecewise(interpolate, range);\n }\n\n // Reverse before normalization.\n if (reverse) interpolate = flip(interpolate);\n\n // Normalize the interpolator for symmetric difference around the pivot.\n if (symmetric) {\n const mid = transform.apply(pivot);\n const mindelta = mid - transform.apply(min);\n const maxdelta = transform.apply(max) - mid;\n if (mindelta < maxdelta) min = transform.invert(mid - maxdelta);\n else if (mindelta > maxdelta) max = transform.invert(mid + mindelta);\n }\n\n scale.domain([min, pivot, max]).unknown(unknown).interpolator(interpolate);\n if (clamp) scale.clamp(clamp);\n if (nice) scale.nice(nice);\n return {type, domain: [min, max], pivot, interpolate, scale};\n}\n\nexport function createScaleDiverging(key, channels, options) {\n return createScaleD(key, scaleDiverging(), transformIdentity, channels, options);\n}\n\nexport function createScaleDivergingSqrt(key, channels, options) {\n return createScaleDivergingPow(key, channels, {...options, exponent: 0.5});\n}\n\nexport function createScaleDivergingPow(key, channels, {exponent = 1, ...options}) {\n return createScaleD(key, scaleDivergingPow().exponent((exponent = +exponent)), transformPow(exponent), channels, {\n ...options,\n type: \"diverging-pow\"\n });\n}\n\nexport function createScaleDivergingLog(\n key,\n channels,\n {base = 10, pivot = 1, domain = inferDomain(channels, pivot < 0 ? negative : positive), ...options}\n) {\n return createScaleD(key, scaleDivergingLog().base((base = +base)), transformLog, channels, {\n domain,\n pivot,\n ...options\n });\n}\n\nexport function createScaleDivergingSymlog(key, channels, {constant = 1, ...options}) {\n return createScaleD(\n key,\n scaleDivergingSymlog().constant((constant = +constant)),\n transformSymlog(constant),\n channels,\n options\n );\n}\n\nconst transformIdentity = {\n apply(x) {\n return x;\n },\n invert(x) {\n return x;\n }\n};\n\nconst transformLog = {\n apply: Math.log,\n invert: Math.exp\n};\n\nconst transformSqrt = {\n apply(x) {\n return Math.sign(x) * Math.sqrt(Math.abs(x));\n },\n invert(x) {\n return Math.sign(x) * (x * x);\n }\n};\n\nfunction transformPow(exponent) {\n return exponent === 0.5\n ? transformSqrt\n : {\n apply(x) {\n return Math.sign(x) * Math.pow(Math.abs(x), exponent);\n },\n invert(x) {\n return Math.sign(x) * Math.pow(Math.abs(x), 1 / exponent);\n }\n };\n}\n\nfunction transformSymlog(constant) {\n return {\n apply(x) {\n return Math.sign(x) * Math.log1p(Math.abs(x / constant));\n },\n invert(x) {\n return Math.sign(x) * Math.expm1(Math.abs(x)) * constant;\n }\n };\n}\n","import {scaleTime, scaleUtc} from \"d3\";\nimport {createScaleQ} from \"./quantitative.js\";\n\nfunction createScaleT(key, scale, channels, options) {\n return createScaleQ(key, scale, channels, options);\n}\n\nexport function createScaleTime(key, channels, options) {\n return createScaleT(key, scaleTime(), channels, options);\n}\n\nexport function createScaleUtc(key, channels, options) {\n return createScaleT(key, scaleUtc(), channels, options);\n}\n","import {InternSet, extent, quantize, reverse as reverseof, sort, symbolsFill, symbolsStroke} from \"d3\";\nimport {scaleBand, scaleOrdinal, scalePoint, scaleImplicit} from \"d3\";\nimport {ascendingDefined} from \"../defined.js\";\nimport {isNoneish, map, maybeRangeInterval} from \"../options.js\";\nimport {maybeSymbol} from \"../symbol.js\";\nimport {registry, color, position, symbol} from \"./index.js\";\nimport {maybeBooleanRange, ordinalScheme, quantitativeScheme} from \"./schemes.js\";\n\n// This denotes an implicitly ordinal color scale: the scale type was not set,\n// but the associated values are strings or booleans. If the associated defined\n// values are entirely boolean, the range will default to greys. You can opt out\n// of this by setting the type explicitly.\nexport const ordinalImplicit = Symbol(\"ordinal\");\n\nfunction createScaleO(key, scale, channels, {type, interval, domain, range, reverse, hint}) {\n interval = maybeRangeInterval(interval, type);\n if (domain === undefined) domain = inferDomain(channels, interval, key);\n if (type === \"categorical\" || type === ordinalImplicit) type = \"ordinal\"; // shorthand for color schemes\n if (reverse) domain = reverseof(domain);\n scale.domain(domain);\n if (range !== undefined) {\n // If the range is specified as a function, pass it the domain.\n if (typeof range === \"function\") range = range(domain);\n scale.range(range);\n }\n return {type, domain, range, scale, hint, interval};\n}\n\nexport function createScaleOrdinal(key, channels, {type, interval, domain, range, scheme, unknown, ...options}) {\n interval = maybeRangeInterval(interval, type);\n if (domain === undefined) domain = inferDomain(channels, interval, key);\n let hint;\n if (registry.get(key) === symbol) {\n hint = inferSymbolHint(channels);\n range = range === undefined ? inferSymbolRange(hint) : map(range, maybeSymbol);\n } else if (registry.get(key) === color) {\n if (range === undefined && (type === \"ordinal\" || type === ordinalImplicit)) {\n range = maybeBooleanRange(domain, scheme);\n if (range !== undefined) scheme = undefined; // Don’t re-apply scheme.\n }\n if (scheme === undefined && range === undefined) {\n scheme = type === \"ordinal\" ? \"turbo\" : \"tableau10\";\n }\n if (scheme !== undefined) {\n if (range !== undefined) {\n const interpolate = quantitativeScheme(scheme);\n const t0 = range[0],\n d = range[1] - range[0];\n range = ({length: n}) => quantize((t) => interpolate(t0 + d * t), n);\n } else {\n range = ordinalScheme(scheme);\n }\n }\n }\n if (unknown === scaleImplicit) {\n throw new Error(`implicit unknown on ${key} scale is not supported`);\n }\n return createScaleO(key, scaleOrdinal().unknown(unknown), channels, {...options, type, domain, range, hint});\n}\n\nexport function createScalePoint(key, channels, {align = 0.5, padding = 0.5, ...options}) {\n return maybeRound(scalePoint().align(align).padding(padding), channels, options, key);\n}\n\nexport function createScaleBand(\n key,\n channels,\n {\n align = 0.5,\n padding = 0.1,\n paddingInner = padding,\n paddingOuter = key === \"fx\" || key === \"fy\" ? 0 : padding,\n ...options\n }\n) {\n return maybeRound(\n scaleBand().align(align).paddingInner(paddingInner).paddingOuter(paddingOuter),\n channels,\n options,\n key\n );\n}\n\nfunction maybeRound(scale, channels, options, key) {\n let {round} = options;\n if (round !== undefined) scale.round((round = !!round));\n scale = createScaleO(key, scale, channels, options);\n scale.round = round; // preserve for autoScaleRound\n return scale;\n}\n\nfunction inferDomain(channels, interval, key) {\n const values = new InternSet();\n for (const {value, domain} of channels) {\n if (domain !== undefined) return domain(); // see channelDomain\n if (value === undefined) continue;\n for (const v of value) values.add(v);\n }\n if (interval !== undefined) {\n const [min, max] = extent(values).map(interval.floor, interval);\n return interval.range(min, interval.offset(max));\n }\n if (values.size > 10e3 && registry.get(key) === position) {\n throw new Error(`implicit ordinal domain of ${key} scale has more than 10,000 values`);\n }\n return sort(values, ascendingDefined);\n}\n\n// If all channels provide a consistent hint, propagate it to the scale.\nfunction inferHint(channels, key) {\n let value;\n for (const {hint} of channels) {\n const candidate = hint?.[key];\n if (candidate === undefined) continue; // no hint here\n if (value === undefined) value = candidate;\n // first hint\n else if (value !== candidate) return; // inconsistent hint\n }\n return value;\n}\n\nfunction inferSymbolHint(channels) {\n return {\n fill: inferHint(channels, \"fill\"),\n stroke: inferHint(channels, \"stroke\")\n };\n}\n\nfunction inferSymbolRange(hint) {\n return isNoneish(hint.fill) ? symbolsStroke : symbolsFill;\n}\n","import {\n isOrdinal,\n isTemporal,\n isTemporalString,\n isNumericString,\n isScaleOptions,\n map,\n slice,\n coerceNumbers,\n coerceDates\n} from \"./options.js\";\nimport {registry, color, position, radius, opacity, symbol, length} from \"./scales/index.js\";\nimport {\n createScaleLinear,\n createScaleSqrt,\n createScalePow,\n createScaleLog,\n createScaleSymlog,\n createScaleQuantile,\n createScaleQuantize,\n createScaleThreshold,\n createScaleIdentity\n} from \"./scales/quantitative.js\";\nimport {\n createScaleDiverging,\n createScaleDivergingSqrt,\n createScaleDivergingPow,\n createScaleDivergingLog,\n createScaleDivergingSymlog\n} from \"./scales/diverging.js\";\nimport {isDivergingScheme} from \"./scales/schemes.js\";\nimport {createScaleTime, createScaleUtc} from \"./scales/temporal.js\";\nimport {createScaleOrdinal, createScalePoint, createScaleBand, ordinalImplicit} from \"./scales/ordinal.js\";\nimport {maybeSymbol} from \"./symbol.js\";\nimport {warn} from \"./warnings.js\";\n\nexport function createScales(\n channelsByScale,\n {\n label: globalLabel,\n inset: globalInset = 0,\n insetTop: globalInsetTop = globalInset,\n insetRight: globalInsetRight = globalInset,\n insetBottom: globalInsetBottom = globalInset,\n insetLeft: globalInsetLeft = globalInset,\n round,\n nice,\n clamp,\n zero,\n align,\n padding,\n projection,\n facet: {label: facetLabel = globalLabel} = {},\n ...options\n } = {}\n) {\n const scales = {};\n for (const [key, channels] of channelsByScale) {\n const scaleOptions = options[key];\n const scale = createScale(key, channels, {\n round: registry.get(key) === position ? round : undefined, // only for position\n nice,\n clamp,\n zero,\n align,\n padding,\n projection,\n ...scaleOptions\n });\n if (scale) {\n // populate generic scale options (percent, transform, insets)\n let {\n label = key === \"fx\" || key === \"fy\" ? facetLabel : globalLabel,\n percent,\n transform,\n inset,\n insetTop = inset !== undefined ? inset : key === \"y\" ? globalInsetTop : 0, // not fy\n insetRight = inset !== undefined ? inset : key === \"x\" ? globalInsetRight : 0, // not fx\n insetBottom = inset !== undefined ? inset : key === \"y\" ? globalInsetBottom : 0, // not fy\n insetLeft = inset !== undefined ? inset : key === \"x\" ? globalInsetLeft : 0 // not fx\n } = scaleOptions || {};\n if (transform == null) transform = undefined;\n else if (typeof transform !== \"function\") throw new Error(\"invalid scale transform; not a function\");\n scale.percent = !!percent;\n scale.label = label === undefined ? inferScaleLabel(channels, scale) : label;\n scale.transform = transform;\n if (key === \"x\" || key === \"fx\") {\n scale.insetLeft = +insetLeft;\n scale.insetRight = +insetRight;\n } else if (key === \"y\" || key === \"fy\") {\n scale.insetTop = +insetTop;\n scale.insetBottom = +insetBottom;\n }\n scales[key] = scale;\n }\n }\n return scales;\n}\n\nexport function createScaleFunctions(scales) {\n return Object.fromEntries(\n Object.entries(scales)\n .filter(([, {scale}]) => scale) // drop identity scales\n .map(([name, {scale, type, interval, label}]) => {\n scale.type = type; // for axis\n if (interval != null) scale.interval = interval; // for axis\n if (label != null) scale.label = label; // for axis\n return [name, scale];\n })\n );\n}\n\n// Mutates scale.range!\nexport function autoScaleRange(scales, dimensions) {\n const {x, y, fx, fy} = scales;\n const superdimensions = fx || fy ? outerDimensions(dimensions) : dimensions;\n if (fx) autoScaleRangeX(fx, superdimensions);\n if (fy) autoScaleRangeY(fy, superdimensions);\n const subdimensions = fx || fy ? innerDimensions(scales, dimensions) : dimensions;\n if (x) autoScaleRangeX(x, subdimensions);\n if (y) autoScaleRangeY(y, subdimensions);\n}\n\n// Channels can have labels; if all the channels for a given scale are\n// consistently labeled (i.e., have the same value if not undefined), and the\n// corresponding scale doesn’t already have an explicit label, then the\n// channels’ label is promoted to the scale. This inferred label should have an\n// orientation-appropriate arrow added when used as an axis, but we don’t want\n// to add the arrow when the label is set explicitly as an option; so, the\n// inferred label is distinguished as an object with an “inferred” property.\nfunction inferScaleLabel(channels = [], scale) {\n let label;\n for (const {label: l} of channels) {\n if (l === undefined) continue;\n if (label === undefined) label = l;\n else if (label !== l) return;\n }\n if (label === undefined) return;\n // Ignore the implicit label for temporal scales if it’s simply “date”.\n if (isTemporalScale(scale) && /^(date|time|year)$/i.test(label)) return;\n if (!isOrdinalScale(scale) && scale.percent) label = `${label} (%)`;\n return {inferred: true, toString: () => label};\n}\n\n// Returns the dimensions of the outer frame; this is subdivided into facets\n// with the margins of each facet collapsing into the outer margins.\nexport function outerDimensions(dimensions) {\n const {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n width,\n height,\n facet: {\n marginTop: facetMarginTop,\n marginRight: facetMarginRight,\n marginBottom: facetMarginBottom,\n marginLeft: facetMarginLeft\n }\n } = dimensions;\n return {\n marginTop: Math.max(marginTop, facetMarginTop),\n marginRight: Math.max(marginRight, facetMarginRight),\n marginBottom: Math.max(marginBottom, facetMarginBottom),\n marginLeft: Math.max(marginLeft, facetMarginLeft),\n width,\n height\n };\n}\n\n// Returns the dimensions of each facet.\nexport function innerDimensions({fx, fy}, dimensions) {\n const {marginTop, marginRight, marginBottom, marginLeft, width, height} = outerDimensions(dimensions);\n return {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n width: fx ? fx.scale.bandwidth() + marginLeft + marginRight : width,\n height: fy ? fy.scale.bandwidth() + marginTop + marginBottom : height\n };\n}\n\nfunction autoScaleRangeX(scale, dimensions) {\n if (scale.range === undefined) {\n const {insetLeft, insetRight} = scale;\n const {width, marginLeft = 0, marginRight = 0} = dimensions;\n const left = marginLeft + insetLeft;\n const right = width - marginRight - insetRight;\n scale.range = [left, Math.max(left, right)];\n if (!isOrdinalScale(scale)) scale.range = piecewiseRange(scale);\n scale.scale.range(scale.range);\n }\n autoScaleRound(scale);\n}\n\nfunction autoScaleRangeY(scale, dimensions) {\n if (scale.range === undefined) {\n const {insetTop, insetBottom} = scale;\n const {height, marginTop = 0, marginBottom = 0} = dimensions;\n const top = marginTop + insetTop;\n const bottom = height - marginBottom - insetBottom;\n scale.range = [Math.max(top, bottom), top];\n if (!isOrdinalScale(scale)) scale.range = piecewiseRange(scale);\n else scale.range.reverse();\n scale.scale.range(scale.range);\n }\n autoScaleRound(scale);\n}\n\nfunction autoScaleRound(scale) {\n if (scale.round === undefined && isBandScale(scale) && roundError(scale) <= 30) {\n scale.scale.round(true);\n }\n}\n\n// If we were to turn on rounding for this band or point scale, how much wasted\n// space would it introduce (on both ends of the range)? This must match\n// d3.scaleBand’s rounding behavior:\n// https://github.com/d3/d3-scale/blob/83555bd759c7314420bd4240642beda5e258db9e/src/band.js#L20-L32\nfunction roundError({scale}) {\n const n = scale.domain().length;\n const [start, stop] = scale.range();\n const paddingInner = scale.paddingInner ? scale.paddingInner() : 1;\n const paddingOuter = scale.paddingOuter ? scale.paddingOuter() : scale.padding();\n const m = n - paddingInner;\n const step = Math.abs(stop - start) / Math.max(1, m + paddingOuter * 2);\n return (step - Math.floor(step)) * m;\n}\n\nfunction piecewiseRange(scale) {\n const length = scale.scale.domain().length + isThresholdScale(scale);\n if (!(length > 2)) return scale.range;\n const [start, end] = scale.range;\n return Array.from({length}, (_, i) => start + (i / (length - 1)) * (end - start));\n}\n\nexport function normalizeScale(key, scale, hint) {\n return createScale(key, hint === undefined ? undefined : [{hint}], {...scale});\n}\n\nfunction createScale(key, channels = [], options = {}) {\n const type = inferScaleType(key, channels, options);\n\n // Warn for common misuses of implicit ordinal scales. We disable this test if\n // you specify a scale interval or if you set the domain or range explicitly,\n // since setting the domain or range (typically with a cardinality of more than\n // two) is another indication that you intended for the scale to be ordinal; we\n // also disable it for facet scales since these are always band scales.\n if (\n options.type === undefined &&\n options.domain === undefined &&\n options.range === undefined &&\n options.interval == null &&\n key !== \"fx\" &&\n key !== \"fy\" &&\n isOrdinalScale({type})\n ) {\n const values = channels.map(({value}) => value).filter((value) => value !== undefined);\n if (values.some(isTemporal))\n warn(\n `Warning: some data associated with the ${key} scale are dates. Dates are typically associated with a \"utc\" or \"time\" scale rather than a \"${formatScaleType(\n type\n )}\" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can specify the interval of the ${key} scale (e.g., d3.utcDay), or you can suppress this warning by setting the type of the ${key} scale to \"${formatScaleType(\n type\n )}\".`\n );\n else if (values.some(isTemporalString))\n warn(\n `Warning: some data associated with the ${key} scale are strings that appear to be dates (e.g., YYYY-MM-DD). If these strings represent dates, you should parse them to Date objects. Dates are typically associated with a \"utc\" or \"time\" scale rather than a \"${formatScaleType(\n type\n )}\" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can suppress this warning by setting the type of the ${key} scale to \"${formatScaleType(\n type\n )}\".`\n );\n else if (values.some(isNumericString))\n warn(\n `Warning: some data associated with the ${key} scale are strings that appear to be numbers. If these strings represent numbers, you should parse or coerce them to numbers. Numbers are typically associated with a \"linear\" scale rather than a \"${formatScaleType(\n type\n )}\" scale. If you want to treat this data as ordinal, you can specify the interval of the ${key} scale (e.g., 1 for integers), or you can suppress this warning by setting the type of the ${key} scale to \"${formatScaleType(\n type\n )}\".`\n );\n }\n\n options.type = type; // Mutates input!\n\n // Once the scale type is known, coerce the associated channel values and any\n // explicitly-specified domain to the expected type.\n switch (type) {\n case \"diverging\":\n case \"diverging-sqrt\":\n case \"diverging-pow\":\n case \"diverging-log\":\n case \"diverging-symlog\":\n case \"cyclical\":\n case \"sequential\":\n case \"linear\":\n case \"sqrt\":\n case \"threshold\":\n case \"quantile\":\n case \"pow\":\n case \"log\":\n case \"symlog\":\n options = coerceType(channels, options, coerceNumbers);\n break;\n case \"identity\":\n switch (registry.get(key)) {\n case position:\n options = coerceType(channels, options, coerceNumbers);\n break;\n case symbol:\n options = coerceType(channels, options, coerceSymbols);\n break;\n }\n break;\n case \"utc\":\n case \"time\":\n options = coerceType(channels, options, coerceDates);\n break;\n }\n\n switch (type) {\n case \"diverging\":\n return createScaleDiverging(key, channels, options);\n case \"diverging-sqrt\":\n return createScaleDivergingSqrt(key, channels, options);\n case \"diverging-pow\":\n return createScaleDivergingPow(key, channels, options);\n case \"diverging-log\":\n return createScaleDivergingLog(key, channels, options);\n case \"diverging-symlog\":\n return createScaleDivergingSymlog(key, channels, options);\n case \"categorical\":\n case \"ordinal\":\n case ordinalImplicit:\n return createScaleOrdinal(key, channels, options);\n case \"cyclical\":\n case \"sequential\":\n case \"linear\":\n return createScaleLinear(key, channels, options);\n case \"sqrt\":\n return createScaleSqrt(key, channels, options);\n case \"threshold\":\n return createScaleThreshold(key, channels, options);\n case \"quantile\":\n return createScaleQuantile(key, channels, options);\n case \"quantize\":\n return createScaleQuantize(key, channels, options);\n case \"pow\":\n return createScalePow(key, channels, options);\n case \"log\":\n return createScaleLog(key, channels, options);\n case \"symlog\":\n return createScaleSymlog(key, channels, options);\n case \"utc\":\n return createScaleUtc(key, channels, options);\n case \"time\":\n return createScaleTime(key, channels, options);\n case \"point\":\n return createScalePoint(key, channels, options);\n case \"band\":\n return createScaleBand(key, channels, options);\n case \"identity\":\n return registry.get(key) === position ? createScaleIdentity() : {type: \"identity\"};\n case undefined:\n return;\n default:\n throw new Error(`unknown scale type: ${type}`);\n }\n}\n\nfunction formatScaleType(type) {\n return typeof type === \"symbol\" ? type.description : type;\n}\n\n// A special type symbol when the x and y scales are replaced with a projection.\nconst typeProjection = {toString: () => \"projection\"};\n\nfunction inferScaleType(key, channels, {type, domain, range, scheme, pivot, projection}) {\n // The facet scales are always band scales; this cannot be changed.\n if (key === \"fx\" || key === \"fy\") return \"band\";\n\n // If a projection is specified, the x- and y-scales are disabled; these\n // channels will be projected rather than scaled. (But still check that none\n // of the associated channels are incompatible with a projection.)\n if ((key === \"x\" || key === \"y\") && projection != null) type = typeProjection;\n\n // If a channel dictates a scale type, make sure that it is consistent with\n // the user-specified scale type (if any) and all other channels. For example,\n // barY requires x to be a band scale and disallows any other scale type.\n for (const {type: t} of channels) {\n if (t === undefined) continue;\n else if (type === undefined) type = t;\n else if (type !== t) throw new Error(`scale incompatible with channel: ${type} !== ${t}`);\n }\n\n // If the scale, a channel, or user specified a (consistent) type, return it.\n if (type === typeProjection) return;\n if (type !== undefined) return type;\n\n // If there’s no data (and no type) associated with this scale, don’t create a scale.\n if (domain === undefined && !channels.some(({value}) => value !== undefined)) return;\n\n // Some scales have default types.\n const kind = registry.get(key);\n if (kind === radius) return \"sqrt\";\n if (kind === opacity || kind === length) return \"linear\";\n if (kind === symbol) return \"ordinal\";\n\n // If the domain or range has more than two values, assume it’s ordinal. You\n // can still use a “piecewise” (or “polylinear”) scale, but you must set the\n // type explicitly.\n if ((domain || range || []).length > 2) return asOrdinalType(kind);\n\n // Otherwise, infer the scale type from the data! Prefer the domain, if\n // present, over channels. (The domain and channels should be consistently\n // typed, and the domain is more explicit and typically much smaller.) We only\n // check the first defined value for expedience and simplicity; we expect\n // that the types are consistent.\n if (domain !== undefined) {\n if (isOrdinal(domain)) return asOrdinalType(kind);\n if (isTemporal(domain)) return \"utc\";\n if (kind === color && (pivot != null || isDivergingScheme(scheme))) return \"diverging\";\n return \"linear\";\n }\n\n // If any channel is ordinal or temporal, it takes priority.\n const values = channels.map(({value}) => value).filter((value) => value !== undefined);\n if (values.some(isOrdinal)) return asOrdinalType(kind);\n if (values.some(isTemporal)) return \"utc\";\n if (kind === color && (pivot != null || isDivergingScheme(scheme))) return \"diverging\";\n return \"linear\";\n}\n\n// Positional scales default to a point scale instead of an ordinal scale.\nfunction asOrdinalType(kind) {\n switch (kind) {\n case position:\n return \"point\";\n case color:\n return ordinalImplicit;\n default:\n return \"ordinal\";\n }\n}\n\nexport function isTemporalScale({type}) {\n return type === \"time\" || type === \"utc\";\n}\n\nexport function isOrdinalScale({type}) {\n return type === \"ordinal\" || type === \"point\" || type === \"band\" || type === ordinalImplicit;\n}\n\nexport function isThresholdScale({type}) {\n return type === \"threshold\";\n}\n\nfunction isBandScale({type}) {\n return type === \"point\" || type === \"band\";\n}\n\nexport function isDivergingScale({type}) {\n return /^diverging($|-)/.test(type);\n}\n\n// Certain marks have special behavior if a scale is collapsed, i.e. if the\n// domain is degenerate and represents only a single value such as [3, 3]; for\n// example, a rect will span the full extent of the chart along a collapsed\n// dimension (whereas a dot will simply be drawn in the center).\nexport function isCollapsed(scale) {\n if (scale === undefined) return true; // treat missing scale as collapsed\n const domain = scale.domain();\n const value = scale(domain[0]);\n for (let i = 1, n = domain.length; i < n; ++i) {\n if (scale(domain[i]) - value) {\n return false;\n }\n }\n return true;\n}\n\n// Mutates channel.value!\nfunction coerceType(channels, {domain, ...options}, coerceValues) {\n for (const c of channels) {\n if (c.value !== undefined) {\n c.value = coerceValues(c.value);\n }\n }\n return {\n domain: domain === undefined ? domain : coerceValues(domain),\n ...options\n };\n}\n\nfunction coerceSymbols(values) {\n return map(values, maybeSymbol);\n}\n\nexport function scale(options = {}) {\n let scale;\n for (const key in options) {\n if (!registry.has(key)) continue; // ignore unknown properties\n if (!isScaleOptions(options[key])) continue; // e.g., ignore {color: \"red\"}\n if (scale !== undefined) throw new Error(\"ambiguous scale definition; multiple scales found\");\n scale = exposeScale(normalizeScale(key, options[key]));\n }\n if (scale === undefined) throw new Error(\"invalid scale definition; no scale found\");\n return scale;\n}\n\nexport function exposeScales(scaleDescriptors) {\n return (key) => {\n if (!registry.has((key = `${key}`))) throw new Error(`unknown scale: ${key}`);\n return key in scaleDescriptors ? exposeScale(scaleDescriptors[key]) : undefined;\n };\n}\n\n// Note: axis- and legend-related properties (such as label, ticks and\n// tickFormat) are not included here as they do not affect the scale’s behavior.\nfunction exposeScale({scale, type, domain, range, interpolate, interval, transform, percent, pivot}) {\n if (type === \"identity\") return {type: \"identity\", apply: (d) => d, invert: (d) => d};\n const unknown = scale.unknown ? scale.unknown() : undefined;\n return {\n type,\n domain: slice(domain), // defensive copy\n ...(range !== undefined && {range: slice(range)}), // defensive copy\n ...(transform !== undefined && {transform}),\n ...(percent && {percent}), // only exposed if truthy\n ...(unknown !== undefined && {unknown}),\n ...(interval !== undefined && {interval}),\n\n // quantitative\n ...(interpolate !== undefined && {interpolate}),\n ...(scale.clamp && {clamp: scale.clamp()}),\n\n // diverging (always asymmetric; we never want to apply the symmetric transform twice)\n ...(pivot !== undefined && {pivot, symmetric: false}),\n\n // log, diverging-log\n ...(scale.base && {base: scale.base()}),\n\n // pow, diverging-pow\n ...(scale.exponent && {exponent: scale.exponent()}),\n\n // symlog, diverging-symlog\n ...(scale.constant && {constant: scale.constant()}),\n\n // band, point\n ...(scale.align && {align: scale.align(), round: scale.round()}),\n ...(scale.padding &&\n (scale.paddingInner\n ? {paddingInner: scale.paddingInner(), paddingOuter: scale.paddingOuter()}\n : {padding: scale.padding()})),\n ...(scale.bandwidth && {bandwidth: scale.bandwidth(), step: scale.step()}),\n\n // utilities\n apply: (t) => scale(t),\n ...(scale.invert && {invert: (t) => scale.invert(t)})\n };\n}\n","import {format as isoFormat} from \"isoformat\";\nimport {string} from \"./options.js\";\nimport {memoize1} from \"./memoize.js\";\n\nconst numberFormat = memoize1((locale) => {\n return new Intl.NumberFormat(locale);\n});\n\nconst monthFormat = memoize1((locale, month) => {\n return new Intl.DateTimeFormat(locale, {timeZone: \"UTC\", ...(month && {month})});\n});\n\nconst weekdayFormat = memoize1((locale, weekday) => {\n return new Intl.DateTimeFormat(locale, {timeZone: \"UTC\", ...(weekday && {weekday})});\n});\n\nexport function formatNumber(locale = \"en-US\") {\n const format = numberFormat(locale);\n return (i) => (i != null && !isNaN(i) ? format.format(i) : undefined);\n}\n\nexport function formatMonth(locale = \"en-US\", format = \"short\") {\n const fmt = monthFormat(locale, format);\n return (i) => (i != null && !isNaN((i = +new Date(Date.UTC(2000, +i)))) ? fmt.format(i) : undefined);\n}\n\nexport function formatWeekday(locale = \"en-US\", format = \"short\") {\n const fmt = weekdayFormat(locale, format);\n return (i) => (i != null && !isNaN((i = +new Date(Date.UTC(2001, 0, +i)))) ? fmt.format(i) : undefined);\n}\n\nexport function formatIsoDate(date) {\n return isoFormat(date, \"Invalid Date\");\n}\n\nexport function formatAuto(locale = \"en-US\") {\n const number = formatNumber(locale);\n return (v) => (v instanceof Date ? formatIsoDate : typeof v === \"number\" ? number : string)(v);\n}\n\n// TODO When Plot supports a top-level locale option, this should be removed\n// because it lacks context to know which locale to use; formatAuto should be\n// used instead whenever possible.\nexport const formatDefault = formatAuto();\n","export function memoize1(compute) {\n let cacheValue, cacheKeys;\n return (...keys) => {\n if (cacheKeys?.length !== keys.length || cacheKeys.some((k, i) => k !== keys[i])) {\n cacheKeys = keys;\n cacheValue = compute(...keys);\n }\n return cacheValue;\n };\n}\n","import {geoPath, group, namespaces} from \"d3\";\nimport {create} from \"./context.js\";\nimport {defined, nonempty} from \"./defined.js\";\nimport {formatDefault} from \"./format.js\";\nimport {\n string,\n number,\n maybeColorChannel,\n maybeNumberChannel,\n maybeKeyword,\n isNoneish,\n isNone,\n isRound,\n keyof\n} from \"./options.js\";\nimport {warn} from \"./warnings.js\";\n\nexport const offset = (typeof window !== \"undefined\" ? window.devicePixelRatio > 1 : typeof it === \"undefined\") ? 0 : 0.5; // prettier-ignore\n\nlet nextClipId = 0;\n\nfunction getClipId() {\n return `plot-clip-${++nextClipId}`;\n}\n\nexport function styles(\n mark,\n {\n title,\n href,\n ariaLabel: variaLabel,\n ariaDescription,\n ariaHidden,\n target,\n fill,\n fillOpacity,\n stroke,\n strokeWidth,\n strokeOpacity,\n strokeLinejoin,\n strokeLinecap,\n strokeMiterlimit,\n strokeDasharray,\n strokeDashoffset,\n opacity,\n mixBlendMode,\n paintOrder,\n pointerEvents,\n shapeRendering\n },\n {\n ariaLabel: cariaLabel,\n fill: defaultFill = \"currentColor\",\n fillOpacity: defaultFillOpacity,\n stroke: defaultStroke = \"none\",\n strokeOpacity: defaultStrokeOpacity,\n strokeWidth: defaultStrokeWidth,\n strokeLinecap: defaultStrokeLinecap,\n strokeLinejoin: defaultStrokeLinejoin,\n strokeMiterlimit: defaultStrokeMiterlimit,\n paintOrder: defaultPaintOrder\n }\n) {\n // Some marks don’t support fill (e.g., tick and rule).\n if (defaultFill === null) {\n fill = null;\n fillOpacity = null;\n }\n\n // Some marks don’t support stroke (e.g., image).\n if (defaultStroke === null) {\n stroke = null;\n strokeOpacity = null;\n }\n\n // Some marks default to fill with no stroke, while others default to stroke\n // with no fill. For example, bar and area default to fill, while dot and line\n // default to stroke. For marks that fill by default, the default fill only\n // applies if the stroke is (constant) none; if you set a stroke, then the\n // default fill becomes none. Similarly for marks that stroke by stroke, the\n // default stroke only applies if the fill is (constant) none.\n if (isNoneish(defaultFill)) {\n if (!isNoneish(defaultStroke) && !isNoneish(fill)) defaultStroke = \"none\";\n } else {\n if (isNoneish(defaultStroke) && !isNoneish(stroke)) defaultFill = \"none\";\n }\n\n const [vfill, cfill] = maybeColorChannel(fill, defaultFill);\n const [vfillOpacity, cfillOpacity] = maybeNumberChannel(fillOpacity, defaultFillOpacity);\n const [vstroke, cstroke] = maybeColorChannel(stroke, defaultStroke);\n const [vstrokeOpacity, cstrokeOpacity] = maybeNumberChannel(strokeOpacity, defaultStrokeOpacity);\n const [vopacity, copacity] = maybeNumberChannel(opacity);\n\n // For styles that have no effect if there is no stroke, only apply the\n // defaults if the stroke is not the constant none. (If stroke is a channel,\n // then cstroke will be undefined, but there’s still a stroke; hence we don’t\n // use isNoneish here.)\n if (!isNone(cstroke)) {\n if (strokeWidth === undefined) strokeWidth = defaultStrokeWidth;\n if (strokeLinecap === undefined) strokeLinecap = defaultStrokeLinecap;\n if (strokeLinejoin === undefined) strokeLinejoin = defaultStrokeLinejoin;\n\n // The default stroke miterlimit need not be applied if the current stroke\n // is the constant round; this only has effect on miter joins.\n if (strokeMiterlimit === undefined && !isRound(strokeLinejoin)) strokeMiterlimit = defaultStrokeMiterlimit;\n\n // The paint order only takes effect if there is both a fill and a stroke\n // (at least if we ignore markers, which no built-in marks currently use).\n if (!isNone(cfill) && paintOrder === undefined) paintOrder = defaultPaintOrder;\n }\n\n const [vstrokeWidth, cstrokeWidth] = maybeNumberChannel(strokeWidth);\n\n // Some marks don’t support fill (e.g., tick and rule).\n if (defaultFill !== null) {\n mark.fill = impliedString(cfill, \"currentColor\");\n mark.fillOpacity = impliedNumber(cfillOpacity, 1);\n }\n\n // Some marks don’t support stroke (e.g., image).\n if (defaultStroke !== null) {\n mark.stroke = impliedString(cstroke, \"none\");\n mark.strokeWidth = impliedNumber(cstrokeWidth, 1);\n mark.strokeOpacity = impliedNumber(cstrokeOpacity, 1);\n mark.strokeLinejoin = impliedString(strokeLinejoin, \"miter\");\n mark.strokeLinecap = impliedString(strokeLinecap, \"butt\");\n mark.strokeMiterlimit = impliedNumber(strokeMiterlimit, 4);\n mark.strokeDasharray = impliedString(strokeDasharray, \"none\");\n mark.strokeDashoffset = impliedString(strokeDashoffset, \"0\");\n }\n\n mark.target = string(target);\n mark.ariaLabel = string(cariaLabel);\n mark.ariaDescription = string(ariaDescription);\n mark.ariaHidden = string(ariaHidden);\n mark.opacity = impliedNumber(copacity, 1);\n mark.mixBlendMode = impliedString(mixBlendMode, \"normal\");\n mark.paintOrder = impliedString(paintOrder, \"normal\");\n mark.pointerEvents = impliedString(pointerEvents, \"auto\");\n mark.shapeRendering = impliedString(shapeRendering, \"auto\");\n\n return {\n title: {value: title, optional: true},\n href: {value: href, optional: true},\n ariaLabel: {value: variaLabel, optional: true},\n fill: {value: vfill, scale: \"auto\", optional: true},\n fillOpacity: {value: vfillOpacity, scale: \"auto\", optional: true},\n stroke: {value: vstroke, scale: \"auto\", optional: true},\n strokeOpacity: {value: vstrokeOpacity, scale: \"auto\", optional: true},\n strokeWidth: {value: vstrokeWidth, optional: true},\n opacity: {value: vopacity, scale: \"auto\", optional: true}\n };\n}\n\n// Applies the specified titles via selection.call.\nexport function applyTitle(selection, L) {\n if (L)\n selection\n .filter((i) => nonempty(L[i]))\n .append(\"title\")\n .call(applyText, L);\n}\n\n// Like applyTitle, but for grouped data (lines, areas).\nexport function applyTitleGroup(selection, L) {\n if (L)\n selection\n .filter(([i]) => nonempty(L[i]))\n .append(\"title\")\n .call(applyTextGroup, L);\n}\n\nexport function applyText(selection, T) {\n if (T) selection.text((i) => formatDefault(T[i]));\n}\n\nexport function applyTextGroup(selection, T) {\n if (T) selection.text(([i]) => formatDefault(T[i]));\n}\n\nexport function applyChannelStyles(\n selection,\n {target},\n {\n ariaLabel: AL,\n title: T,\n fill: F,\n fillOpacity: FO,\n stroke: S,\n strokeOpacity: SO,\n strokeWidth: SW,\n opacity: O,\n href: H\n }\n) {\n if (AL) applyAttr(selection, \"aria-label\", (i) => AL[i]);\n if (F) applyAttr(selection, \"fill\", (i) => F[i]);\n if (FO) applyAttr(selection, \"fill-opacity\", (i) => FO[i]);\n if (S) applyAttr(selection, \"stroke\", (i) => S[i]);\n if (SO) applyAttr(selection, \"stroke-opacity\", (i) => SO[i]);\n if (SW) applyAttr(selection, \"stroke-width\", (i) => SW[i]);\n if (O) applyAttr(selection, \"opacity\", (i) => O[i]);\n if (H) applyHref(selection, (i) => H[i], target);\n applyTitle(selection, T);\n}\n\nexport function applyGroupedChannelStyles(\n selection,\n {target},\n {\n ariaLabel: AL,\n title: T,\n fill: F,\n fillOpacity: FO,\n stroke: S,\n strokeOpacity: SO,\n strokeWidth: SW,\n opacity: O,\n href: H\n }\n) {\n if (AL) applyAttr(selection, \"aria-label\", ([i]) => AL[i]);\n if (F) applyAttr(selection, \"fill\", ([i]) => F[i]);\n if (FO) applyAttr(selection, \"fill-opacity\", ([i]) => FO[i]);\n if (S) applyAttr(selection, \"stroke\", ([i]) => S[i]);\n if (SO) applyAttr(selection, \"stroke-opacity\", ([i]) => SO[i]);\n if (SW) applyAttr(selection, \"stroke-width\", ([i]) => SW[i]);\n if (O) applyAttr(selection, \"opacity\", ([i]) => O[i]);\n if (H) applyHref(selection, ([i]) => H[i], target);\n applyTitleGroup(selection, T);\n}\n\nfunction groupAesthetics({\n ariaLabel: AL,\n title: T,\n fill: F,\n fillOpacity: FO,\n stroke: S,\n strokeOpacity: SO,\n strokeWidth: SW,\n opacity: O,\n href: H\n}) {\n return [AL, T, F, FO, S, SO, SW, O, H].filter((c) => c !== undefined);\n}\n\nexport function groupZ(I, Z, z) {\n const G = group(I, (i) => Z[i]);\n if (z === undefined && G.size > I.length >> 1) {\n warn(\n `Warning: the implicit z channel has high cardinality. This may occur when the fill or stroke channel is associated with quantitative data rather than ordinal or categorical data. You can suppress this warning by setting the z option explicitly; if this data represents a single series, set z to null.`\n );\n }\n return G.values();\n}\n\nexport function* groupIndex(I, position, {z}, channels) {\n const {z: Z} = channels; // group channel\n const A = groupAesthetics(channels); // aesthetic channels\n const C = [...position, ...A]; // all channels\n\n // Group the current index by Z (if any).\n for (const G of Z ? groupZ(I, Z, z) : [I]) {\n let Ag; // the A-values (aesthetics) of the current group, if any\n let Gg; // the current group index (a subset of G, and I), if any\n out: for (const i of G) {\n // If any channel has an undefined value for this index, skip it.\n for (const c of C) {\n if (!defined(c[i])) {\n if (Gg) Gg.push(-1);\n continue out;\n }\n }\n\n // Otherwise, if this is a new group, record the aesthetics for this\n // group. Yield the current group and start a new one.\n if (Ag === undefined) {\n if (Gg) yield Gg;\n (Ag = A.map((c) => keyof(c[i]))), (Gg = [i]);\n continue;\n }\n\n // Otherwise, add the current index to the current group. Then, if any of\n // the aesthetics don’t match the current group, yield the current group\n // and start a new group of the current index.\n Gg.push(i);\n for (let j = 0; j < A.length; ++j) {\n const k = keyof(A[j][i]);\n if (k !== Ag[j]) {\n yield Gg;\n (Ag = A.map((c) => keyof(c[i]))), (Gg = [i]);\n continue out;\n }\n }\n }\n\n // Yield the current group, if any.\n if (Gg) yield Gg;\n }\n}\n\n// TODO Accept other types of clips (paths, urls, x, y, other marks…)?\n// https://github.com/observablehq/plot/issues/181\nexport function maybeClip(clip) {\n if (clip === true) clip = \"frame\";\n else if (clip === false) clip = null;\n return maybeKeyword(clip, \"clip\", [\"frame\", \"sphere\"]);\n}\n\n// Note: may mutate selection.node!\nfunction applyClip(selection, mark, dimensions, context) {\n let clipUrl;\n switch (mark.clip) {\n case \"frame\": {\n const {width, height, marginLeft, marginRight, marginTop, marginBottom} = dimensions;\n const id = getClipId();\n clipUrl = `url(#${id})`;\n selection = create(\"svg:g\", context)\n .call((g) =>\n g\n .append(\"svg:clipPath\")\n .attr(\"id\", id)\n .append(\"rect\")\n .attr(\"x\", marginLeft)\n .attr(\"y\", marginTop)\n .attr(\"width\", width - marginRight - marginLeft)\n .attr(\"height\", height - marginTop - marginBottom)\n )\n .each(function () {\n this.appendChild(selection.node());\n selection.node = () => this; // Note: mutation!\n });\n break;\n }\n case \"sphere\": {\n const {projection} = context;\n if (!projection) throw new Error(`the \"sphere\" clip option requires a projection`);\n const id = getClipId();\n clipUrl = `url(#${id})`;\n selection\n .append(\"clipPath\")\n .attr(\"id\", id)\n .append(\"path\")\n .attr(\"d\", geoPath(projection)({type: \"Sphere\"}));\n break;\n }\n }\n // Here we’re careful to apply the ARIA attributes to the outer G element when\n // clipping is applied, and to apply the ARIA attributes before any other\n // attributes (for readability).\n applyAttr(selection, \"aria-label\", mark.ariaLabel);\n applyAttr(selection, \"aria-description\", mark.ariaDescription);\n applyAttr(selection, \"aria-hidden\", mark.ariaHidden);\n applyAttr(selection, \"clip-path\", clipUrl);\n}\n\n// Note: may mutate selection.node!\nexport function applyIndirectStyles(selection, mark, dimensions, context) {\n applyClip(selection, mark, dimensions, context);\n applyAttr(selection, \"fill\", mark.fill);\n applyAttr(selection, \"fill-opacity\", mark.fillOpacity);\n applyAttr(selection, \"stroke\", mark.stroke);\n applyAttr(selection, \"stroke-width\", mark.strokeWidth);\n applyAttr(selection, \"stroke-opacity\", mark.strokeOpacity);\n applyAttr(selection, \"stroke-linejoin\", mark.strokeLinejoin);\n applyAttr(selection, \"stroke-linecap\", mark.strokeLinecap);\n applyAttr(selection, \"stroke-miterlimit\", mark.strokeMiterlimit);\n applyAttr(selection, \"stroke-dasharray\", mark.strokeDasharray);\n applyAttr(selection, \"stroke-dashoffset\", mark.strokeDashoffset);\n applyAttr(selection, \"shape-rendering\", mark.shapeRendering);\n applyAttr(selection, \"paint-order\", mark.paintOrder);\n applyAttr(selection, \"pointer-events\", mark.pointerEvents);\n}\n\nexport function applyDirectStyles(selection, mark) {\n applyStyle(selection, \"mix-blend-mode\", mark.mixBlendMode);\n applyAttr(selection, \"opacity\", mark.opacity);\n}\n\nfunction applyHref(selection, href, target) {\n selection.each(function (i) {\n const h = href(i);\n if (h != null) {\n const a = this.ownerDocument.createElementNS(namespaces.svg, \"a\");\n a.setAttribute(\"fill\", \"inherit\");\n a.setAttributeNS(namespaces.xlink, \"href\", h);\n if (target != null) a.setAttribute(\"target\", target);\n this.parentNode.insertBefore(a, this).appendChild(this);\n }\n });\n}\n\nexport function applyAttr(selection, name, value) {\n if (value != null) selection.attr(name, value);\n}\n\nexport function applyStyle(selection, name, value) {\n if (value != null) selection.style(name, value);\n}\n\nexport function applyTransform(selection, mark, {x, y}, tx = offset, ty = offset) {\n tx += mark.dx;\n ty += mark.dy;\n if (x?.bandwidth) tx += x.bandwidth() / 2;\n if (y?.bandwidth) ty += y.bandwidth() / 2;\n if (tx || ty) selection.attr(\"transform\", `translate(${tx},${ty})`);\n}\n\nexport function impliedString(value, impliedValue) {\n if ((value = string(value)) !== impliedValue) return value;\n}\n\nexport function impliedNumber(value, impliedValue) {\n if ((value = number(value)) !== impliedValue) return value;\n}\n\n// https://www.w3.org/TR/CSS21/grammar.html\nconst validClassName =\n /^-?([_a-z]|[\\240-\\377]|\\\\[0-9a-f]{1,6}(\\r\\n|[ \\t\\r\\n\\f])?|\\\\[^\\r\\n\\f0-9a-f])([_a-z0-9-]|[\\240-\\377]|\\\\[0-9a-f]{1,6}(\\r\\n|[ \\t\\r\\n\\f])?|\\\\[^\\r\\n\\f0-9a-f])*$/i;\n\nexport function maybeClassName(name) {\n // The default should be changed whenever the default styles are changed, so\n // as to avoid conflict when multiple versions of Plot are on the page.\n if (name === undefined) return \"plot-d6a7b5\";\n name = `${name}`;\n if (!validClassName.test(name)) throw new Error(`invalid class name: ${name}`);\n return name;\n}\n\nexport function applyInlineStyles(selection, style) {\n if (typeof style === \"string\") {\n selection.property(\"style\", style);\n } else if (style != null) {\n for (const element of selection) {\n Object.assign(element.style, style);\n }\n }\n}\n\nexport function applyFrameAnchor({frameAnchor}, {width, height, marginTop, marginRight, marginBottom, marginLeft}) {\n return [\n /left$/.test(frameAnchor)\n ? marginLeft\n : /right$/.test(frameAnchor)\n ? width - marginRight\n : (marginLeft + width - marginRight) / 2,\n /^top/.test(frameAnchor)\n ? marginTop\n : /^bottom/.test(frameAnchor)\n ? height - marginBottom\n : (marginTop + height - marginBottom) / 2\n ];\n}\n","import {format, utcFormat} from \"d3\";\nimport {formatIsoDate} from \"./format.js\";\nimport {constant, isTemporal, string} from \"./options.js\";\nimport {isOrdinalScale} from \"./scales.js\";\n\nexport function inferFontVariant(scale) {\n return isOrdinalScale(scale) && scale.interval === undefined ? undefined : \"tabular-nums\";\n}\n\n// D3 doesn’t provide a tick format for ordinal scales; we want shorthand when\n// an ordinal domain is numbers or dates, and we want null to mean the empty\n// string, not the default identity format. TODO Remove this in favor of the\n// axis mark’s inferTickFormat.\nexport function maybeAutoTickFormat(tickFormat, domain) {\n return tickFormat === undefined\n ? isTemporal(domain)\n ? formatIsoDate\n : string\n : typeof tickFormat === \"function\"\n ? tickFormat\n : (typeof tickFormat === \"string\" ? (isTemporal(domain) ? utcFormat : format) : constant)(tickFormat);\n}\n","import {pathRound as path} from \"d3\";\nimport {inferFontVariant, maybeAutoTickFormat} from \"../axes.js\";\nimport {createContext, create} from \"../context.js\";\nimport {isNoneish, maybeColorChannel, maybeNumberChannel} from \"../options.js\";\nimport {isOrdinalScale, isThresholdScale} from \"../scales.js\";\nimport {applyInlineStyles, impliedString, maybeClassName} from \"../style.js\";\n\nfunction maybeScale(scale, key) {\n if (key == null) return key;\n const s = scale(key);\n if (!s) throw new Error(`scale not found: ${key}`);\n return s;\n}\n\nexport function legendSwatches(color, {opacity, ...options} = {}) {\n if (!isOrdinalScale(color) && !isThresholdScale(color))\n throw new Error(`swatches legend requires ordinal or threshold color scale (not ${color.type})`);\n return legendItems(color, options, (selection, scale, width, height) =>\n selection\n .append(\"svg\")\n .attr(\"width\", width)\n .attr(\"height\", height)\n .attr(\"fill\", scale.scale)\n .attr(\"fill-opacity\", maybeNumberChannel(opacity)[1])\n .append(\"rect\")\n .attr(\"width\", \"100%\")\n .attr(\"height\", \"100%\")\n );\n}\n\nexport function legendSymbols(\n symbol,\n {\n fill = symbol.hint?.fill !== undefined ? symbol.hint.fill : \"none\",\n fillOpacity = 1,\n stroke = symbol.hint?.stroke !== undefined ? symbol.hint.stroke : isNoneish(fill) ? \"currentColor\" : \"none\",\n strokeOpacity = 1,\n strokeWidth = 1.5,\n r = 4.5,\n ...options\n } = {},\n scale\n) {\n const [vf, cf] = maybeColorChannel(fill);\n const [vs, cs] = maybeColorChannel(stroke);\n const sf = maybeScale(scale, vf);\n const ss = maybeScale(scale, vs);\n const size = r * r * Math.PI;\n fillOpacity = maybeNumberChannel(fillOpacity)[1];\n strokeOpacity = maybeNumberChannel(strokeOpacity)[1];\n strokeWidth = maybeNumberChannel(strokeWidth)[1];\n return legendItems(symbol, options, (selection, scale, width, height) =>\n selection\n .append(\"svg\")\n .attr(\"viewBox\", \"-8 -8 16 16\")\n .attr(\"width\", width)\n .attr(\"height\", height)\n .attr(\"fill\", vf === \"color\" ? (d) => sf.scale(d) : cf)\n .attr(\"fill-opacity\", fillOpacity)\n .attr(\"stroke\", vs === \"color\" ? (d) => ss.scale(d) : cs)\n .attr(\"stroke-opacity\", strokeOpacity)\n .attr(\"stroke-width\", strokeWidth)\n .append(\"path\")\n .attr(\"d\", (d) => {\n const p = path();\n symbol.scale(d).draw(p, size);\n return p;\n })\n );\n}\n\nfunction legendItems(scale, options = {}, swatch) {\n let {\n columns,\n tickFormat,\n fontVariant = inferFontVariant(scale),\n // TODO label,\n swatchSize = 15,\n swatchWidth = swatchSize,\n swatchHeight = swatchSize,\n marginLeft = 0,\n className,\n style,\n width\n } = options;\n const context = createContext(options);\n className = maybeClassName(className);\n tickFormat = maybeAutoTickFormat(tickFormat, scale.domain);\n\n const swatches = create(\"div\", context).attr(\n \"class\",\n `${className}-swatches ${className}-swatches-${columns != null ? \"columns\" : \"wrap\"}`\n );\n\n let extraStyle;\n\n if (columns != null) {\n extraStyle = `.${className}-swatches-columns .${className}-swatch {\n display: flex;\n align-items: center;\n break-inside: avoid;\n padding-bottom: 1px;\n}\n.${className}-swatches-columns .${className}-swatch::before {\n flex-shrink: 0;\n}\n.${className}-swatches-columns .${className}-swatch-label {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}`;\n\n swatches\n .style(\"columns\", columns)\n .selectAll()\n .data(scale.domain)\n .enter()\n .append(\"div\")\n .attr(\"class\", `${className}-swatch`)\n .call(swatch, scale, swatchWidth, swatchHeight)\n .call((item) =>\n item.append(\"div\").attr(\"class\", `${className}-swatch-label`).attr(\"title\", tickFormat).text(tickFormat)\n );\n } else {\n extraStyle = `.${className}-swatches-wrap {\n display: flex;\n align-items: center;\n min-height: 33px;\n flex-wrap: wrap;\n}\n.${className}-swatches-wrap .${className}-swatch {\n display: inline-flex;\n align-items: center;\n margin-right: 1em;\n}`;\n\n swatches\n .selectAll()\n .data(scale.domain)\n .enter()\n .append(\"span\")\n .attr(\"class\", `${className}-swatch`)\n .call(swatch, scale, swatchWidth, swatchHeight)\n .append(function () {\n return this.ownerDocument.createTextNode(tickFormat.apply(this, arguments));\n });\n }\n\n return swatches\n .call((div) =>\n div.insert(\"style\", \"*\").text(\n `.${className}-swatches {\n font-family: system-ui, sans-serif;\n font-size: 10px;\n margin-bottom: 0.5em;\n}\n.${className}-swatch > svg {\n margin-right: 0.5em;\n overflow: visible;\n}\n${extraStyle}`\n )\n )\n .style(\"margin-left\", marginLeft ? `${+marginLeft}px` : null)\n .style(\"width\", width === undefined ? null : `${+width}px`)\n .style(\"font-variant\", impliedString(fontVariant, \"normal\"))\n .call(applyInlineStyles, style)\n .node();\n}\n","import {rgb} from \"d3\";\nimport {createContext} from \"./context.js\";\nimport {legendRamp} from \"./legends/ramp.js\";\nimport {legendSwatches, legendSymbols} from \"./legends/swatches.js\";\nimport {inherit, isScaleOptions} from \"./options.js\";\nimport {normalizeScale} from \"./scales.js\";\n\nconst legendRegistry = new Map([\n [\"symbol\", legendSymbols],\n [\"color\", legendColor],\n [\"opacity\", legendOpacity]\n]);\n\nexport function legend(options = {}) {\n for (const [key, value] of legendRegistry) {\n const scale = options[key];\n if (isScaleOptions(scale)) {\n // e.g., ignore {color: \"red\"}\n const context = createContext(options);\n let hint;\n // For symbol legends, pass a hint to the symbol scale.\n if (key === \"symbol\") {\n const {fill, stroke = fill === undefined && isScaleOptions(options.color) ? \"color\" : undefined} = options;\n hint = {fill, stroke};\n }\n return value(normalizeScale(key, scale, hint), legendOptions(context, scale, options), (key) =>\n isScaleOptions(options[key]) ? normalizeScale(key, options[key]) : null\n );\n }\n }\n throw new Error(\"unknown legend type; no scale found\");\n}\n\nexport function exposeLegends(scales, context, defaults = {}) {\n return (key, options) => {\n if (!legendRegistry.has(key)) throw new Error(`unknown legend type: ${key}`);\n if (!(key in scales)) return;\n return legendRegistry.get(key)(scales[key], legendOptions(context, defaults[key], options), (key) => scales[key]);\n };\n}\n\nfunction legendOptions({className, ...context}, {label, ticks, tickFormat} = {}, options) {\n return inherit(options, {className, ...context}, {label, ticks, tickFormat});\n}\n\nfunction legendColor(color, {legend = true, ...options}) {\n if (legend === true) legend = color.type === \"ordinal\" ? \"swatches\" : \"ramp\";\n if (color.domain === undefined) return;\n switch (`${legend}`.toLowerCase()) {\n case \"swatches\":\n return legendSwatches(color, options);\n case \"ramp\":\n return legendRamp(color, options);\n default:\n throw new Error(`unknown legend type: ${legend}`);\n }\n}\n\nfunction legendOpacity({type, interpolate, ...scale}, {legend = true, color = rgb(0, 0, 0), ...options}) {\n if (!interpolate) throw new Error(`${type} opacity scales are not supported`);\n if (legend === true) legend = \"ramp\";\n if (`${legend}`.toLowerCase() !== \"ramp\") throw new Error(`${legend} opacity legends are not supported`);\n return legendColor({type, ...scale, interpolate: interpolateOpacity(color)}, {legend, ...options});\n}\n\nfunction interpolateOpacity(color) {\n const {r, g, b} = rgb(color) || rgb(0, 0, 0); // treat invalid color as black\n return (t) => `rgba(${r},${g},${b},${t})`;\n}\n\nexport function createLegends(scales, context, options) {\n const legends = [];\n for (const [key, value] of legendRegistry) {\n const o = options[key];\n if (o?.legend && key in scales) {\n const legend = value(scales[key], legendOptions(context, scales[key], o), (key) => scales[key]);\n if (legend != null) legends.push(legend);\n }\n }\n return legends;\n}\n","import {quantize, interpolateNumber, piecewise, format, scaleBand, scaleLinear, axisBottom} from \"d3\";\nimport {inferFontVariant} from \"../axes.js\";\nimport {createContext, create} from \"../context.js\";\nimport {map, maybeNumberChannel} from \"../options.js\";\nimport {interpolatePiecewise} from \"../scales/quantitative.js\";\nimport {applyInlineStyles, impliedString, maybeClassName} from \"../style.js\";\n\nexport function legendRamp(color, options) {\n let {\n label = color.label,\n tickSize = 6,\n width = 240,\n height = 44 + tickSize,\n marginTop = 18,\n marginRight = 0,\n marginBottom = 16 + tickSize,\n marginLeft = 0,\n style,\n ticks = (width - marginLeft - marginRight) / 64,\n tickFormat,\n fontVariant = inferFontVariant(color),\n round = true,\n opacity,\n className\n } = options;\n const context = createContext(options);\n className = maybeClassName(className);\n opacity = maybeNumberChannel(opacity)[1];\n if (tickFormat === null) tickFormat = () => null;\n\n const svg = create(\"svg\", context)\n .attr(\"class\", `${className}-ramp`)\n .attr(\"font-family\", \"system-ui, sans-serif\")\n .attr(\"font-size\", 10)\n .attr(\"width\", width)\n .attr(\"height\", height)\n .attr(\"viewBox\", `0 0 ${width} ${height}`)\n .call((svg) =>\n // Warning: if you edit this, change defaultClassName.\n svg.append(\"style\").text(\n `.${className}-ramp {\n display: block;\n background: white;\n height: auto;\n height: intrinsic;\n max-width: 100%;\n overflow: visible;\n}\n.${className}-ramp text {\n white-space: pre;\n}`\n )\n )\n .call(applyInlineStyles, style);\n\n let tickAdjust = (g) => g.selectAll(\".tick line\").attr(\"y1\", marginTop + marginBottom - height);\n\n let x;\n\n // Some D3 scales use scale.interpolate, some scale.interpolator, and some\n // scale.round; this normalizes the API so it works with all scale types.\n const applyRange = round ? (x, range) => x.rangeRound(range) : (x, range) => x.range(range);\n\n const {type, domain, range, interpolate, scale, pivot} = color;\n\n // Continuous\n if (interpolate) {\n // Often interpolate is a “fixed” interpolator on the [0, 1] interval, as\n // with a built-in color scheme, but sometimes it is a function that takes\n // two arguments and is used in conjunction with the range.\n const interpolator =\n range === undefined\n ? interpolate\n : piecewise(interpolate.length === 1 ? interpolatePiecewise(interpolate) : interpolate, range);\n\n // Construct a D3 scale of the same type, but with a range that evenly\n // divides the horizontal extent of the legend. (In the common case, the\n // domain.length is two, and so the range is simply the extent.) For a\n // diverging scale, we need an extra point in the range for the pivot such\n // that the pivot is always drawn in the middle.\n x = applyRange(\n scale.copy(),\n quantize(\n interpolateNumber(marginLeft, width - marginRight),\n Math.min(domain.length + (pivot !== undefined), range === undefined ? Infinity : range.length)\n )\n );\n\n // Construct a 256×1 canvas, filling each pixel using the interpolator.\n const n = 256;\n const canvas = context.document.createElement(\"canvas\");\n canvas.width = n;\n canvas.height = 1;\n const context2 = canvas.getContext(\"2d\");\n for (let i = 0, j = n - 1; i < n; ++i) {\n context2.fillStyle = interpolator(i / j);\n context2.fillRect(i, 0, 1, 1);\n }\n\n svg\n .append(\"image\")\n .attr(\"opacity\", opacity)\n .attr(\"x\", marginLeft)\n .attr(\"y\", marginTop)\n .attr(\"width\", width - marginLeft - marginRight)\n .attr(\"height\", height - marginTop - marginBottom)\n .attr(\"preserveAspectRatio\", \"none\")\n .attr(\"xlink:href\", canvas.toDataURL());\n }\n\n // Threshold\n else if (type === \"threshold\") {\n const thresholds = domain;\n\n const thresholdFormat =\n tickFormat === undefined ? (d) => d : typeof tickFormat === \"string\" ? format(tickFormat) : tickFormat;\n\n // Construct a linear scale with evenly-spaced ticks for each of the\n // thresholds; the domain extends one beyond the threshold extent.\n x = applyRange(scaleLinear().domain([-1, range.length - 1]), [marginLeft, width - marginRight]);\n\n svg\n .append(\"g\")\n .attr(\"fill-opacity\", opacity)\n .selectAll()\n .data(range)\n .enter()\n .append(\"rect\")\n .attr(\"x\", (d, i) => x(i - 1))\n .attr(\"y\", marginTop)\n .attr(\"width\", (d, i) => x(i) - x(i - 1))\n .attr(\"height\", height - marginTop - marginBottom)\n .attr(\"fill\", (d) => d);\n\n ticks = map(thresholds, (_, i) => i);\n tickFormat = (i) => thresholdFormat(thresholds[i], i);\n }\n\n // Ordinal (hopefully!)\n else {\n x = applyRange(scaleBand().domain(domain), [marginLeft, width - marginRight]);\n\n svg\n .append(\"g\")\n .attr(\"fill-opacity\", opacity)\n .selectAll()\n .data(domain)\n .enter()\n .append(\"rect\")\n .attr(\"x\", x)\n .attr(\"y\", marginTop)\n .attr(\"width\", Math.max(0, x.bandwidth() - 1))\n .attr(\"height\", height - marginTop - marginBottom)\n .attr(\"fill\", scale);\n\n tickAdjust = () => {};\n }\n\n svg\n .append(\"g\")\n .attr(\"transform\", `translate(0,${height - marginBottom})`)\n .call(\n axisBottom(x)\n .ticks(Array.isArray(ticks) ? null : ticks, typeof tickFormat === \"string\" ? tickFormat : undefined)\n .tickFormat(typeof tickFormat === \"function\" ? tickFormat : undefined)\n .tickSize(tickSize)\n .tickValues(Array.isArray(ticks) ? ticks : null)\n )\n .attr(\"font-size\", null)\n .attr(\"font-family\", null)\n .attr(\"font-variant\", impliedString(fontVariant, \"normal\"))\n .call(tickAdjust)\n .call((g) => g.select(\".domain\").remove());\n\n if (label !== undefined) {\n svg\n .append(\"text\")\n .attr(\"x\", marginLeft)\n .attr(\"y\", marginTop - 6)\n .attr(\"fill\", \"currentColor\") // TODO move to stylesheet?\n .attr(\"font-weight\", \"bold\")\n .text(label);\n }\n\n return svg.node();\n}\n","import { select } from 'd3-selection';\nimport { legend } from '@observablehq/plot';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport type { IPlugin, PluginOptions } from '../index';\n\ninterface LegendOptions extends PluginOptions {\n enabled: boolean;\n itemSelector: string | null;\n label: string | null;\n width: number;\n}\n\nconst DEFAULT_SELECTOR = '#ch-plugin-legend';\n\nconst defaultOptions: LegendOptions = {\n // Whether to display the legend\n enabled: true,\n\n itemSelector: null,\n\n label: null,\n\n width: 130,\n};\n\nexport default class Legend implements IPlugin {\n name = 'Legend';\n\n calendar: CalHeatmap;\n\n root: any;\n\n shown: boolean;\n\n options: LegendOptions;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n this.root = null;\n this.shown = false;\n this.options = defaultOptions;\n }\n\n setup(pluginOptions?: Partial): void {\n this.options = { ...defaultOptions, ...pluginOptions };\n }\n\n paint(): Promise {\n const scaleOptions = this.calendar.options.options.scale;\n const { enabled, itemSelector } = this.options;\n\n if (!enabled || (itemSelector && select(itemSelector).empty())) {\n return this.destroy();\n }\n\n this.shown = true;\n\n this.root = select(\n itemSelector || this.calendar.options.options.itemSelector,\n );\n\n if (this.root.select(DEFAULT_SELECTOR).empty()) {\n this.root = this.root.append('div').attr('id', DEFAULT_SELECTOR.slice(1));\n } else {\n this.root = this.root.select(DEFAULT_SELECTOR);\n }\n\n // @ts-ignore\n const node = legend({\n ...scaleOptions,\n ...this.options,\n });\n\n this.root.selectAll('*').remove();\n this.root.append(() => node);\n\n return Promise.resolve();\n }\n\n destroy(): Promise {\n if (this.root !== null) {\n this.root.remove();\n this.root = null;\n }\n\n return Promise.resolve();\n }\n}\n"],"names":["fails","exec","error","descriptors","require$$0","Object","defineProperty","get","functionBindNative","test","bind","hasOwnProperty","NATIVE_BIND","FunctionPrototype","Function","prototype","call","uncurryThisWithBind","functionUncurryThis","fn","apply","arguments","isNullOrUndefined","it","$TypeError","TypeError","requireObjectCoercible","$Object","toObject","argument","require$$1","hasOwnProperty_1","hasOwn","key","DESCRIPTORS","getDescriptor","getOwnPropertyDescriptor","EXISTS","functionName","PROPER","name","CONFIGURABLE","configurable","makeBuiltIn$3","exports","documentAll","document","all","documentAll_1","IS_HTMLDDA","undefined","isCallable","check","Math","global","globalThis","window","self","this","defineGlobalProperty","value","writable","SHARED","sharedStore","store","require$$2","functionToString","toString","inspectSource","match","version","WeakMap","weakMapBasicDetection","String","isObject","objectDefineProperty","createElement","documentCreateElement","ie8DomDefine","a","v8PrototypeDefineBug","$String","anObject","functionCall","getBuiltIn","namespace","method","length","objectIsPrototypeOf","isPrototypeOf","engineUserAgent","navigator","userAgent","process","Deno","versions","v8","split","engineV8Version","V8_VERSION","symbolConstructorDetection","getOwnPropertySymbols","symbol","Symbol","sham","useSymbolAsUid","iterator","isSymbol","require$$3","$Symbol","tryToString","aCallable","getMethod","V","P","func","shared$3","sharedModule","push","mode","copyright","license","source","uncurryThis","id","postfix","random","uid","shared","NATIVE_SYMBOL","require$$4","USE_SYMBOL_AS_UID","require$$5","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","wellKnownSymbol","ordinaryToPrimitive","input","pref","val","valueOf","TO_PRIMITIVE","toPrimitive","result","exoticToPrim","toPropertyKey","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","WRITABLE","f","O","Attributes","current","enumerable","set","has","createPropertyDescriptor","bitmap","definePropertyModule","createNonEnumerableProperty","object","keys","hiddenKeys","NATIVE_WEAK_MAP","sharedKey","require$$7","OBJECT_ALREADY_INITIALIZED","state","metadata","facade","STATE","internalState","enforce","getterFor","TYPE","type","CONFIGURABLE_FUNCTION_NAME","require$$6","enforceInternalState","getInternalState","stringSlice","slice","replace","join","CONFIGURABLE_LENGTH","TEMPLATE","makeBuiltIn","makeBuiltInModule","options","getter","setter","arity","constructor","defineBuiltInAccessor","target","descriptor","FUNCTION_NAME_EXISTS","nameRE","regExpExec","objectGetOwnPropertyDescriptor","objectPropertyIsEnumerable","$propertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","classofRaw","classof","indexedObject","IndexedObject","toIndexedObject","propertyIsEnumerableModule","defineBuiltIn","simple","unsafe","nonConfigurable","nonWritable","ceil","floor","trunc","x","n","toIntegerOrInfinity","number","max","min","toLength","lengthOfArrayLike","obj","toAbsoluteIndex","index","integer","createMethod","IS_INCLUDES","$this","el","fromIndex","arrayIncludes","includes","indexOf","objectKeysInternal","names","i","enumBugKeys","internalObjectKeys","concat","objectGetOwnPropertyNames","getOwnPropertyNames","objectGetOwnPropertySymbols","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","ownKeys","getOwnPropertyDescriptorModule","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","toLowerCase","isForced_1","copyConstructorProperties","exceptions","_export","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","forced","objectKeys","require$$8","$assign","assign","objectAssign","b","A","B","alphabet","forEach","chr","T","argumentsLength","S","j","toStringTagSupport","TO_STRING_TAG_SUPPORT","TO_STRING_TAG","CORRECT_ARGUMENTS","tag","tryGet","callee","engineIsNode","uncurryThisAccessor","aPossiblePrototype","objectSetPrototypeOf","setPrototypeOf","CORRECT_SETTER","Array","proto","__proto__","SPECIES","noop","empty","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","$location","defer","channel","port","isConstructor","called","aConstructor","functionApply","Reflect","functionBindContext","that","html","arraySlice","engineIsIos","validateArgumentsLength","passed","required","IS_IOS","require$$10","IS_NODE","require$$11","setImmediate","clear","clearImmediate","Dispatch","MessageChannel","counter","queue","ONREADYSTATECHANGE","location","run","runner","eventListener","event","globalPostMessageDefer","postMessage","protocol","host","handler","args","nextTick","now","port2","port1","onmessage","addEventListener","importScripts","appendChild","removeChild","setTimeout","task","Queue","head","tail","add","item","entry","next","notify","toggle","node","promise","then","engineIsIosPebble","Pebble","engineIsWebosWebkit","macrotask","IS_IOS_PEBBLE","IS_WEBOS_WEBKIT","MutationObserver","WebKitMutationObserver","Promise","queueMicrotaskDescriptor","microtask","flush","parent","domain","exit","enter","resolve","createTextNode","observe","characterData","microtask_1","perform","promiseNativeConstructor","engineIsDeno","engineIsBrowser","NativePromiseConstructor","IS_BROWSER","IS_DENO","require$$9","SUBCLASSING","NATIVE_PROMISE_REJECTION_EVENT","PromiseRejectionEvent","FORCED_PROMISE_CONSTRUCTOR","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","FakePromise","promiseConstructorDetection","CONSTRUCTOR","REJECTION_EVENT","newPromiseCapability$2","PromiseCapability","C","reject","$$resolve","$$reject","newPromiseCapability","Internal","OwnPromiseCapability","nativeThen","$","setToStringTag","TAG","setSpecies","CONSTRUCTOR_NAME","Constructor","anInstance","Prototype","speciesConstructor","defaultConstructor","require$$14","require$$15","hostReportErrors","console","require$$17","require$$18","InternalStateModule","require$$19","require$$20","newPromiseCapabilityModule","require$$22","PROMISE","require$$21","NATIVE_PROMISE_SUBCLASSING","getInternalPromiseState","setInternalState","NativePromisePrototype","PromiseConstructor","PromisePrototype","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","isThenable","callReaction","reaction","exited","ok","fail","rejection","onHandleUnhandled","isReject","notified","reactions","onUnhandled","reason","initEvent","isUnhandled","emit","unwrap","internalReject","done","internalResolve","wrapper","executor","onFulfilled","onRejected","PromiseWrapper","wrap","iterators","Iterators","ITERATOR","ArrayPrototype","getIteratorMethod","isArrayIteratorMethod","getIterator","usingIterator","iteratorMethod","iteratorClose","kind","innerResult","innerError","Result","stopped","ResultPrototype","iterate","iterable","unboundFunction","iterFn","step","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","stop","condition","callFn","SAFE_CLOSING","iteratorWithReturn","return","from","checkCorrectnessOfIteration","SKIP_CLOSING","ITERATION_SUPPORT","promiseStaticsIncorrectIteration","capability","$promiseResolve","values","remaining","alreadyCalled","real","catch","race","r","promiseResolve","promiseCapability","defined","Number","isNaN","ascendingDefined","ascending","finite","isFinite","NaN","positive","negative","format","date","fallback","Date","hours","getUTCHours","minutes","getUTCMinutes","seconds","getUTCSeconds","milliseconds","getUTCMilliseconds","year","getUTCFullYear","pad","getUTCMonth","getUTCDate","width","padStart","re","parse","timeIntervals","Map","timeSecond","timeMinute","timeHour","timeDay","timeWeek","timeMonth","every","timeYear","timeMonday","timeTuesday","timeWednesday","timeThursday","timeFriday","timeSaturday","timeSunday","utcIntervals","utcSecond","utcMinute","utcHour","utcDay","utcWeek","utcMonth","utcYear","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","utcSunday","maybeTimeInterval","interval","Error","maybeUtcInterval","TypedArray","getPrototypeOf","Uint8Array","objectToString","constant","coerceNumbers","map","coerceNumber","Float64Array","coerceDates","coerceDate","isoParse","maybeColorChannel","defaultValue","trim","startsWith","endsWith","color","isColor","maybeNumberChannel","arrayify","option","isScaleOptions","maybeInterval","isInteger","abs","d","offset","range","lo","hi","rangei","maybeRangeInterval","isOrdinal","isTemporal","isTemporalString","isNumericString","isNoneish","isNone","orderof","first","last","descending","position","radius","opacity","registry","sqrt4_3","sqrt","symbols","symbolAsterisk","symbolCircle","symbolCross","symbolDiamond","symbolDiamond2","draw","context","size","rx","PI","ry","hy","moveTo","lineTo","closePath","symbolPlus","symbolSquare","symbolSquare2","symbolStar","symbolTimes","symbolTriangle","symbolTriangle2","symbolWye","maybeSymbol","isSymbolObject","warn","message","pi","tau","createProjection","projection","inset","globalInset","insetTop","insetRight","insetBottom","insetLeft","dimensions","stream","clip","scaleProjection","geoAlbersUsa","conicProjection","geoAlbers","geoAzimuthalEqualArea","geoAzimuthalEquidistant","geoConicConformal","geoConicEqualArea","geoConicEquidistant","geoEqualEarth","geoEquirectangular","geoGnomonic","identity","reflectY","geoMercator","geoOrthographic","geoStereographic","geoTransverseMercator","namedProjection","height","marginLeft","marginRight","marginTop","marginBottom","dx","dy","x1","y1","x2","y2","s","geoClipRectangle","maybePostClip","transform","tx","ty","x0","y0","geoPath","bounds","k","geoTransform","point","y","kx","ky","rotate","precision","clipAngle","scale","translate","aspectRatio","parallels","fitSize","createContext","className","create","select","creator","documentElement","ordinalSchemes","schemeAccent","schemeCategory10","schemeDark2","schemePaired","schemePastel1","schemePastel2","schemeSet1","schemeSet2","schemeSet3","schemeTableau10","scheme11","schemeBrBG","interpolateBrBG","schemePRGn","interpolatePRGn","schemePiYG","interpolatePiYG","schemePuOr","interpolatePuOr","schemeRdBu","interpolateRdBu","schemeRdGy","interpolateRdGy","schemeRdYlBu","interpolateRdYlBu","schemeRdYlGn","interpolateRdYlGn","schemeSpectral","interpolateSpectral","scheme11r","scheme9","schemeBlues","interpolateBlues","schemeGreens","interpolateGreens","schemeGreys","interpolateGreys","schemeOranges","interpolateOranges","schemePurples","interpolatePurples","schemeReds","interpolateReds","schemei","interpolateTurbo","interpolateViridis","interpolateMagma","interpolateInferno","interpolatePlasma","interpolateCividis","interpolateCubehelixDefault","interpolateWarm","interpolateCool","schemeBuGn","interpolateBuGn","schemeBuPu","interpolateBuPu","schemeGnBu","interpolateGnBu","schemeOrRd","interpolateOrRd","schemePuBu","interpolatePuBu","schemePuBuGn","interpolatePuBuGn","schemePuRd","interpolatePuRd","schemeRdPu","interpolateRdPu","schemeYlGn","interpolateYlGn","schemeYlGnBu","interpolateYlGnBu","schemeYlOrBr","interpolateYlOrBr","schemeYlOrRd","interpolateYlOrRd","schemeicyclical","interpolateRainbow","interpolateSinebow","scheme","interpolate","quantize","t","reverse","ordinalScheme","ordinalRange","quantitativeSchemes","quantitativeScheme","divergingSchemes","Set","isDivergingScheme","flip","unit","interpolators","interpolateNumber","interpolateRgb","interpolateHsl","interpolateHcl","interpolateLab","maybeInterpolator","createScaleQ","channels","nice","clamp","zero","inferAutoDomain","unknown","round","inferRadialRange","inferLengthRange","interpolateRound","_","interpolatePiecewise","extent","sign","reverseof","maybeNiceInterval","maybeNice","createScalePow","exponent","scalePow","createScaleThreshold","isOrdered","scaleThreshold","inferDomain","inferZeroDomain","hint","find","h25","quantile","h50","median","inferLogDomain","v","inferQuantileDomain","createScaleD","pivot","symmetric","piecewise","mid","mindelta","maxdelta","invert","interpolator","createScaleDivergingPow","scaleDivergingPow","transformSqrt","pow","transformPow","createScaleDivergingSymlog","scaleDivergingSymlog","log1p","expm1","transformSymlog","transformIdentity","transformLog","log","exp","createScaleT","ordinalImplicit","createScaleO","createScaleOrdinal","fill","inferHint","stroke","inferSymbolHint","symbolsStroke","symbolsFill","inferSymbolRange","maybeBooleanRange","t0","scaleImplicit","scaleOrdinal","maybeRound","InternSet","sort","candidate","normalizeScale","typeProjection","some","asOrdinalType","filter","inferScaleType","isOrdinalScale","formatScaleType","coerceType","coerceSymbols","scaleDiverging","createScaleDiverging","createScaleDivergingSqrt","base","scaleDivergingLog","createScaleDivergingLog","scaleLinear","createScaleLinear","createScaleSqrt","quantiles","scaleQuantile","createScaleQuantile","thresholds","ticks","splice","pop","createScaleQuantize","scaleLog","createScaleLog","scaleSymlog","createScaleSymlog","scaleUtc","createScaleUtc","scaleTime","createScaleTime","align","padding","scalePoint","createScalePoint","paddingInner","paddingOuter","scaleBand","createScaleBand","scaleIdentity","createScale","description","coerceValues","c","numberFormat","compute","cacheValue","cacheKeys","memoize1","locale","Intl","NumberFormat","formatIsoDate","isoFormat","impliedString","impliedValue","formatNumber","formatAuto","validClassName","maybeClassName","applyInlineStyles","selection","style","property","element","inferFontVariant","maybeScale","legendItems","swatch","columns","tickFormat","fontVariant","swatchSize","swatchWidth","swatchHeight","utcFormat","maybeAutoTickFormat","swatches","attr","extraStyle","selectAll","append","text","ownerDocument","div","insert","legendRegistry","fillOpacity","strokeOpacity","strokeWidth","vf","cf","vs","cs","sf","ss","p","path","legendColor","legend","rgb","interpolateOpacity","legendOptions","label","rest","o","defaults","inherit","isThresholdScale","legendSwatches","tickSize","svg","tickAdjust","g","applyRange","rangeRound","copy","Infinity","canvas","context2","getContext","fillStyle","fillRect","toDataURL","thresholdFormat","bandwidth","axisBottom","isArray","tickValues","remove","legendRamp","DEFAULT_SELECTOR","defaultOptions","enabled","itemSelector","Legend","calendar","_classCallCheck","root","shown","pluginOptions","scaleOptions","_this$options","destroy"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140]}
diff --git a/src/agenda_culturel/static/cal-heatmap/plugins/Legend.min.js.map b/src/agenda_culturel/static/cal-heatmap/plugins/Legend.min.js.map
index 2dc6637..4c5def6 100644
--- a/src/agenda_culturel/static/cal-heatmap/plugins/Legend.min.js.map
+++ b/src/agenda_culturel/static/cal-heatmap/plugins/Legend.min.js.map
@@ -1 +1 @@
-{"version":3,"file":"Legend.min.js","sources":["../../node_modules/core-js/internals/fails.js","../../node_modules/core-js/internals/descriptors.js","../../node_modules/core-js/internals/function-bind-native.js","../../node_modules/core-js/internals/function-uncurry-this.js","../../node_modules/core-js/internals/is-null-or-undefined.js","../../node_modules/core-js/internals/require-object-coercible.js","../../node_modules/core-js/internals/to-object.js","../../node_modules/core-js/internals/has-own-property.js","../../node_modules/core-js/internals/function-name.js","../../node_modules/core-js/internals/document-all.js","../../node_modules/core-js/internals/is-callable.js","../../node_modules/core-js/internals/global.js","../../node_modules/core-js/internals/define-global-property.js","../../node_modules/core-js/internals/shared-store.js","../../node_modules/core-js/internals/inspect-source.js","../../node_modules/core-js/internals/engine-v8-version.js","../../node_modules/core-js/internals/weak-map-basic-detection.js","../../node_modules/core-js/internals/is-object.js","../../node_modules/core-js/internals/document-create-element.js","../../node_modules/core-js/internals/ie8-dom-define.js","../../node_modules/core-js/internals/v8-prototype-define-bug.js","../../node_modules/core-js/internals/an-object.js","../../node_modules/core-js/internals/function-call.js","../../node_modules/core-js/internals/get-built-in.js","../../node_modules/core-js/internals/object-is-prototype-of.js","../../node_modules/core-js/internals/engine-user-agent.js","../../node_modules/core-js/internals/symbol-constructor-detection.js","../../node_modules/core-js/internals/use-symbol-as-uid.js","../../node_modules/core-js/internals/is-symbol.js","../../node_modules/core-js/internals/try-to-string.js","../../node_modules/core-js/internals/a-callable.js","../../node_modules/core-js/internals/get-method.js","../../node_modules/core-js/internals/ordinary-to-primitive.js","../../node_modules/core-js/internals/shared.js","../../node_modules/core-js/internals/uid.js","../../node_modules/core-js/internals/well-known-symbol.js","../../node_modules/core-js/internals/to-primitive.js","../../node_modules/core-js/internals/to-property-key.js","../../node_modules/core-js/internals/object-define-property.js","../../node_modules/core-js/internals/create-property-descriptor.js","../../node_modules/core-js/internals/internal-state.js","../../node_modules/core-js/internals/create-non-enumerable-property.js","../../node_modules/core-js/internals/shared-key.js","../../node_modules/core-js/internals/hidden-keys.js","../../node_modules/core-js/internals/make-built-in.js","../../node_modules/core-js/internals/define-built-in-accessor.js","../../node_modules/core-js/modules/es.function.name.js","../../node_modules/core-js/internals/object-property-is-enumerable.js","../../node_modules/core-js/internals/classof-raw.js","../../node_modules/core-js/internals/indexed-object.js","../../node_modules/core-js/internals/to-indexed-object.js","../../node_modules/core-js/internals/object-get-own-property-descriptor.js","../../node_modules/core-js/internals/define-built-in.js","../../node_modules/core-js/internals/math-trunc.js","../../node_modules/core-js/internals/to-integer-or-infinity.js","../../node_modules/core-js/internals/to-absolute-index.js","../../node_modules/core-js/internals/to-length.js","../../node_modules/core-js/internals/length-of-array-like.js","../../node_modules/core-js/internals/array-includes.js","../../node_modules/core-js/internals/object-keys-internal.js","../../node_modules/core-js/internals/enum-bug-keys.js","../../node_modules/core-js/internals/object-get-own-property-names.js","../../node_modules/core-js/internals/object-get-own-property-symbols.js","../../node_modules/core-js/internals/own-keys.js","../../node_modules/core-js/internals/copy-constructor-properties.js","../../node_modules/core-js/internals/is-forced.js","../../node_modules/core-js/internals/export.js","../../node_modules/core-js/internals/object-keys.js","../../node_modules/core-js/internals/object-assign.js","../../node_modules/core-js/modules/es.object.assign.js","../../node_modules/core-js/internals/to-string-tag-support.js","../../node_modules/core-js/internals/classof.js","../../node_modules/core-js/internals/object-to-string.js","../../node_modules/core-js/modules/es.object.to-string.js","../../node_modules/core-js/internals/engine-is-node.js","../../node_modules/core-js/internals/function-uncurry-this-accessor.js","../../node_modules/core-js/internals/a-possible-prototype.js","../../node_modules/core-js/internals/object-set-prototype-of.js","../../node_modules/core-js/internals/set-to-string-tag.js","../../node_modules/core-js/internals/set-species.js","../../node_modules/core-js/internals/an-instance.js","../../node_modules/core-js/internals/is-constructor.js","../../node_modules/core-js/internals/task.js","../../node_modules/core-js/internals/a-constructor.js","../../node_modules/core-js/internals/species-constructor.js","../../node_modules/core-js/internals/function-apply.js","../../node_modules/core-js/internals/function-uncurry-this-clause.js","../../node_modules/core-js/internals/function-bind-context.js","../../node_modules/core-js/internals/html.js","../../node_modules/core-js/internals/array-slice.js","../../node_modules/core-js/internals/validate-arguments-length.js","../../node_modules/core-js/internals/engine-is-ios.js","../../node_modules/core-js/internals/queue.js","../../node_modules/core-js/internals/microtask.js","../../node_modules/core-js/internals/engine-is-ios-pebble.js","../../node_modules/core-js/internals/engine-is-webos-webkit.js","../../node_modules/core-js/internals/perform.js","../../node_modules/core-js/internals/promise-native-constructor.js","../../node_modules/core-js/internals/engine-is-deno.js","../../node_modules/core-js/internals/engine-is-browser.js","../../node_modules/core-js/internals/promise-constructor-detection.js","../../node_modules/core-js/internals/new-promise-capability.js","../../node_modules/core-js/modules/es.promise.constructor.js","../../node_modules/core-js/internals/host-report-errors.js","../../node_modules/core-js/internals/iterators.js","../../node_modules/core-js/internals/is-array-iterator-method.js","../../node_modules/core-js/internals/get-iterator-method.js","../../node_modules/core-js/internals/get-iterator.js","../../node_modules/core-js/internals/iterator-close.js","../../node_modules/core-js/internals/iterate.js","../../node_modules/core-js/internals/check-correctness-of-iteration.js","../../node_modules/core-js/internals/promise-statics-incorrect-iteration.js","../../node_modules/core-js/modules/es.promise.all.js","../../node_modules/core-js/modules/es.promise.catch.js","../../node_modules/core-js/modules/es.promise.race.js","../../node_modules/core-js/modules/es.promise.reject.js","../../node_modules/core-js/internals/promise-resolve.js","../../node_modules/core-js/modules/es.promise.resolve.js","../../node_modules/@observablehq/plot/src/defined.js","../../node_modules/isoformat/src/format.js","../../node_modules/isoformat/src/parse.js","../../node_modules/@observablehq/plot/src/time.js","../../node_modules/@observablehq/plot/src/options.js","../../node_modules/@observablehq/plot/src/scales/index.js","../../node_modules/@observablehq/plot/src/symbol.js","../../node_modules/@observablehq/plot/src/warnings.js","../../node_modules/@observablehq/plot/src/projection.js","../../node_modules/@observablehq/plot/src/context.js","../../node_modules/@observablehq/plot/src/scales/schemes.js","../../node_modules/@observablehq/plot/src/scales/quantitative.js","../../node_modules/@observablehq/plot/src/scales/diverging.js","../../node_modules/@observablehq/plot/src/scales/temporal.js","../../node_modules/@observablehq/plot/src/scales/ordinal.js","../../node_modules/@observablehq/plot/src/scales.js","../../node_modules/@observablehq/plot/src/format.js","../../node_modules/@observablehq/plot/src/memoize.js","../../node_modules/@observablehq/plot/src/style.js","../../node_modules/@observablehq/plot/src/axes.js","../../node_modules/@observablehq/plot/src/legends/swatches.js","../../node_modules/@observablehq/plot/src/legends.js","../../node_modules/@observablehq/plot/src/legends/ramp.js","../../../src/plugins/Legend.ts"],"sourcesContent":["'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","'use strict';\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.34.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.34.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FUNCTION_NAME_EXISTS = require('../internals/function-name').EXISTS;\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\n\nvar FunctionPrototype = Function.prototype;\nvar functionToString = uncurryThis(FunctionPrototype.toString);\nvar nameRE = /function\\b(?:\\s|\\/\\*[\\S\\s]*?\\*\\/|\\/\\/[^\\n\\r]*[\\n\\r]+)*([^\\s(/]*)/;\nvar regExpExec = uncurryThis(nameRE.exec);\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !FUNCTION_NAME_EXISTS) {\n defineBuiltInAccessor(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return regExpExec(nameRE, functionToString(this))[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol('assign detection');\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\nvar $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar global = require('../internals/global');\nvar classof = require('../internals/classof-raw');\n\nmodule.exports = classof(global.process) === 'process';\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineBuiltInAccessor(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar Dispatch = global.Dispatch;\nvar Function = global.Function;\nvar MessageChannel = global.MessageChannel;\nvar String = global.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar $location, defer, channel, port;\n\nfails(function () {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n $location = global.location;\n});\n\nvar run = function (id) {\n if (hasOwn(queue, id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar eventListener = function (event) {\n run(event.data);\n};\n\nvar globalPostMessageDefer = function (id) {\n // old engines have not location.origin\n global.postMessage(String(id), $location.protocol + '//' + $location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = eventListener;\n defer = bind(port.postMessage, port);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n isCallable(global.postMessage) &&\n !global.importScripts &&\n $location && $location.protocol !== 'file:' &&\n !fails(globalPostMessageDefer)\n ) {\n defer = globalPostMessageDefer;\n global.addEventListener('message', eventListener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","'use strict';\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw new $TypeError('Not enough arguments');\n return passed;\n};\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\n// eslint-disable-next-line redos/no-vulnerable -- safe\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","'use strict';\nvar Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n var tail = this.tail;\n if (tail) tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n var next = this.head = entry.next;\n if (next === null) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","'use strict';\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar Queue = require('../internals/queue');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/engine-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar microtask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\nvar notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!microtask) {\n var queue = new Queue();\n\n var flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (fn = queue.get()) try {\n fn();\n } catch (error) {\n if (queue.head) notify();\n throw error;\n }\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = bind(promise.then, promise);\n notify = function () {\n then(flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessage\n // - onreadystatechange\n // - setTimeout\n } else {\n // `webpack` dev server bug on IE global methods - use bind(fn, global)\n macrotask = bind(macrotask, global);\n notify = function () {\n macrotask(flush);\n };\n }\n\n microtask = function (fn) {\n if (!queue.head) notify();\n queue.add(fn);\n };\n}\n\nmodule.exports = microtask;\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined';\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict';\nvar global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","'use strict';\n/* global Deno -- Deno case */\nmodule.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object';\n","'use strict';\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nmodule.exports = !IS_DENO && !IS_NODE\n && typeof window == 'object'\n && typeof document == 'object';\n","'use strict';\nvar global = require('../internals/global');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {\n // Detect correctness of subclassing with @@species support\n var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n } return !GLOBAL_CORE_JS_PROMISE && (IS_BROWSER || IS_DENO) && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n SUBCLASSING: SUBCLASSING\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/engine-is-node');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state === FULFILLED;\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(new TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n call(then, result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw new TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n call(then, value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalPromiseState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n\n PromisePrototype = PromiseConstructor.prototype;\n\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: new Queue(),\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state === PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n });\n\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalPromiseState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!NATIVE_PROMISE_SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromisePrototype);\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","'use strict';\nmodule.exports = function (a, b) {\n try {\n // eslint-disable-next-line no-console -- safe\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n } catch (error) { /* empty */ }\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n try {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n } catch (error) { return false; } // workaround of old WebKit + `eval` bug\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","'use strict';\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call($promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['catch'];\n if (NativePromisePrototype['catch'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n reject: function reject(r) {\n var capability = newPromiseCapabilityModule.f(this);\n call(capability.reject, undefined, r);\n return capability.promise;\n }\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n","import {ascending, descending} from \"d3\";\n\nexport function defined(x) {\n return x != null && !Number.isNaN(x);\n}\n\nexport function ascendingDefined(a, b) {\n return +defined(b) - +defined(a) || ascending(a, b);\n}\n\nexport function descendingDefined(a, b) {\n return +defined(b) - +defined(a) || descending(a, b);\n}\n\nexport function nonempty(x) {\n return x != null && `${x}` !== \"\";\n}\n\nexport function finite(x) {\n return isFinite(x) ? x : NaN;\n}\n\nexport function positive(x) {\n return x > 0 && isFinite(x) ? x : NaN;\n}\n\nexport function negative(x) {\n return x < 0 && isFinite(x) ? x : NaN;\n}\n","export default function format(date, fallback) {\n if (!(date instanceof Date)) date = new Date(+date);\n if (isNaN(date)) return typeof fallback === \"function\" ? fallback(date) : fallback;\n const hours = date.getUTCHours();\n const minutes = date.getUTCMinutes();\n const seconds = date.getUTCSeconds();\n const milliseconds = date.getUTCMilliseconds();\n return `${formatYear(date.getUTCFullYear(), 4)}-${pad(date.getUTCMonth() + 1, 2)}-${pad(date.getUTCDate(), 2)}${\n hours || minutes || seconds || milliseconds ? `T${pad(hours, 2)}:${pad(minutes, 2)}${\n seconds || milliseconds ? `:${pad(seconds, 2)}${\n milliseconds ? `.${pad(milliseconds, 3)}` : ``\n }` : ``\n }Z` : ``\n }`;\n}\n\nfunction formatYear(year) {\n return year < 0 ? `-${pad(-year, 6)}`\n : year > 9999 ? `+${pad(year, 6)}`\n : pad(year, 4);\n}\n\nfunction pad(value, width) {\n return `${value}`.padStart(width, \"0\");\n}\n","const re = /^(?:[-+]\\d{2})?\\d{4}(?:-\\d{2}(?:-\\d{2})?)?(?:T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{3})?)?(?:Z|[-+]\\d{2}:?\\d{2})?)?$/;\n\nexport default function parse(string, fallback) {\n if (!re.test(string += \"\")) return typeof fallback === \"function\" ? fallback(string) : fallback;\n return new Date(string);\n}\n","import {utcSecond, utcMinute, utcHour, utcDay, utcWeek, utcMonth, utcYear} from \"d3\";\nimport {utcMonday, utcTuesday, utcWednesday, utcThursday, utcFriday, utcSaturday, utcSunday} from \"d3\";\nimport {timeSecond, timeMinute, timeHour, timeDay, timeWeek, timeMonth, timeYear} from \"d3\";\nimport {timeMonday, timeTuesday, timeWednesday, timeThursday, timeFriday, timeSaturday, timeSunday} from \"d3\";\n\nconst timeIntervals = new Map([\n [\"second\", timeSecond],\n [\"minute\", timeMinute],\n [\"hour\", timeHour],\n [\"day\", timeDay],\n [\"week\", timeWeek],\n [\"month\", timeMonth],\n [\"quarter\", timeMonth.every(3)],\n [\"half\", timeMonth.every(6)],\n [\"year\", timeYear],\n [\"monday\", timeMonday],\n [\"tuesday\", timeTuesday],\n [\"wednesday\", timeWednesday],\n [\"thursday\", timeThursday],\n [\"friday\", timeFriday],\n [\"saturday\", timeSaturday],\n [\"sunday\", timeSunday]\n]);\n\nconst utcIntervals = new Map([\n [\"second\", utcSecond],\n [\"minute\", utcMinute],\n [\"hour\", utcHour],\n [\"day\", utcDay],\n [\"week\", utcWeek],\n [\"month\", utcMonth],\n [\"quarter\", utcMonth.every(3)],\n [\"half\", utcMonth.every(6)],\n [\"year\", utcYear],\n [\"monday\", utcMonday],\n [\"tuesday\", utcTuesday],\n [\"wednesday\", utcWednesday],\n [\"thursday\", utcThursday],\n [\"friday\", utcFriday],\n [\"saturday\", utcSaturday],\n [\"sunday\", utcSunday]\n]);\n\nexport function maybeTimeInterval(interval) {\n const i = timeIntervals.get(`${interval}`.toLowerCase());\n if (!i) throw new Error(`unknown interval: ${interval}`);\n return i;\n}\n\nexport function maybeUtcInterval(interval) {\n const i = utcIntervals.get(`${interval}`.toLowerCase());\n if (!i) throw new Error(`unknown interval: ${interval}`);\n return i;\n}\n","import {parse as isoParse} from \"isoformat\";\nimport {color, descending, range as rangei, quantile} from \"d3\";\nimport {maybeTimeInterval, maybeUtcInterval} from \"./time.js\";\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray\nexport const TypedArray = Object.getPrototypeOf(Uint8Array);\nconst objectToString = Object.prototype.toString;\n\nexport function valueof(data, value, type) {\n const valueType = typeof value;\n return valueType === \"string\"\n ? maybeTypedMap(data, field(value), type)\n : valueType === \"function\"\n ? maybeTypedMap(data, value, type)\n : valueType === \"number\" || value instanceof Date || valueType === \"boolean\"\n ? map(data, constant(value), type)\n : typeof value?.transform === \"function\"\n ? maybeTypedArrayify(value.transform(data), type)\n : maybeTypedArrayify(value, type);\n}\n\nfunction maybeTypedMap(data, f, type) {\n return map(data, type?.prototype instanceof TypedArray ? floater(f) : f, type);\n}\n\nfunction maybeTypedArrayify(data, type) {\n return type === undefined\n ? arrayify(data) // preserve undefined type\n : data instanceof type\n ? data\n : type.prototype instanceof TypedArray && !(data instanceof TypedArray)\n ? type.from(data, coerceNumber)\n : type.from(data);\n}\n\nfunction floater(f) {\n return (d, i) => coerceNumber(f(d, i));\n}\n\nexport const field = (name) => (d) => d[name];\nexport const indexOf = {transform: range};\nexport const identity = {transform: (d) => d};\nexport const zero = () => 0;\nexport const one = () => 1;\nexport const yes = () => true;\nexport const string = (x) => (x == null ? x : `${x}`);\nexport const number = (x) => (x == null ? x : +x);\nexport const boolean = (x) => (x == null ? x : !!x);\nexport const first = (x) => (x ? x[0] : undefined);\nexport const second = (x) => (x ? x[1] : undefined);\nexport const third = (x) => (x ? x[2] : undefined);\nexport const constant = (x) => () => x;\n\n// Converts a string like “p25” into a function that takes an index I and an\n// accessor function f, returning the corresponding percentile value.\nexport function percentile(reduce) {\n const p = +`${reduce}`.slice(1) / 100;\n return (I, f) => quantile(I, p, f);\n}\n\n// If the values are specified as a typed array, no coercion is required.\nexport function coerceNumbers(values) {\n return values instanceof TypedArray ? values : map(values, coerceNumber, Float64Array);\n}\n\n// Unlike Mark’s number, here we want to convert null and undefined to NaN since\n// the result will be stored in a Float64Array and we don’t want null to be\n// coerced to zero. We use Number instead of unary + to allow BigInt coercion.\nfunction coerceNumber(x) {\n return x == null ? NaN : Number(x);\n}\n\nexport function coerceDates(values) {\n return map(values, coerceDate);\n}\n\n// When coercing strings to dates, we only want to allow the ISO 8601 format\n// since the built-in string parsing of the Date constructor varies across\n// browsers. (In the future, this could be made more liberal if desired, though\n// it is still generally preferable to do date parsing yourself explicitly,\n// rather than rely on Plot.) Any non-string values are coerced to number first\n// and treated as milliseconds since UNIX epoch.\nexport function coerceDate(x) {\n return x instanceof Date && !isNaN(x)\n ? x\n : typeof x === \"string\"\n ? isoParse(x)\n : x == null || isNaN((x = +x))\n ? undefined\n : new Date(x);\n}\n\n// Some channels may allow a string constant to be specified; to differentiate\n// string constants (e.g., \"red\") from named fields (e.g., \"date\"), this\n// function tests whether the given value is a CSS color string and returns a\n// tuple [channel, constant] where one of the two is undefined, and the other is\n// the given value. If you wish to reference a named field that is also a valid\n// CSS color, use an accessor (d => d.red) instead.\nexport function maybeColorChannel(value, defaultValue) {\n if (value === undefined) value = defaultValue;\n return value === null ? [undefined, \"none\"] : isColor(value) ? [undefined, value] : [value, undefined];\n}\n\n// Similar to maybeColorChannel, this tests whether the given value is a number\n// indicating a constant, and otherwise assumes that it’s a channel value.\nexport function maybeNumberChannel(value, defaultValue) {\n if (value === undefined) value = defaultValue;\n return value === null || typeof value === \"number\" ? [undefined, value] : [value, undefined];\n}\n\n// Validates the specified optional string against the allowed list of keywords.\nexport function maybeKeyword(input, name, allowed) {\n if (input != null) return keyword(input, name, allowed);\n}\n\n// Validates the specified required string against the allowed list of keywords.\nexport function keyword(input, name, allowed) {\n const i = `${input}`.toLowerCase();\n if (!allowed.includes(i)) throw new Error(`invalid ${name}: ${input}`);\n return i;\n}\n\n// Promotes the specified data to an array as needed.\nexport function arrayify(data) {\n return data == null || data instanceof Array || data instanceof TypedArray ? data : Array.from(data);\n}\n\n// An optimization of type.from(values, f): if the given values are already an\n// instanceof the desired array type, the faster values.map method is used.\nexport function map(values, f, type = Array) {\n return values == null ? values : values instanceof type ? values.map(f) : type.from(values, f);\n}\n\n// An optimization of type.from(values): if the given values are already an\n// instanceof the desired array type, the faster values.slice method is used.\nexport function slice(values, type = Array) {\n return values instanceof type ? values.slice() : type.from(values);\n}\n\n// Disambiguates an options object (e.g., {y: \"x2\"}) from a primitive value.\nexport function isObject(option) {\n return option?.toString === objectToString;\n}\n\n// Disambiguates a scale options object (e.g., {color: {type: \"linear\"}}) from\n// some other option (e.g., {color: \"red\"}). When creating standalone legends,\n// this is used to test whether a scale is defined; this should be consistent\n// with inferScaleType when there are no channels associated with the scale, and\n// if this returns true, then normalizeScale must return non-null.\nexport function isScaleOptions(option) {\n return isObject(option) && (option.type !== undefined || option.domain !== undefined);\n}\n\n// Disambiguates an options object (e.g., {y: \"x2\"}) from a channel value\n// definition expressed as a channel transform (e.g., {transform: …}).\nexport function isOptions(option) {\n return isObject(option) && typeof option.transform !== \"function\";\n}\n\n// Disambiguates a sort transform (e.g., {sort: \"date\"}) from a channel domain\n// sort definition (e.g., {sort: {y: \"x\"}}).\nexport function isDomainSort(sort) {\n return isOptions(sort) && sort.value === undefined && sort.channel === undefined;\n}\n\n// For marks specified either as [0, x] or [x1, x2], such as areas and bars.\nexport function maybeZero(x, x1, x2, x3 = identity) {\n if (x1 === undefined && x2 === undefined) {\n // {x} or {}\n (x1 = 0), (x2 = x === undefined ? x3 : x);\n } else if (x1 === undefined) {\n // {x, x2} or {x2}\n x1 = x === undefined ? 0 : x;\n } else if (x2 === undefined) {\n // {x, x1} or {x1}\n x2 = x === undefined ? 0 : x;\n }\n return [x1, x2];\n}\n\n// For marks that have x and y channels (e.g., cell, dot, line, text).\nexport function maybeTuple(x, y) {\n return x === undefined && y === undefined ? [first, second] : [x, y];\n}\n\n// A helper for extracting the z channel, if it is variable. Used by transforms\n// that require series, such as moving average and normalize.\nexport function maybeZ({z, fill, stroke} = {}) {\n if (z === undefined) [z] = maybeColorChannel(fill);\n if (z === undefined) [z] = maybeColorChannel(stroke);\n return z;\n}\n\n// Returns a Uint32Array with elements [0, 1, 2, … data.length - 1].\nexport function range(data) {\n const n = data.length;\n const r = new Uint32Array(n);\n for (let i = 0; i < n; ++i) r[i] = i;\n return r;\n}\n\n// Returns a filtered range of data given the test function.\nexport function where(data, test) {\n return range(data).filter((i) => test(data[i], i, data));\n}\n\n// Returns an array [values[index[0]], values[index[1]], …].\nexport function take(values, index) {\n return map(index, (i) => values[i]);\n}\n\n// Based on InternMap (d3.group).\nexport function keyof(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n}\n\nexport function maybeInput(key, options) {\n if (options[key] !== undefined) return options[key];\n switch (key) {\n case \"x1\":\n case \"x2\":\n key = \"x\";\n break;\n case \"y1\":\n case \"y2\":\n key = \"y\";\n break;\n }\n return options[key];\n}\n\nexport function column(source) {\n // Defines a column whose values are lazily populated by calling the returned\n // setter. If the given source is labeled, the label is propagated to the\n // returned column definition.\n let value;\n return [\n {\n transform: () => value,\n label: labelof(source)\n },\n (v) => (value = v)\n ];\n}\n\n// Like column, but allows the source to be null.\nexport function maybeColumn(source) {\n return source == null ? [source] : column(source);\n}\n\nexport function labelof(value, defaultValue) {\n return typeof value === \"string\" ? value : value && value.label !== undefined ? value.label : defaultValue;\n}\n\n// Assuming that both x1 and x2 and lazy columns (per above), this derives a new\n// a column that’s the average of the two, and which inherits the column label\n// (if any). Both input columns are assumed to be quantitative. If either column\n// is temporal, the returned column is also temporal.\nexport function mid(x1, x2) {\n return {\n transform(data) {\n const X1 = x1.transform(data);\n const X2 = x2.transform(data);\n return isTemporal(X1) || isTemporal(X2)\n ? map(X1, (_, i) => new Date((+X1[i] + +X2[i]) / 2))\n : map(X1, (_, i) => (+X1[i] + +X2[i]) / 2, Float64Array);\n },\n label: x1.label\n };\n}\n\n// If interval is not nullish, converts interval shorthand such as a number (for\n// multiples) or a time interval name (such as “day”) to a {floor, offset,\n// range} object similar to a D3 time interval.\nexport function maybeInterval(interval, type) {\n if (interval == null) return;\n if (typeof interval === \"number\") {\n if (0 < interval && interval < 1 && Number.isInteger(1 / interval)) interval = -1 / interval;\n const n = Math.abs(interval);\n return interval < 0\n ? {\n floor: (d) => Math.floor(d * n) / n,\n offset: (d) => (d * n + 1) / n, // note: no optional step for simplicity\n range: (lo, hi) => rangei(Math.ceil(lo * n), hi * n).map((x) => x / n)\n }\n : {\n floor: (d) => Math.floor(d / n) * n,\n offset: (d) => d + n, // note: no optional step for simplicity\n range: (lo, hi) => rangei(Math.ceil(lo / n), hi / n).map((x) => x * n)\n };\n }\n if (typeof interval === \"string\") return (type === \"time\" ? maybeTimeInterval : maybeUtcInterval)(interval);\n if (typeof interval.floor !== \"function\") throw new Error(\"invalid interval; missing floor method\");\n if (typeof interval.offset !== \"function\") throw new Error(\"invalid interval; missing offset method\");\n return interval;\n}\n\n// Like maybeInterval, but requires a range method too.\nexport function maybeRangeInterval(interval, type) {\n interval = maybeInterval(interval, type);\n if (interval && typeof interval.range !== \"function\") throw new Error(\"invalid interval: missing range method\");\n return interval;\n}\n\n// Like maybeRangeInterval, but requires a ceil method too.\nexport function maybeNiceInterval(interval, type) {\n interval = maybeRangeInterval(interval, type);\n if (interval && typeof interval.ceil !== \"function\") throw new Error(\"invalid interval: missing ceil method\");\n return interval;\n}\n\n// This distinguishes between per-dimension options and a standalone value.\nexport function maybeValue(value) {\n return value === undefined || isOptions(value) ? value : {value};\n}\n\n// Coerces the given channel values (if any) to numbers. This is useful when\n// values will be interpolated into other code, such as an SVG transform, and\n// where we don’t wish to allow unexpected behavior for weird input.\nexport function numberChannel(source) {\n return source == null\n ? null\n : {\n transform: (data) => valueof(data, source, Float64Array),\n label: labelof(source)\n };\n}\n\nexport function isTuples(data) {\n if (!isIterable(data)) return false;\n for (const d of data) {\n if (d == null) continue;\n return typeof d === \"object\" && \"0\" in d && \"1\" in d;\n }\n}\n\nexport function isIterable(value) {\n return value && typeof value[Symbol.iterator] === \"function\";\n}\n\nexport function isTextual(values) {\n for (const value of values) {\n if (value == null) continue;\n return typeof value !== \"object\" || value instanceof Date;\n }\n}\n\nexport function isOrdinal(values) {\n for (const value of values) {\n if (value == null) continue;\n const type = typeof value;\n return type === \"string\" || type === \"boolean\";\n }\n}\n\nexport function isTemporal(values) {\n for (const value of values) {\n if (value == null) continue;\n return value instanceof Date;\n }\n}\n\n// Are these strings that might represent dates? This is stricter than ISO 8601\n// because we want to ignore false positives on numbers; for example, the string\n// \"1192\" is more likely to represent a number than a date even though it is\n// valid ISO 8601 representing 1192-01-01.\nexport function isTemporalString(values) {\n for (const value of values) {\n if (value == null) continue;\n return typeof value === \"string\" && isNaN(value) && isoParse(value);\n }\n}\n\n// Are these strings that might represent numbers? This is stricter than\n// coercion because we want to ignore false positives on e.g. empty strings.\nexport function isNumericString(values) {\n for (const value of values) {\n if (value == null) continue;\n if (typeof value !== \"string\") return false;\n if (!value.trim()) continue;\n return !isNaN(value);\n }\n}\n\nexport function isNumeric(values) {\n for (const value of values) {\n if (value == null) continue;\n return typeof value === \"number\";\n }\n}\n\n// Returns true if every non-null value in the specified iterable of values\n// passes the specified predicate, and there is at least one non-null value;\n// returns false if at least one non-null value does not pass the specified\n// predicate; otherwise returns undefined (as if all values are null).\nexport function isEvery(values, is) {\n let every;\n for (const value of values) {\n if (value == null) continue;\n if (!is(value)) return false;\n every = true;\n }\n return every;\n}\n\n// Mostly relies on d3-color, with a few extra color keywords. Currently this\n// strictly requires that the value be a string; we might want to apply string\n// coercion here, though note that d3-color instances would need to support\n// valueOf to work correctly with InternMap.\n// https://www.w3.org/TR/SVG11/painting.html#SpecifyingPaint\nexport function isColor(value) {\n if (typeof value !== \"string\") return false;\n value = value.toLowerCase().trim();\n return (\n value === \"none\" ||\n value === \"currentcolor\" ||\n (value.startsWith(\"url(\") && value.endsWith(\")\")) || // , e.g. pattern or gradient\n (value.startsWith(\"var(\") && value.endsWith(\")\")) || // CSS variable\n color(value) !== null\n );\n}\n\nexport function isOpacity(value) {\n return typeof value === \"number\" && ((0 <= value && value <= 1) || isNaN(value));\n}\n\nexport function isNoneish(value) {\n return value == null || isNone(value);\n}\n\nexport function isNone(value) {\n return /^\\s*none\\s*$/i.test(value);\n}\n\nexport function isRound(value) {\n return /^\\s*round\\s*$/i.test(value);\n}\n\nexport function maybeFrameAnchor(value = \"middle\") {\n return keyword(value, \"frameAnchor\", [\n \"middle\",\n \"top-left\",\n \"top\",\n \"top-right\",\n \"right\",\n \"bottom-right\",\n \"bottom\",\n \"bottom-left\",\n \"left\"\n ]);\n}\n\n// Like a sort comparator, returns a positive value if the given array of values\n// is in ascending order, a negative value if the values are in descending\n// order. Assumes monotonicity; only tests the first and last values.\nexport function orderof(values) {\n if (values == null) return;\n const first = values[0];\n const last = values[values.length - 1];\n return descending(first, last);\n}\n\n// Unlike {...defaults, ...options}, this ensures that any undefined (but\n// present) properties in options inherit the given default value.\nexport function inherit(options = {}, ...rest) {\n let o = options;\n for (const defaults of rest) {\n for (const key in defaults) {\n if (o[key] === undefined) {\n const value = defaults[key];\n if (o === options) o = {...o, [key]: value};\n else o[key] = value;\n }\n }\n }\n return o;\n}\n\n// Given an iterable of named things (objects with a name property), returns a\n// corresponding object with properties associated with the given name.\nexport function named(things) {\n console.warn(\"named iterables are deprecated; please use an object instead\");\n const names = new Set();\n return Object.fromEntries(\n Array.from(things, (thing) => {\n const {name} = thing;\n if (name == null) throw new Error(\"missing name\");\n const key = `${name}`;\n if (key === \"__proto__\") throw new Error(`illegal name: ${key}`);\n if (names.has(key)) throw new Error(`duplicate name: ${key}`);\n names.add(key);\n return [name, thing];\n })\n );\n}\n\nexport function maybeNamed(things) {\n return isIterable(things) ? named(things) : things;\n}\n","// Positional scales have associated axes, and for ordinal data, a point or band\n// scale is used instead of an ordinal scale.\nexport const position = Symbol(\"position\");\n\n// Color scales default to the turbo interpolator for quantitative data, and to\n// the Tableau10 scheme for ordinal data. Color scales may also have an\n// associated legend.\nexport const color = Symbol(\"color\");\n\n// Radius scales default to the sqrt type, have a default range of [0, 3], and a\n// default domain from 0 to the median first quartile of associated channels.\nexport const radius = Symbol(\"radius\");\n\n// Length scales default to the linear type, have a default range of [0, 12],\n// and a default domain from 0 to the median median of associated channels.\nexport const length = Symbol(\"length\");\n\n// Opacity scales have a default range of [0, 1], and a default domain from 0 to\n// the maximum value of associated channels.\nexport const opacity = Symbol(\"opacity\");\n\n// Symbol scales have a default range of categorical symbols.\nexport const symbol = Symbol(\"symbol\");\n\n// TODO Rather than hard-coding the list of known scale names, collect the names\n// and categories for each plot specification, so that custom marks can register\n// custom scales.\nexport const registry = new Map([\n [\"x\", position],\n [\"y\", position],\n [\"fx\", position],\n [\"fy\", position],\n [\"r\", radius],\n [\"color\", color],\n [\"opacity\", opacity],\n [\"symbol\", symbol],\n [\"length\", length]\n]);\n","import {symbolAsterisk, symbolDiamond2, symbolPlus, symbolSquare2, symbolTriangle2, symbolTimes} from \"d3\";\nimport {symbolCircle, symbolCross, symbolDiamond, symbolSquare, symbolStar, symbolTriangle, symbolWye} from \"d3\";\n\nexport const sqrt3 = Math.sqrt(3);\nexport const sqrt4_3 = 2 / sqrt3;\n\nconst symbolHexagon = {\n draw(context, size) {\n const rx = Math.sqrt(size / Math.PI),\n ry = rx * sqrt4_3,\n hy = ry / 2;\n context.moveTo(0, ry);\n context.lineTo(rx, hy);\n context.lineTo(rx, -hy);\n context.lineTo(0, -ry);\n context.lineTo(-rx, -hy);\n context.lineTo(-rx, hy);\n context.closePath();\n }\n};\n\nconst symbols = new Map([\n [\"asterisk\", symbolAsterisk],\n [\"circle\", symbolCircle],\n [\"cross\", symbolCross],\n [\"diamond\", symbolDiamond],\n [\"diamond2\", symbolDiamond2],\n [\"hexagon\", symbolHexagon],\n [\"plus\", symbolPlus],\n [\"square\", symbolSquare],\n [\"square2\", symbolSquare2],\n [\"star\", symbolStar],\n [\"times\", symbolTimes],\n [\"triangle\", symbolTriangle],\n [\"triangle2\", symbolTriangle2],\n [\"wye\", symbolWye]\n]);\n\nfunction isSymbolObject(value) {\n return value && typeof value.draw === \"function\";\n}\n\nexport function isSymbol(value) {\n if (isSymbolObject(value)) return true;\n if (typeof value !== \"string\") return false;\n return symbols.has(value.toLowerCase());\n}\n\nexport function maybeSymbol(symbol) {\n if (symbol == null || isSymbolObject(symbol)) return symbol;\n const value = symbols.get(`${symbol}`.toLowerCase());\n if (value) return value;\n throw new Error(`invalid symbol: ${symbol}`);\n}\n\nexport function maybeSymbolChannel(symbol) {\n if (symbol == null || isSymbolObject(symbol)) return [undefined, symbol];\n if (typeof symbol === \"string\") {\n const value = symbols.get(`${symbol}`.toLowerCase());\n if (value) return [undefined, value];\n }\n return [symbol, undefined];\n}\n","let warnings = 0;\n\nexport function consumeWarnings() {\n const w = warnings;\n warnings = 0;\n return w;\n}\n\nexport function warn(message) {\n console.warn(message);\n ++warnings;\n}\n","import {\n geoAlbers,\n geoAlbersUsa,\n geoAzimuthalEqualArea,\n geoAzimuthalEquidistant,\n geoClipRectangle,\n geoConicConformal,\n geoConicEqualArea,\n geoConicEquidistant,\n geoEqualEarth,\n geoEquirectangular,\n geoGnomonic,\n geoMercator,\n geoOrthographic,\n geoPath,\n geoStereographic,\n geoTransform,\n geoTransverseMercator\n} from \"d3\";\nimport {valueObject} from \"./channel.js\";\nimport {coerceNumbers, constant, isObject} from \"./options.js\";\nimport {warn} from \"./warnings.js\";\n\nconst pi = Math.PI;\nconst tau = 2 * pi;\nconst defaultAspectRatio = 0.618;\n\nexport function createProjection(\n {\n projection,\n inset: globalInset = 0,\n insetTop = globalInset,\n insetRight = globalInset,\n insetBottom = globalInset,\n insetLeft = globalInset\n } = {},\n dimensions\n) {\n if (projection == null) return;\n if (typeof projection.stream === \"function\") return projection; // d3 projection\n let options;\n let domain;\n let clip = \"frame\";\n\n // If the projection was specified as an object with additional options,\n // extract those. The order of precedence for insetTop (and other insets) is:\n // projection.insetTop, projection.inset, (global) insetTop, (global) inset.\n // Any other options on this object will be passed through to the initializer.\n if (isObject(projection)) {\n let inset;\n ({\n type: projection,\n domain,\n inset,\n insetTop = inset !== undefined ? inset : insetTop,\n insetRight = inset !== undefined ? inset : insetRight,\n insetBottom = inset !== undefined ? inset : insetBottom,\n insetLeft = inset !== undefined ? inset : insetLeft,\n clip = clip,\n ...options\n } = projection);\n if (projection == null) return;\n }\n\n // For named projections, retrieve the corresponding projection initializer.\n if (typeof projection !== \"function\") ({type: projection} = namedProjection(projection));\n\n // Compute the frame dimensions and invoke the projection initializer.\n const {width, height, marginLeft, marginRight, marginTop, marginBottom} = dimensions;\n const dx = width - marginLeft - marginRight - insetLeft - insetRight;\n const dy = height - marginTop - marginBottom - insetTop - insetBottom;\n projection = projection?.({width: dx, height: dy, clip, ...options});\n\n // The projection initializer might decide to not use a projection.\n if (projection == null) return;\n clip = maybePostClip(clip, marginLeft, marginTop, width - marginRight, height - marginBottom);\n\n // Translate the origin to the top-left corner, respecting margins and insets.\n let tx = marginLeft + insetLeft;\n let ty = marginTop + insetTop;\n let transform;\n\n // If a domain is specified, fit the projection to the frame.\n if (domain != null) {\n const [[x0, y0], [x1, y1]] = geoPath(projection).bounds(domain);\n const k = Math.min(dx / (x1 - x0), dy / (y1 - y0));\n if (k > 0) {\n tx -= (k * (x0 + x1) - dx) / 2;\n ty -= (k * (y0 + y1) - dy) / 2;\n transform = geoTransform({\n point(x, y) {\n this.stream.point(x * k + tx, y * k + ty);\n }\n });\n } else {\n warn(`Warning: the projection could not be fit to the specified domain; using the default scale.`);\n }\n }\n\n transform ??=\n tx === 0 && ty === 0\n ? identity()\n : geoTransform({\n point(x, y) {\n this.stream.point(x + tx, y + ty);\n }\n });\n\n return {stream: (s) => projection.stream(transform.stream(clip(s)))};\n}\n\nfunction namedProjection(projection) {\n switch (`${projection}`.toLowerCase()) {\n case \"albers-usa\":\n return scaleProjection(geoAlbersUsa, 0.7463, 0.4673);\n case \"albers\":\n return conicProjection(geoAlbers, 0.7463, 0.4673);\n case \"azimuthal-equal-area\":\n return scaleProjection(geoAzimuthalEqualArea, 4, 4);\n case \"azimuthal-equidistant\":\n return scaleProjection(geoAzimuthalEquidistant, tau, tau);\n case \"conic-conformal\":\n return conicProjection(geoConicConformal, tau, tau);\n case \"conic-equal-area\":\n return conicProjection(geoConicEqualArea, 6.1702, 2.9781);\n case \"conic-equidistant\":\n return conicProjection(geoConicEquidistant, 7.312, 3.6282);\n case \"equal-earth\":\n return scaleProjection(geoEqualEarth, 5.4133, 2.6347);\n case \"equirectangular\":\n return scaleProjection(geoEquirectangular, tau, pi);\n case \"gnomonic\":\n return scaleProjection(geoGnomonic, 3.4641, 3.4641);\n case \"identity\":\n return {type: identity};\n case \"reflect-y\":\n return {type: reflectY};\n case \"mercator\":\n return scaleProjection(geoMercator, tau, tau);\n case \"orthographic\":\n return scaleProjection(geoOrthographic, 2, 2);\n case \"stereographic\":\n return scaleProjection(geoStereographic, 2, 2);\n case \"transverse-mercator\":\n return scaleProjection(geoTransverseMercator, tau, tau);\n default:\n throw new Error(`unknown projection type: ${projection}`);\n }\n}\n\nfunction maybePostClip(clip, x1, y1, x2, y2) {\n if (clip === false || clip == null || typeof clip === \"number\") return (s) => s;\n if (clip === true) clip = \"frame\";\n switch (`${clip}`.toLowerCase()) {\n case \"frame\":\n return geoClipRectangle(x1, y1, x2, y2);\n default:\n throw new Error(`unknown projection clip type: ${clip}`);\n }\n}\n\nfunction scaleProjection(createProjection, kx, ky) {\n return {\n type: ({width, height, rotate, precision = 0.15, clip}) => {\n const projection = createProjection();\n if (precision != null) projection.precision?.(precision);\n if (rotate != null) projection.rotate?.(rotate);\n if (typeof clip === \"number\") projection.clipAngle?.(clip);\n projection.scale(Math.min(width / kx, height / ky));\n projection.translate([width / 2, height / 2]);\n return projection;\n },\n aspectRatio: ky / kx\n };\n}\n\nfunction conicProjection(createProjection, kx, ky) {\n const {type, aspectRatio} = scaleProjection(createProjection, kx, ky);\n return {\n type: (options) => {\n const {parallels, domain, width, height} = options;\n const projection = type(options);\n if (parallels != null) {\n projection.parallels(parallels);\n if (domain === undefined) {\n projection.fitSize([width, height], {type: \"Sphere\"});\n }\n }\n return projection;\n },\n aspectRatio\n };\n}\n\nconst identity = constant({stream: (stream) => stream});\n\nconst reflectY = constant(\n geoTransform({\n point(x, y) {\n this.stream.point(x, -y);\n }\n })\n);\n\n// Applies a point-wise projection to the given paired x and y channels.\n// Note: mutates values!\nexport function maybeProject(cx, cy, channels, values, context) {\n const x = channels[cx] && channels[cx].scale === \"x\";\n const y = channels[cy] && channels[cy].scale === \"y\";\n if (x && y) {\n project(cx, cy, values, context.projection);\n } else if (x) {\n throw new Error(`projection requires paired x and y channels; ${cx} is missing ${cy}`);\n } else if (y) {\n throw new Error(`projection requires paired x and y channels; ${cy} is missing ${cx}`);\n }\n}\n\nfunction project(cx, cy, values, projection) {\n const x = values[cx];\n const y = values[cy];\n const n = x.length;\n const X = (values[cx] = new Float64Array(n).fill(NaN));\n const Y = (values[cy] = new Float64Array(n).fill(NaN));\n let i;\n const stream = projection.stream({\n point(x, y) {\n X[i] = x;\n Y[i] = y;\n }\n });\n for (i = 0; i < n; ++i) {\n stream.point(x[i], y[i]);\n }\n}\n\n// When a named projection is specified, we can use its natural aspect ratio to\n// determine a good value for the projection’s height based on the desired\n// width. When we don’t have a way to know, the golden ratio is our best guess.\n// Due to a circular dependency (we need to know the height before we can\n// construct the projection), we have to test the raw projection option rather\n// than the materialized projection; therefore we must be extremely careful that\n// the logic of this function exactly matches Projection above!\nexport function projectionAspectRatio(projection, marks) {\n if (typeof projection?.stream === \"function\") return defaultAspectRatio;\n if (isObject(projection)) projection = projection.type;\n if (projection == null) return hasGeometry(marks) ? defaultAspectRatio : undefined;\n if (typeof projection !== \"function\") {\n const {aspectRatio} = namedProjection(projection);\n if (aspectRatio) return aspectRatio;\n }\n return defaultAspectRatio;\n}\n\n// Extract the (possibly) scaled values for the x and y channels, and apply the\n// projection if any.\nexport function applyPosition(channels, scales, context) {\n const {x, y} = channels;\n let position = {};\n if (x) position.x = x;\n if (y) position.y = y;\n position = valueObject(position, scales);\n if (context.projection) maybeProject(\"x\", \"y\", channels, position, context);\n if (x) position.x = coerceNumbers(position.x);\n if (y) position.y = coerceNumbers(position.y);\n return position;\n}\n\nfunction hasGeometry(marks) {\n for (const mark of marks) if (mark.channels.geometry) return true;\n return false;\n}\n","import {creator, select} from \"d3\";\nimport {createProjection} from \"./projection.js\";\n\nexport function createContext(options = {}, dimensions, className) {\n const {document = typeof window !== \"undefined\" ? window.document : undefined} = options;\n return {document, className, projection: createProjection(options, dimensions)};\n}\n\nexport function create(name, {document}) {\n return select(creator(name).call(document.documentElement));\n}\n","import {\n interpolateBlues,\n interpolateBrBG,\n interpolateBuGn,\n interpolateBuPu,\n interpolateGnBu,\n interpolateGreens,\n interpolateGreys,\n interpolateOranges,\n interpolateOrRd,\n interpolatePiYG,\n interpolatePRGn,\n interpolatePuBu,\n interpolatePuBuGn,\n interpolatePuOr,\n interpolatePuRd,\n interpolatePurples,\n interpolateRdBu,\n interpolateRdGy,\n interpolateRdPu,\n interpolateRdYlBu,\n interpolateRdYlGn,\n interpolateReds,\n interpolateSpectral,\n interpolateYlGn,\n interpolateYlGnBu,\n interpolateYlOrBr,\n interpolateYlOrRd,\n interpolateTurbo,\n interpolateViridis,\n interpolateMagma,\n interpolateInferno,\n interpolatePlasma,\n interpolateCividis,\n interpolateCubehelixDefault,\n interpolateWarm,\n interpolateCool,\n interpolateRainbow,\n interpolateSinebow,\n quantize,\n schemeAccent,\n schemeBlues,\n schemeBrBG,\n schemeBuGn,\n schemeBuPu,\n schemeCategory10,\n schemeDark2,\n schemeGnBu,\n schemeGreens,\n schemeGreys,\n schemeOranges,\n schemeOrRd,\n schemePaired,\n schemePastel1,\n schemePastel2,\n schemePiYG,\n schemePRGn,\n schemePuBu,\n schemePuBuGn,\n schemePuOr,\n schemePuRd,\n schemePurples,\n schemeRdBu,\n schemeRdGy,\n schemeRdPu,\n schemeRdYlBu,\n schemeRdYlGn,\n schemeReds,\n schemeSet1,\n schemeSet2,\n schemeSet3,\n schemeSpectral,\n schemeTableau10,\n schemeYlGn,\n schemeYlGnBu,\n schemeYlOrBr,\n schemeYlOrRd\n} from \"d3\";\n\nconst ordinalSchemes = new Map([\n // categorical\n [\"accent\", schemeAccent],\n [\"category10\", schemeCategory10],\n [\"dark2\", schemeDark2],\n [\"paired\", schemePaired],\n [\"pastel1\", schemePastel1],\n [\"pastel2\", schemePastel2],\n [\"set1\", schemeSet1],\n [\"set2\", schemeSet2],\n [\"set3\", schemeSet3],\n [\"tableau10\", schemeTableau10],\n\n // diverging\n [\"brbg\", scheme11(schemeBrBG, interpolateBrBG)],\n [\"prgn\", scheme11(schemePRGn, interpolatePRGn)],\n [\"piyg\", scheme11(schemePiYG, interpolatePiYG)],\n [\"puor\", scheme11(schemePuOr, interpolatePuOr)],\n [\"rdbu\", scheme11(schemeRdBu, interpolateRdBu)],\n [\"rdgy\", scheme11(schemeRdGy, interpolateRdGy)],\n [\"rdylbu\", scheme11(schemeRdYlBu, interpolateRdYlBu)],\n [\"rdylgn\", scheme11(schemeRdYlGn, interpolateRdYlGn)],\n [\"spectral\", scheme11(schemeSpectral, interpolateSpectral)],\n\n // reversed diverging (for temperature data)\n [\"burd\", scheme11r(schemeRdBu, interpolateRdBu)],\n [\"buylrd\", scheme11r(schemeRdYlBu, interpolateRdYlBu)],\n\n // sequential (single-hue)\n [\"blues\", scheme9(schemeBlues, interpolateBlues)],\n [\"greens\", scheme9(schemeGreens, interpolateGreens)],\n [\"greys\", scheme9(schemeGreys, interpolateGreys)],\n [\"oranges\", scheme9(schemeOranges, interpolateOranges)],\n [\"purples\", scheme9(schemePurples, interpolatePurples)],\n [\"reds\", scheme9(schemeReds, interpolateReds)],\n\n // sequential (multi-hue)\n [\"turbo\", schemei(interpolateTurbo)],\n [\"viridis\", schemei(interpolateViridis)],\n [\"magma\", schemei(interpolateMagma)],\n [\"inferno\", schemei(interpolateInferno)],\n [\"plasma\", schemei(interpolatePlasma)],\n [\"cividis\", schemei(interpolateCividis)],\n [\"cubehelix\", schemei(interpolateCubehelixDefault)],\n [\"warm\", schemei(interpolateWarm)],\n [\"cool\", schemei(interpolateCool)],\n [\"bugn\", scheme9(schemeBuGn, interpolateBuGn)],\n [\"bupu\", scheme9(schemeBuPu, interpolateBuPu)],\n [\"gnbu\", scheme9(schemeGnBu, interpolateGnBu)],\n [\"orrd\", scheme9(schemeOrRd, interpolateOrRd)],\n [\"pubu\", scheme9(schemePuBu, interpolatePuBu)],\n [\"pubugn\", scheme9(schemePuBuGn, interpolatePuBuGn)],\n [\"purd\", scheme9(schemePuRd, interpolatePuRd)],\n [\"rdpu\", scheme9(schemeRdPu, interpolateRdPu)],\n [\"ylgn\", scheme9(schemeYlGn, interpolateYlGn)],\n [\"ylgnbu\", scheme9(schemeYlGnBu, interpolateYlGnBu)],\n [\"ylorbr\", scheme9(schemeYlOrBr, interpolateYlOrBr)],\n [\"ylorrd\", scheme9(schemeYlOrRd, interpolateYlOrRd)],\n\n // cyclical\n [\"rainbow\", schemeicyclical(interpolateRainbow)],\n [\"sinebow\", schemeicyclical(interpolateSinebow)]\n]);\n\nfunction scheme9(scheme, interpolate) {\n return ({length: n}) => {\n if (n === 1) return [scheme[3][1]]; // favor midpoint\n if (n === 2) return [scheme[3][1], scheme[3][2]]; // favor darker\n n = Math.max(3, Math.floor(n));\n return n > 9 ? quantize(interpolate, n) : scheme[n];\n };\n}\n\nfunction scheme11(scheme, interpolate) {\n return ({length: n}) => {\n if (n === 2) return [scheme[3][0], scheme[3][2]]; // favor diverging extrema\n n = Math.max(3, Math.floor(n));\n return n > 11 ? quantize(interpolate, n) : scheme[n];\n };\n}\n\nfunction scheme11r(scheme, interpolate) {\n return ({length: n}) => {\n if (n === 2) return [scheme[3][2], scheme[3][0]]; // favor diverging extrema\n n = Math.max(3, Math.floor(n));\n return n > 11 ? quantize((t) => interpolate(1 - t), n) : scheme[n].slice().reverse();\n };\n}\n\nfunction schemei(interpolate) {\n return ({length: n}) => quantize(interpolate, Math.max(2, Math.floor(n)));\n}\n\nfunction schemeicyclical(interpolate) {\n return ({length: n}) => quantize(interpolate, Math.floor(n) + 1).slice(0, -1);\n}\n\nexport function ordinalScheme(scheme) {\n const s = `${scheme}`.toLowerCase();\n if (!ordinalSchemes.has(s)) throw new Error(`unknown ordinal scheme: ${s}`);\n return ordinalSchemes.get(s);\n}\n\nexport function ordinalRange(scheme, length) {\n const s = ordinalScheme(scheme);\n const r = typeof s === \"function\" ? s({length}) : s;\n return r.length !== length ? r.slice(0, length) : r;\n}\n\n// If the specified domain contains only booleans (ignoring null and undefined),\n// returns a corresponding range where false is mapped to the low color and true\n// is mapped to the high color of the specified scheme.\nexport function maybeBooleanRange(domain, scheme = \"greys\") {\n const range = new Set();\n const [f, t] = ordinalRange(scheme, 2);\n for (const value of domain) {\n if (value == null) continue;\n if (value === true) range.add(t);\n else if (value === false) range.add(f);\n else return;\n }\n return [...range];\n}\n\nconst quantitativeSchemes = new Map([\n // diverging\n [\"brbg\", interpolateBrBG],\n [\"prgn\", interpolatePRGn],\n [\"piyg\", interpolatePiYG],\n [\"puor\", interpolatePuOr],\n [\"rdbu\", interpolateRdBu],\n [\"rdgy\", interpolateRdGy],\n [\"rdylbu\", interpolateRdYlBu],\n [\"rdylgn\", interpolateRdYlGn],\n [\"spectral\", interpolateSpectral],\n\n // reversed diverging (for temperature data)\n [\"burd\", (t) => interpolateRdBu(1 - t)],\n [\"buylrd\", (t) => interpolateRdYlBu(1 - t)],\n\n // sequential (single-hue)\n [\"blues\", interpolateBlues],\n [\"greens\", interpolateGreens],\n [\"greys\", interpolateGreys],\n [\"purples\", interpolatePurples],\n [\"reds\", interpolateReds],\n [\"oranges\", interpolateOranges],\n\n // sequential (multi-hue)\n [\"turbo\", interpolateTurbo],\n [\"viridis\", interpolateViridis],\n [\"magma\", interpolateMagma],\n [\"inferno\", interpolateInferno],\n [\"plasma\", interpolatePlasma],\n [\"cividis\", interpolateCividis],\n [\"cubehelix\", interpolateCubehelixDefault],\n [\"warm\", interpolateWarm],\n [\"cool\", interpolateCool],\n [\"bugn\", interpolateBuGn],\n [\"bupu\", interpolateBuPu],\n [\"gnbu\", interpolateGnBu],\n [\"orrd\", interpolateOrRd],\n [\"pubugn\", interpolatePuBuGn],\n [\"pubu\", interpolatePuBu],\n [\"purd\", interpolatePuRd],\n [\"rdpu\", interpolateRdPu],\n [\"ylgnbu\", interpolateYlGnBu],\n [\"ylgn\", interpolateYlGn],\n [\"ylorbr\", interpolateYlOrBr],\n [\"ylorrd\", interpolateYlOrRd],\n\n // cyclical\n [\"rainbow\", interpolateRainbow],\n [\"sinebow\", interpolateSinebow]\n]);\n\nexport function quantitativeScheme(scheme) {\n const s = `${scheme}`.toLowerCase();\n if (!quantitativeSchemes.has(s)) throw new Error(`unknown quantitative scheme: ${s}`);\n return quantitativeSchemes.get(s);\n}\n\nconst divergingSchemes = new Set([\n \"brbg\",\n \"prgn\",\n \"piyg\",\n \"puor\",\n \"rdbu\",\n \"rdgy\",\n \"rdylbu\",\n \"rdylgn\",\n \"spectral\",\n \"burd\",\n \"buylrd\"\n]);\n\nexport function isDivergingScheme(scheme) {\n return scheme != null && divergingSchemes.has(`${scheme}`.toLowerCase());\n}\n","import {\n descending,\n extent,\n interpolateHcl,\n interpolateHsl,\n interpolateLab,\n interpolateNumber,\n interpolateRgb,\n interpolateRound,\n min,\n max,\n median,\n quantile,\n quantize,\n reverse as reverseof,\n scaleLinear,\n scaleLog,\n scalePow,\n scaleQuantile,\n scaleSymlog,\n scaleThreshold,\n scaleIdentity,\n ticks\n} from \"d3\";\nimport {positive, negative, finite} from \"../defined.js\";\nimport {arrayify, constant, orderof, slice, maybeNiceInterval, maybeRangeInterval} from \"../options.js\";\nimport {ordinalRange, quantitativeScheme} from \"./schemes.js\";\nimport {registry, radius, opacity, color, length} from \"./index.js\";\n\nexport const flip = (i) => (t) => i(1 - t);\nconst unit = [0, 1];\n\nconst interpolators = new Map([\n // numbers\n [\"number\", interpolateNumber],\n\n // color spaces\n [\"rgb\", interpolateRgb],\n [\"hsl\", interpolateHsl],\n [\"hcl\", interpolateHcl],\n [\"lab\", interpolateLab]\n]);\n\nexport function maybeInterpolator(interpolate) {\n const i = `${interpolate}`.toLowerCase();\n if (!interpolators.has(i)) throw new Error(`unknown interpolator: ${i}`);\n return interpolators.get(i);\n}\n\nexport function createScaleQ(\n key,\n scale,\n channels,\n {\n type,\n nice,\n clamp,\n zero,\n domain = inferAutoDomain(key, channels),\n unknown,\n round,\n scheme,\n interval,\n range = registry.get(key) === radius\n ? inferRadialRange(channels, domain)\n : registry.get(key) === length\n ? inferLengthRange(channels, domain)\n : registry.get(key) === opacity\n ? unit\n : undefined,\n interpolate = registry.get(key) === color\n ? scheme == null && range !== undefined\n ? interpolateRgb\n : quantitativeScheme(scheme !== undefined ? scheme : type === \"cyclical\" ? \"rainbow\" : \"turbo\")\n : round\n ? interpolateRound\n : interpolateNumber,\n reverse\n }\n) {\n interval = maybeRangeInterval(interval, type);\n if (type === \"cyclical\" || type === \"sequential\") type = \"linear\"; // shorthand for color schemes\n reverse = !!reverse;\n\n // Sometimes interpolate is a named interpolator, such as \"lab\" for Lab color\n // space. Other times interpolate is a function that takes two arguments and\n // is used in conjunction with the range. And other times the interpolate\n // function is a “fixed” interpolator on the [0, 1] interval, as when a\n // color scheme such as interpolateRdBu is used.\n if (typeof interpolate !== \"function\") {\n interpolate = maybeInterpolator(interpolate);\n }\n if (interpolate.length === 1) {\n if (reverse) {\n interpolate = flip(interpolate);\n reverse = false;\n }\n if (range === undefined) {\n range = Float64Array.from(domain, (_, i) => i / (domain.length - 1));\n if (range.length === 2) range = unit; // optimize common case of [0, 1]\n }\n scale.interpolate((range === unit ? constant : interpolatePiecewise)(interpolate));\n } else {\n scale.interpolate(interpolate);\n }\n\n // If a zero option is specified, we assume that the domain is numeric, and we\n // want to ensure that the domain crosses zero. However, note that the domain\n // may be reversed (descending) so we shouldn’t assume that the first value is\n // smaller than the last; and also it’s possible that the domain has more than\n // two values for a “poly” scale. And lastly be careful not to mutate input!\n if (zero) {\n const [min, max] = extent(domain);\n if (min > 0 || max < 0) {\n domain = slice(domain);\n if (orderof(domain) !== Math.sign(min)) domain[domain.length - 1] = 0;\n // [2, 1] or [-2, -1]\n else domain[0] = 0; // [1, 2] or [-1, -2]\n }\n }\n\n if (reverse) domain = reverseof(domain);\n scale.domain(domain).unknown(unknown);\n if (nice) scale.nice(maybeNice(nice, type)), (domain = scale.domain());\n if (range !== undefined) scale.range(range);\n if (clamp) scale.clamp(clamp);\n return {type, domain, range, scale, interpolate, interval};\n}\n\nfunction maybeNice(nice, type) {\n return nice === true ? undefined : typeof nice === \"number\" ? nice : maybeNiceInterval(nice, type);\n}\n\nexport function createScaleLinear(key, channels, options) {\n return createScaleQ(key, scaleLinear(), channels, options);\n}\n\nexport function createScaleSqrt(key, channels, options) {\n return createScalePow(key, channels, {...options, exponent: 0.5});\n}\n\nexport function createScalePow(key, channels, {exponent = 1, ...options}) {\n return createScaleQ(key, scalePow().exponent(exponent), channels, {...options, type: \"pow\"});\n}\n\nexport function createScaleLog(key, channels, {base = 10, domain = inferLogDomain(channels), ...options}) {\n return createScaleQ(key, scaleLog().base(base), channels, {...options, domain});\n}\n\nexport function createScaleSymlog(key, channels, {constant = 1, ...options}) {\n return createScaleQ(key, scaleSymlog().constant(constant), channels, options);\n}\n\nexport function createScaleQuantile(\n key,\n channels,\n {\n range,\n quantiles = range === undefined ? 5 : (range = [...range]).length, // deprecated; use n instead\n n = quantiles,\n scheme = \"rdylbu\",\n domain = inferQuantileDomain(channels),\n unknown,\n interpolate,\n reverse\n }\n) {\n if (range === undefined) {\n range =\n interpolate !== undefined\n ? quantize(interpolate, n)\n : registry.get(key) === color\n ? ordinalRange(scheme, n)\n : undefined;\n }\n if (domain.length > 0) {\n domain = scaleQuantile(domain, range === undefined ? {length: n} : range).quantiles();\n }\n return createScaleThreshold(key, channels, {domain, range, reverse, unknown});\n}\n\nexport function createScaleQuantize(\n key,\n channels,\n {\n range,\n n = range === undefined ? 5 : (range = [...range]).length,\n scheme = \"rdylbu\",\n domain = inferAutoDomain(key, channels),\n unknown,\n interpolate,\n reverse\n }\n) {\n const [min, max] = extent(domain);\n let thresholds;\n if (range === undefined) {\n thresholds = ticks(min, max, n); // approximate number of nice, round thresholds\n if (thresholds[0] <= min) thresholds.splice(0, 1); // drop exact lower bound\n if (thresholds[thresholds.length - 1] >= max) thresholds.pop(); // drop exact upper bound\n n = thresholds.length + 1;\n range =\n interpolate !== undefined\n ? quantize(interpolate, n)\n : registry.get(key) === color\n ? ordinalRange(scheme, n)\n : undefined;\n } else {\n thresholds = quantize(interpolateNumber(min, max), n + 1).slice(1, -1); // exactly n - 1 thresholds to match range\n if (min instanceof Date) thresholds = thresholds.map((x) => new Date(x)); // preserve date types\n }\n if (orderof(arrayify(domain)) < 0) thresholds.reverse(); // preserve descending domain\n return createScaleThreshold(key, channels, {domain: thresholds, range, reverse, unknown});\n}\n\nexport function createScaleThreshold(\n key,\n channels,\n {\n domain = [0], // explicit thresholds in ascending order\n unknown,\n scheme = \"rdylbu\",\n interpolate,\n range = interpolate !== undefined\n ? quantize(interpolate, domain.length + 1)\n : registry.get(key) === color\n ? ordinalRange(scheme, domain.length + 1)\n : undefined,\n reverse\n }\n) {\n domain = arrayify(domain);\n const sign = orderof(domain); // preserve descending domain\n if (!isNaN(sign) && !isOrdered(domain, sign)) throw new Error(`the ${key} scale has a non-monotonic domain`);\n if (reverse) range = reverseof(range); // domain ascending, so reverse range\n return {\n type: \"threshold\",\n scale: scaleThreshold(sign < 0 ? reverseof(domain) : domain, range === undefined ? [] : range).unknown(unknown),\n domain,\n range\n };\n}\n\nfunction isOrdered(domain, sign) {\n for (let i = 1, n = domain.length, d = domain[0]; i < n; ++i) {\n const s = descending(d, (d = domain[i]));\n if (s !== 0 && s !== sign) return false;\n }\n return true;\n}\n\nexport function createScaleIdentity() {\n return {type: \"identity\", scale: scaleIdentity()};\n}\n\nexport function inferDomain(channels, f = finite) {\n return channels.length\n ? [\n min(channels, ({value}) => (value === undefined ? value : min(value, f))),\n max(channels, ({value}) => (value === undefined ? value : max(value, f)))\n ]\n : [0, 1];\n}\n\nfunction inferAutoDomain(key, channels) {\n const type = registry.get(key);\n return (type === radius || type === opacity || type === length ? inferZeroDomain : inferDomain)(channels);\n}\n\nfunction inferZeroDomain(channels) {\n return [0, channels.length ? max(channels, ({value}) => (value === undefined ? value : max(value, finite))) : 1];\n}\n\n// We don’t want the upper bound of the radial domain to be zero, as this would\n// be degenerate, so we ignore nonpositive values. We also don’t want the\n// maximum default radius to exceed 30px.\nfunction inferRadialRange(channels, domain) {\n const hint = channels.find(({radius}) => radius !== undefined);\n if (hint !== undefined) return [0, hint.radius]; // a natural maximum radius, e.g. hexbins\n const h25 = quantile(channels, 0.5, ({value}) => (value === undefined ? NaN : quantile(value, 0.25, positive)));\n const range = domain.map((d) => 3 * Math.sqrt(d / h25));\n const k = 30 / max(range);\n return k < 1 ? range.map((r) => r * k) : range;\n}\n\n// We want a length scale’s domain to go from zero to a positive value, and to\n// treat negative lengths if any as inverted vectors of equivalent magnitude. We\n// also don’t want the maximum default length to exceed 60px.\nfunction inferLengthRange(channels, domain) {\n const h50 = median(channels, ({value}) => (value === undefined ? NaN : median(value, Math.abs)));\n const range = domain.map((d) => (12 * d) / h50);\n const k = 60 / max(range);\n return k < 1 ? range.map((r) => r * k) : range;\n}\n\nfunction inferLogDomain(channels) {\n for (const {value} of channels) {\n if (value !== undefined) {\n for (let v of value) {\n if (v > 0) return inferDomain(channels, positive);\n if (v < 0) return inferDomain(channels, negative);\n }\n }\n }\n return [1, 10];\n}\n\nfunction inferQuantileDomain(channels) {\n const domain = [];\n for (const {value} of channels) {\n if (value === undefined) continue;\n for (const v of value) domain.push(v);\n }\n return domain;\n}\n\nexport function interpolatePiecewise(interpolate) {\n return (i, j) => (t) => interpolate(i + t * (j - i));\n}\n","import {\n descending,\n interpolateNumber,\n interpolateRgb,\n piecewise,\n scaleDiverging,\n scaleDivergingLog,\n scaleDivergingPow,\n scaleDivergingSymlog\n} from \"d3\";\nimport {positive, negative} from \"../defined.js\";\nimport {quantitativeScheme} from \"./schemes.js\";\nimport {registry, color} from \"./index.js\";\nimport {inferDomain, maybeInterpolator, flip, interpolatePiecewise} from \"./quantitative.js\";\n\nfunction createScaleD(\n key,\n scale,\n transform,\n channels,\n {\n type,\n nice,\n clamp,\n domain = inferDomain(channels),\n unknown,\n pivot = 0,\n scheme,\n range,\n symmetric = true,\n interpolate = registry.get(key) === color\n ? scheme == null && range !== undefined\n ? interpolateRgb\n : quantitativeScheme(scheme !== undefined ? scheme : \"rdbu\")\n : interpolateNumber,\n reverse\n }\n) {\n pivot = +pivot;\n let [min, max] = domain;\n if (descending(min, max) < 0) ([min, max] = [max, min]), (reverse = !reverse);\n min = Math.min(min, pivot);\n max = Math.max(max, pivot);\n\n // Sometimes interpolate is a named interpolator, such as \"lab\" for Lab color\n // space. Other times interpolate is a function that takes two arguments and\n // is used in conjunction with the range. And other times the interpolate\n // function is a “fixed” interpolator on the [0, 1] interval, as when a\n // color scheme such as interpolateRdBu is used.\n if (typeof interpolate !== \"function\") {\n interpolate = maybeInterpolator(interpolate);\n }\n\n // If an explicit range is specified, promote it to a piecewise interpolator.\n if (range !== undefined) {\n interpolate =\n interpolate.length === 1 ? interpolatePiecewise(interpolate)(...range) : piecewise(interpolate, range);\n }\n\n // Reverse before normalization.\n if (reverse) interpolate = flip(interpolate);\n\n // Normalize the interpolator for symmetric difference around the pivot.\n if (symmetric) {\n const mid = transform.apply(pivot);\n const mindelta = mid - transform.apply(min);\n const maxdelta = transform.apply(max) - mid;\n if (mindelta < maxdelta) min = transform.invert(mid - maxdelta);\n else if (mindelta > maxdelta) max = transform.invert(mid + mindelta);\n }\n\n scale.domain([min, pivot, max]).unknown(unknown).interpolator(interpolate);\n if (clamp) scale.clamp(clamp);\n if (nice) scale.nice(nice);\n return {type, domain: [min, max], pivot, interpolate, scale};\n}\n\nexport function createScaleDiverging(key, channels, options) {\n return createScaleD(key, scaleDiverging(), transformIdentity, channels, options);\n}\n\nexport function createScaleDivergingSqrt(key, channels, options) {\n return createScaleDivergingPow(key, channels, {...options, exponent: 0.5});\n}\n\nexport function createScaleDivergingPow(key, channels, {exponent = 1, ...options}) {\n return createScaleD(key, scaleDivergingPow().exponent((exponent = +exponent)), transformPow(exponent), channels, {\n ...options,\n type: \"diverging-pow\"\n });\n}\n\nexport function createScaleDivergingLog(\n key,\n channels,\n {base = 10, pivot = 1, domain = inferDomain(channels, pivot < 0 ? negative : positive), ...options}\n) {\n return createScaleD(key, scaleDivergingLog().base((base = +base)), transformLog, channels, {\n domain,\n pivot,\n ...options\n });\n}\n\nexport function createScaleDivergingSymlog(key, channels, {constant = 1, ...options}) {\n return createScaleD(\n key,\n scaleDivergingSymlog().constant((constant = +constant)),\n transformSymlog(constant),\n channels,\n options\n );\n}\n\nconst transformIdentity = {\n apply(x) {\n return x;\n },\n invert(x) {\n return x;\n }\n};\n\nconst transformLog = {\n apply: Math.log,\n invert: Math.exp\n};\n\nconst transformSqrt = {\n apply(x) {\n return Math.sign(x) * Math.sqrt(Math.abs(x));\n },\n invert(x) {\n return Math.sign(x) * (x * x);\n }\n};\n\nfunction transformPow(exponent) {\n return exponent === 0.5\n ? transformSqrt\n : {\n apply(x) {\n return Math.sign(x) * Math.pow(Math.abs(x), exponent);\n },\n invert(x) {\n return Math.sign(x) * Math.pow(Math.abs(x), 1 / exponent);\n }\n };\n}\n\nfunction transformSymlog(constant) {\n return {\n apply(x) {\n return Math.sign(x) * Math.log1p(Math.abs(x / constant));\n },\n invert(x) {\n return Math.sign(x) * Math.expm1(Math.abs(x)) * constant;\n }\n };\n}\n","import {scaleTime, scaleUtc} from \"d3\";\nimport {createScaleQ} from \"./quantitative.js\";\n\nfunction createScaleT(key, scale, channels, options) {\n return createScaleQ(key, scale, channels, options);\n}\n\nexport function createScaleTime(key, channels, options) {\n return createScaleT(key, scaleTime(), channels, options);\n}\n\nexport function createScaleUtc(key, channels, options) {\n return createScaleT(key, scaleUtc(), channels, options);\n}\n","import {InternSet, extent, quantize, reverse as reverseof, sort, symbolsFill, symbolsStroke} from \"d3\";\nimport {scaleBand, scaleOrdinal, scalePoint, scaleImplicit} from \"d3\";\nimport {ascendingDefined} from \"../defined.js\";\nimport {isNoneish, map, maybeRangeInterval} from \"../options.js\";\nimport {maybeSymbol} from \"../symbol.js\";\nimport {registry, color, position, symbol} from \"./index.js\";\nimport {maybeBooleanRange, ordinalScheme, quantitativeScheme} from \"./schemes.js\";\n\n// This denotes an implicitly ordinal color scale: the scale type was not set,\n// but the associated values are strings or booleans. If the associated defined\n// values are entirely boolean, the range will default to greys. You can opt out\n// of this by setting the type explicitly.\nexport const ordinalImplicit = Symbol(\"ordinal\");\n\nfunction createScaleO(key, scale, channels, {type, interval, domain, range, reverse, hint}) {\n interval = maybeRangeInterval(interval, type);\n if (domain === undefined) domain = inferDomain(channels, interval, key);\n if (type === \"categorical\" || type === ordinalImplicit) type = \"ordinal\"; // shorthand for color schemes\n if (reverse) domain = reverseof(domain);\n scale.domain(domain);\n if (range !== undefined) {\n // If the range is specified as a function, pass it the domain.\n if (typeof range === \"function\") range = range(domain);\n scale.range(range);\n }\n return {type, domain, range, scale, hint, interval};\n}\n\nexport function createScaleOrdinal(key, channels, {type, interval, domain, range, scheme, unknown, ...options}) {\n interval = maybeRangeInterval(interval, type);\n if (domain === undefined) domain = inferDomain(channels, interval, key);\n let hint;\n if (registry.get(key) === symbol) {\n hint = inferSymbolHint(channels);\n range = range === undefined ? inferSymbolRange(hint) : map(range, maybeSymbol);\n } else if (registry.get(key) === color) {\n if (range === undefined && (type === \"ordinal\" || type === ordinalImplicit)) {\n range = maybeBooleanRange(domain, scheme);\n if (range !== undefined) scheme = undefined; // Don’t re-apply scheme.\n }\n if (scheme === undefined && range === undefined) {\n scheme = type === \"ordinal\" ? \"turbo\" : \"tableau10\";\n }\n if (scheme !== undefined) {\n if (range !== undefined) {\n const interpolate = quantitativeScheme(scheme);\n const t0 = range[0],\n d = range[1] - range[0];\n range = ({length: n}) => quantize((t) => interpolate(t0 + d * t), n);\n } else {\n range = ordinalScheme(scheme);\n }\n }\n }\n if (unknown === scaleImplicit) {\n throw new Error(`implicit unknown on ${key} scale is not supported`);\n }\n return createScaleO(key, scaleOrdinal().unknown(unknown), channels, {...options, type, domain, range, hint});\n}\n\nexport function createScalePoint(key, channels, {align = 0.5, padding = 0.5, ...options}) {\n return maybeRound(scalePoint().align(align).padding(padding), channels, options, key);\n}\n\nexport function createScaleBand(\n key,\n channels,\n {\n align = 0.5,\n padding = 0.1,\n paddingInner = padding,\n paddingOuter = key === \"fx\" || key === \"fy\" ? 0 : padding,\n ...options\n }\n) {\n return maybeRound(\n scaleBand().align(align).paddingInner(paddingInner).paddingOuter(paddingOuter),\n channels,\n options,\n key\n );\n}\n\nfunction maybeRound(scale, channels, options, key) {\n let {round} = options;\n if (round !== undefined) scale.round((round = !!round));\n scale = createScaleO(key, scale, channels, options);\n scale.round = round; // preserve for autoScaleRound\n return scale;\n}\n\nfunction inferDomain(channels, interval, key) {\n const values = new InternSet();\n for (const {value, domain} of channels) {\n if (domain !== undefined) return domain(); // see channelDomain\n if (value === undefined) continue;\n for (const v of value) values.add(v);\n }\n if (interval !== undefined) {\n const [min, max] = extent(values).map(interval.floor, interval);\n return interval.range(min, interval.offset(max));\n }\n if (values.size > 10e3 && registry.get(key) === position) {\n throw new Error(`implicit ordinal domain of ${key} scale has more than 10,000 values`);\n }\n return sort(values, ascendingDefined);\n}\n\n// If all channels provide a consistent hint, propagate it to the scale.\nfunction inferHint(channels, key) {\n let value;\n for (const {hint} of channels) {\n const candidate = hint?.[key];\n if (candidate === undefined) continue; // no hint here\n if (value === undefined) value = candidate;\n // first hint\n else if (value !== candidate) return; // inconsistent hint\n }\n return value;\n}\n\nfunction inferSymbolHint(channels) {\n return {\n fill: inferHint(channels, \"fill\"),\n stroke: inferHint(channels, \"stroke\")\n };\n}\n\nfunction inferSymbolRange(hint) {\n return isNoneish(hint.fill) ? symbolsStroke : symbolsFill;\n}\n","import {\n isOrdinal,\n isTemporal,\n isTemporalString,\n isNumericString,\n isScaleOptions,\n map,\n slice,\n coerceNumbers,\n coerceDates\n} from \"./options.js\";\nimport {registry, color, position, radius, opacity, symbol, length} from \"./scales/index.js\";\nimport {\n createScaleLinear,\n createScaleSqrt,\n createScalePow,\n createScaleLog,\n createScaleSymlog,\n createScaleQuantile,\n createScaleQuantize,\n createScaleThreshold,\n createScaleIdentity\n} from \"./scales/quantitative.js\";\nimport {\n createScaleDiverging,\n createScaleDivergingSqrt,\n createScaleDivergingPow,\n createScaleDivergingLog,\n createScaleDivergingSymlog\n} from \"./scales/diverging.js\";\nimport {isDivergingScheme} from \"./scales/schemes.js\";\nimport {createScaleTime, createScaleUtc} from \"./scales/temporal.js\";\nimport {createScaleOrdinal, createScalePoint, createScaleBand, ordinalImplicit} from \"./scales/ordinal.js\";\nimport {maybeSymbol} from \"./symbol.js\";\nimport {warn} from \"./warnings.js\";\n\nexport function createScales(\n channelsByScale,\n {\n label: globalLabel,\n inset: globalInset = 0,\n insetTop: globalInsetTop = globalInset,\n insetRight: globalInsetRight = globalInset,\n insetBottom: globalInsetBottom = globalInset,\n insetLeft: globalInsetLeft = globalInset,\n round,\n nice,\n clamp,\n zero,\n align,\n padding,\n projection,\n facet: {label: facetLabel = globalLabel} = {},\n ...options\n } = {}\n) {\n const scales = {};\n for (const [key, channels] of channelsByScale) {\n const scaleOptions = options[key];\n const scale = createScale(key, channels, {\n round: registry.get(key) === position ? round : undefined, // only for position\n nice,\n clamp,\n zero,\n align,\n padding,\n projection,\n ...scaleOptions\n });\n if (scale) {\n // populate generic scale options (percent, transform, insets)\n let {\n label = key === \"fx\" || key === \"fy\" ? facetLabel : globalLabel,\n percent,\n transform,\n inset,\n insetTop = inset !== undefined ? inset : key === \"y\" ? globalInsetTop : 0, // not fy\n insetRight = inset !== undefined ? inset : key === \"x\" ? globalInsetRight : 0, // not fx\n insetBottom = inset !== undefined ? inset : key === \"y\" ? globalInsetBottom : 0, // not fy\n insetLeft = inset !== undefined ? inset : key === \"x\" ? globalInsetLeft : 0 // not fx\n } = scaleOptions || {};\n if (transform == null) transform = undefined;\n else if (typeof transform !== \"function\") throw new Error(\"invalid scale transform; not a function\");\n scale.percent = !!percent;\n scale.label = label === undefined ? inferScaleLabel(channels, scale) : label;\n scale.transform = transform;\n if (key === \"x\" || key === \"fx\") {\n scale.insetLeft = +insetLeft;\n scale.insetRight = +insetRight;\n } else if (key === \"y\" || key === \"fy\") {\n scale.insetTop = +insetTop;\n scale.insetBottom = +insetBottom;\n }\n scales[key] = scale;\n }\n }\n return scales;\n}\n\nexport function createScaleFunctions(scales) {\n return Object.fromEntries(\n Object.entries(scales)\n .filter(([, {scale}]) => scale) // drop identity scales\n .map(([name, {scale, type, interval, label}]) => {\n scale.type = type; // for axis\n if (interval != null) scale.interval = interval; // for axis\n if (label != null) scale.label = label; // for axis\n return [name, scale];\n })\n );\n}\n\n// Mutates scale.range!\nexport function autoScaleRange(scales, dimensions) {\n const {x, y, fx, fy} = scales;\n const superdimensions = fx || fy ? outerDimensions(dimensions) : dimensions;\n if (fx) autoScaleRangeX(fx, superdimensions);\n if (fy) autoScaleRangeY(fy, superdimensions);\n const subdimensions = fx || fy ? innerDimensions(scales, dimensions) : dimensions;\n if (x) autoScaleRangeX(x, subdimensions);\n if (y) autoScaleRangeY(y, subdimensions);\n}\n\n// Channels can have labels; if all the channels for a given scale are\n// consistently labeled (i.e., have the same value if not undefined), and the\n// corresponding scale doesn’t already have an explicit label, then the\n// channels’ label is promoted to the scale. This inferred label should have an\n// orientation-appropriate arrow added when used as an axis, but we don’t want\n// to add the arrow when the label is set explicitly as an option; so, the\n// inferred label is distinguished as an object with an “inferred” property.\nfunction inferScaleLabel(channels = [], scale) {\n let label;\n for (const {label: l} of channels) {\n if (l === undefined) continue;\n if (label === undefined) label = l;\n else if (label !== l) return;\n }\n if (label === undefined) return;\n // Ignore the implicit label for temporal scales if it’s simply “date”.\n if (isTemporalScale(scale) && /^(date|time|year)$/i.test(label)) return;\n if (!isOrdinalScale(scale) && scale.percent) label = `${label} (%)`;\n return {inferred: true, toString: () => label};\n}\n\n// Returns the dimensions of the outer frame; this is subdivided into facets\n// with the margins of each facet collapsing into the outer margins.\nexport function outerDimensions(dimensions) {\n const {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n width,\n height,\n facet: {\n marginTop: facetMarginTop,\n marginRight: facetMarginRight,\n marginBottom: facetMarginBottom,\n marginLeft: facetMarginLeft\n }\n } = dimensions;\n return {\n marginTop: Math.max(marginTop, facetMarginTop),\n marginRight: Math.max(marginRight, facetMarginRight),\n marginBottom: Math.max(marginBottom, facetMarginBottom),\n marginLeft: Math.max(marginLeft, facetMarginLeft),\n width,\n height\n };\n}\n\n// Returns the dimensions of each facet.\nexport function innerDimensions({fx, fy}, dimensions) {\n const {marginTop, marginRight, marginBottom, marginLeft, width, height} = outerDimensions(dimensions);\n return {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n width: fx ? fx.scale.bandwidth() + marginLeft + marginRight : width,\n height: fy ? fy.scale.bandwidth() + marginTop + marginBottom : height\n };\n}\n\nfunction autoScaleRangeX(scale, dimensions) {\n if (scale.range === undefined) {\n const {insetLeft, insetRight} = scale;\n const {width, marginLeft = 0, marginRight = 0} = dimensions;\n const left = marginLeft + insetLeft;\n const right = width - marginRight - insetRight;\n scale.range = [left, Math.max(left, right)];\n if (!isOrdinalScale(scale)) scale.range = piecewiseRange(scale);\n scale.scale.range(scale.range);\n }\n autoScaleRound(scale);\n}\n\nfunction autoScaleRangeY(scale, dimensions) {\n if (scale.range === undefined) {\n const {insetTop, insetBottom} = scale;\n const {height, marginTop = 0, marginBottom = 0} = dimensions;\n const top = marginTop + insetTop;\n const bottom = height - marginBottom - insetBottom;\n scale.range = [Math.max(top, bottom), top];\n if (!isOrdinalScale(scale)) scale.range = piecewiseRange(scale);\n else scale.range.reverse();\n scale.scale.range(scale.range);\n }\n autoScaleRound(scale);\n}\n\nfunction autoScaleRound(scale) {\n if (scale.round === undefined && isBandScale(scale) && roundError(scale) <= 30) {\n scale.scale.round(true);\n }\n}\n\n// If we were to turn on rounding for this band or point scale, how much wasted\n// space would it introduce (on both ends of the range)? This must match\n// d3.scaleBand’s rounding behavior:\n// https://github.com/d3/d3-scale/blob/83555bd759c7314420bd4240642beda5e258db9e/src/band.js#L20-L32\nfunction roundError({scale}) {\n const n = scale.domain().length;\n const [start, stop] = scale.range();\n const paddingInner = scale.paddingInner ? scale.paddingInner() : 1;\n const paddingOuter = scale.paddingOuter ? scale.paddingOuter() : scale.padding();\n const m = n - paddingInner;\n const step = Math.abs(stop - start) / Math.max(1, m + paddingOuter * 2);\n return (step - Math.floor(step)) * m;\n}\n\nfunction piecewiseRange(scale) {\n const length = scale.scale.domain().length + isThresholdScale(scale);\n if (!(length > 2)) return scale.range;\n const [start, end] = scale.range;\n return Array.from({length}, (_, i) => start + (i / (length - 1)) * (end - start));\n}\n\nexport function normalizeScale(key, scale, hint) {\n return createScale(key, hint === undefined ? undefined : [{hint}], {...scale});\n}\n\nfunction createScale(key, channels = [], options = {}) {\n const type = inferScaleType(key, channels, options);\n\n // Warn for common misuses of implicit ordinal scales. We disable this test if\n // you specify a scale interval or if you set the domain or range explicitly,\n // since setting the domain or range (typically with a cardinality of more than\n // two) is another indication that you intended for the scale to be ordinal; we\n // also disable it for facet scales since these are always band scales.\n if (\n options.type === undefined &&\n options.domain === undefined &&\n options.range === undefined &&\n options.interval == null &&\n key !== \"fx\" &&\n key !== \"fy\" &&\n isOrdinalScale({type})\n ) {\n const values = channels.map(({value}) => value).filter((value) => value !== undefined);\n if (values.some(isTemporal))\n warn(\n `Warning: some data associated with the ${key} scale are dates. Dates are typically associated with a \"utc\" or \"time\" scale rather than a \"${formatScaleType(\n type\n )}\" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can specify the interval of the ${key} scale (e.g., d3.utcDay), or you can suppress this warning by setting the type of the ${key} scale to \"${formatScaleType(\n type\n )}\".`\n );\n else if (values.some(isTemporalString))\n warn(\n `Warning: some data associated with the ${key} scale are strings that appear to be dates (e.g., YYYY-MM-DD). If these strings represent dates, you should parse them to Date objects. Dates are typically associated with a \"utc\" or \"time\" scale rather than a \"${formatScaleType(\n type\n )}\" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can suppress this warning by setting the type of the ${key} scale to \"${formatScaleType(\n type\n )}\".`\n );\n else if (values.some(isNumericString))\n warn(\n `Warning: some data associated with the ${key} scale are strings that appear to be numbers. If these strings represent numbers, you should parse or coerce them to numbers. Numbers are typically associated with a \"linear\" scale rather than a \"${formatScaleType(\n type\n )}\" scale. If you want to treat this data as ordinal, you can specify the interval of the ${key} scale (e.g., 1 for integers), or you can suppress this warning by setting the type of the ${key} scale to \"${formatScaleType(\n type\n )}\".`\n );\n }\n\n options.type = type; // Mutates input!\n\n // Once the scale type is known, coerce the associated channel values and any\n // explicitly-specified domain to the expected type.\n switch (type) {\n case \"diverging\":\n case \"diverging-sqrt\":\n case \"diverging-pow\":\n case \"diverging-log\":\n case \"diverging-symlog\":\n case \"cyclical\":\n case \"sequential\":\n case \"linear\":\n case \"sqrt\":\n case \"threshold\":\n case \"quantile\":\n case \"pow\":\n case \"log\":\n case \"symlog\":\n options = coerceType(channels, options, coerceNumbers);\n break;\n case \"identity\":\n switch (registry.get(key)) {\n case position:\n options = coerceType(channels, options, coerceNumbers);\n break;\n case symbol:\n options = coerceType(channels, options, coerceSymbols);\n break;\n }\n break;\n case \"utc\":\n case \"time\":\n options = coerceType(channels, options, coerceDates);\n break;\n }\n\n switch (type) {\n case \"diverging\":\n return createScaleDiverging(key, channels, options);\n case \"diverging-sqrt\":\n return createScaleDivergingSqrt(key, channels, options);\n case \"diverging-pow\":\n return createScaleDivergingPow(key, channels, options);\n case \"diverging-log\":\n return createScaleDivergingLog(key, channels, options);\n case \"diverging-symlog\":\n return createScaleDivergingSymlog(key, channels, options);\n case \"categorical\":\n case \"ordinal\":\n case ordinalImplicit:\n return createScaleOrdinal(key, channels, options);\n case \"cyclical\":\n case \"sequential\":\n case \"linear\":\n return createScaleLinear(key, channels, options);\n case \"sqrt\":\n return createScaleSqrt(key, channels, options);\n case \"threshold\":\n return createScaleThreshold(key, channels, options);\n case \"quantile\":\n return createScaleQuantile(key, channels, options);\n case \"quantize\":\n return createScaleQuantize(key, channels, options);\n case \"pow\":\n return createScalePow(key, channels, options);\n case \"log\":\n return createScaleLog(key, channels, options);\n case \"symlog\":\n return createScaleSymlog(key, channels, options);\n case \"utc\":\n return createScaleUtc(key, channels, options);\n case \"time\":\n return createScaleTime(key, channels, options);\n case \"point\":\n return createScalePoint(key, channels, options);\n case \"band\":\n return createScaleBand(key, channels, options);\n case \"identity\":\n return registry.get(key) === position ? createScaleIdentity() : {type: \"identity\"};\n case undefined:\n return;\n default:\n throw new Error(`unknown scale type: ${type}`);\n }\n}\n\nfunction formatScaleType(type) {\n return typeof type === \"symbol\" ? type.description : type;\n}\n\n// A special type symbol when the x and y scales are replaced with a projection.\nconst typeProjection = {toString: () => \"projection\"};\n\nfunction inferScaleType(key, channels, {type, domain, range, scheme, pivot, projection}) {\n // The facet scales are always band scales; this cannot be changed.\n if (key === \"fx\" || key === \"fy\") return \"band\";\n\n // If a projection is specified, the x- and y-scales are disabled; these\n // channels will be projected rather than scaled. (But still check that none\n // of the associated channels are incompatible with a projection.)\n if ((key === \"x\" || key === \"y\") && projection != null) type = typeProjection;\n\n // If a channel dictates a scale type, make sure that it is consistent with\n // the user-specified scale type (if any) and all other channels. For example,\n // barY requires x to be a band scale and disallows any other scale type.\n for (const {type: t} of channels) {\n if (t === undefined) continue;\n else if (type === undefined) type = t;\n else if (type !== t) throw new Error(`scale incompatible with channel: ${type} !== ${t}`);\n }\n\n // If the scale, a channel, or user specified a (consistent) type, return it.\n if (type === typeProjection) return;\n if (type !== undefined) return type;\n\n // If there’s no data (and no type) associated with this scale, don’t create a scale.\n if (domain === undefined && !channels.some(({value}) => value !== undefined)) return;\n\n // Some scales have default types.\n const kind = registry.get(key);\n if (kind === radius) return \"sqrt\";\n if (kind === opacity || kind === length) return \"linear\";\n if (kind === symbol) return \"ordinal\";\n\n // If the domain or range has more than two values, assume it’s ordinal. You\n // can still use a “piecewise” (or “polylinear”) scale, but you must set the\n // type explicitly.\n if ((domain || range || []).length > 2) return asOrdinalType(kind);\n\n // Otherwise, infer the scale type from the data! Prefer the domain, if\n // present, over channels. (The domain and channels should be consistently\n // typed, and the domain is more explicit and typically much smaller.) We only\n // check the first defined value for expedience and simplicity; we expect\n // that the types are consistent.\n if (domain !== undefined) {\n if (isOrdinal(domain)) return asOrdinalType(kind);\n if (isTemporal(domain)) return \"utc\";\n if (kind === color && (pivot != null || isDivergingScheme(scheme))) return \"diverging\";\n return \"linear\";\n }\n\n // If any channel is ordinal or temporal, it takes priority.\n const values = channels.map(({value}) => value).filter((value) => value !== undefined);\n if (values.some(isOrdinal)) return asOrdinalType(kind);\n if (values.some(isTemporal)) return \"utc\";\n if (kind === color && (pivot != null || isDivergingScheme(scheme))) return \"diverging\";\n return \"linear\";\n}\n\n// Positional scales default to a point scale instead of an ordinal scale.\nfunction asOrdinalType(kind) {\n switch (kind) {\n case position:\n return \"point\";\n case color:\n return ordinalImplicit;\n default:\n return \"ordinal\";\n }\n}\n\nexport function isTemporalScale({type}) {\n return type === \"time\" || type === \"utc\";\n}\n\nexport function isOrdinalScale({type}) {\n return type === \"ordinal\" || type === \"point\" || type === \"band\" || type === ordinalImplicit;\n}\n\nexport function isThresholdScale({type}) {\n return type === \"threshold\";\n}\n\nfunction isBandScale({type}) {\n return type === \"point\" || type === \"band\";\n}\n\nexport function isDivergingScale({type}) {\n return /^diverging($|-)/.test(type);\n}\n\n// Certain marks have special behavior if a scale is collapsed, i.e. if the\n// domain is degenerate and represents only a single value such as [3, 3]; for\n// example, a rect will span the full extent of the chart along a collapsed\n// dimension (whereas a dot will simply be drawn in the center).\nexport function isCollapsed(scale) {\n if (scale === undefined) return true; // treat missing scale as collapsed\n const domain = scale.domain();\n const value = scale(domain[0]);\n for (let i = 1, n = domain.length; i < n; ++i) {\n if (scale(domain[i]) - value) {\n return false;\n }\n }\n return true;\n}\n\n// Mutates channel.value!\nfunction coerceType(channels, {domain, ...options}, coerceValues) {\n for (const c of channels) {\n if (c.value !== undefined) {\n c.value = coerceValues(c.value);\n }\n }\n return {\n domain: domain === undefined ? domain : coerceValues(domain),\n ...options\n };\n}\n\nfunction coerceSymbols(values) {\n return map(values, maybeSymbol);\n}\n\nexport function scale(options = {}) {\n let scale;\n for (const key in options) {\n if (!registry.has(key)) continue; // ignore unknown properties\n if (!isScaleOptions(options[key])) continue; // e.g., ignore {color: \"red\"}\n if (scale !== undefined) throw new Error(\"ambiguous scale definition; multiple scales found\");\n scale = exposeScale(normalizeScale(key, options[key]));\n }\n if (scale === undefined) throw new Error(\"invalid scale definition; no scale found\");\n return scale;\n}\n\nexport function exposeScales(scaleDescriptors) {\n return (key) => {\n if (!registry.has((key = `${key}`))) throw new Error(`unknown scale: ${key}`);\n return key in scaleDescriptors ? exposeScale(scaleDescriptors[key]) : undefined;\n };\n}\n\n// Note: axis- and legend-related properties (such as label, ticks and\n// tickFormat) are not included here as they do not affect the scale’s behavior.\nfunction exposeScale({scale, type, domain, range, interpolate, interval, transform, percent, pivot}) {\n if (type === \"identity\") return {type: \"identity\", apply: (d) => d, invert: (d) => d};\n const unknown = scale.unknown ? scale.unknown() : undefined;\n return {\n type,\n domain: slice(domain), // defensive copy\n ...(range !== undefined && {range: slice(range)}), // defensive copy\n ...(transform !== undefined && {transform}),\n ...(percent && {percent}), // only exposed if truthy\n ...(unknown !== undefined && {unknown}),\n ...(interval !== undefined && {interval}),\n\n // quantitative\n ...(interpolate !== undefined && {interpolate}),\n ...(scale.clamp && {clamp: scale.clamp()}),\n\n // diverging (always asymmetric; we never want to apply the symmetric transform twice)\n ...(pivot !== undefined && {pivot, symmetric: false}),\n\n // log, diverging-log\n ...(scale.base && {base: scale.base()}),\n\n // pow, diverging-pow\n ...(scale.exponent && {exponent: scale.exponent()}),\n\n // symlog, diverging-symlog\n ...(scale.constant && {constant: scale.constant()}),\n\n // band, point\n ...(scale.align && {align: scale.align(), round: scale.round()}),\n ...(scale.padding &&\n (scale.paddingInner\n ? {paddingInner: scale.paddingInner(), paddingOuter: scale.paddingOuter()}\n : {padding: scale.padding()})),\n ...(scale.bandwidth && {bandwidth: scale.bandwidth(), step: scale.step()}),\n\n // utilities\n apply: (t) => scale(t),\n ...(scale.invert && {invert: (t) => scale.invert(t)})\n };\n}\n","import {format as isoFormat} from \"isoformat\";\nimport {string} from \"./options.js\";\nimport {memoize1} from \"./memoize.js\";\n\nconst numberFormat = memoize1((locale) => {\n return new Intl.NumberFormat(locale);\n});\n\nconst monthFormat = memoize1((locale, month) => {\n return new Intl.DateTimeFormat(locale, {timeZone: \"UTC\", ...(month && {month})});\n});\n\nconst weekdayFormat = memoize1((locale, weekday) => {\n return new Intl.DateTimeFormat(locale, {timeZone: \"UTC\", ...(weekday && {weekday})});\n});\n\nexport function formatNumber(locale = \"en-US\") {\n const format = numberFormat(locale);\n return (i) => (i != null && !isNaN(i) ? format.format(i) : undefined);\n}\n\nexport function formatMonth(locale = \"en-US\", format = \"short\") {\n const fmt = monthFormat(locale, format);\n return (i) => (i != null && !isNaN((i = +new Date(Date.UTC(2000, +i)))) ? fmt.format(i) : undefined);\n}\n\nexport function formatWeekday(locale = \"en-US\", format = \"short\") {\n const fmt = weekdayFormat(locale, format);\n return (i) => (i != null && !isNaN((i = +new Date(Date.UTC(2001, 0, +i)))) ? fmt.format(i) : undefined);\n}\n\nexport function formatIsoDate(date) {\n return isoFormat(date, \"Invalid Date\");\n}\n\nexport function formatAuto(locale = \"en-US\") {\n const number = formatNumber(locale);\n return (v) => (v instanceof Date ? formatIsoDate : typeof v === \"number\" ? number : string)(v);\n}\n\n// TODO When Plot supports a top-level locale option, this should be removed\n// because it lacks context to know which locale to use; formatAuto should be\n// used instead whenever possible.\nexport const formatDefault = formatAuto();\n","export function memoize1(compute) {\n let cacheValue, cacheKeys;\n return (...keys) => {\n if (cacheKeys?.length !== keys.length || cacheKeys.some((k, i) => k !== keys[i])) {\n cacheKeys = keys;\n cacheValue = compute(...keys);\n }\n return cacheValue;\n };\n}\n","import {geoPath, group, namespaces} from \"d3\";\nimport {create} from \"./context.js\";\nimport {defined, nonempty} from \"./defined.js\";\nimport {formatDefault} from \"./format.js\";\nimport {\n string,\n number,\n maybeColorChannel,\n maybeNumberChannel,\n maybeKeyword,\n isNoneish,\n isNone,\n isRound,\n keyof\n} from \"./options.js\";\nimport {warn} from \"./warnings.js\";\n\nexport const offset = (typeof window !== \"undefined\" ? window.devicePixelRatio > 1 : typeof it === \"undefined\") ? 0 : 0.5; // prettier-ignore\n\nlet nextClipId = 0;\n\nfunction getClipId() {\n return `plot-clip-${++nextClipId}`;\n}\n\nexport function styles(\n mark,\n {\n title,\n href,\n ariaLabel: variaLabel,\n ariaDescription,\n ariaHidden,\n target,\n fill,\n fillOpacity,\n stroke,\n strokeWidth,\n strokeOpacity,\n strokeLinejoin,\n strokeLinecap,\n strokeMiterlimit,\n strokeDasharray,\n strokeDashoffset,\n opacity,\n mixBlendMode,\n paintOrder,\n pointerEvents,\n shapeRendering\n },\n {\n ariaLabel: cariaLabel,\n fill: defaultFill = \"currentColor\",\n fillOpacity: defaultFillOpacity,\n stroke: defaultStroke = \"none\",\n strokeOpacity: defaultStrokeOpacity,\n strokeWidth: defaultStrokeWidth,\n strokeLinecap: defaultStrokeLinecap,\n strokeLinejoin: defaultStrokeLinejoin,\n strokeMiterlimit: defaultStrokeMiterlimit,\n paintOrder: defaultPaintOrder\n }\n) {\n // Some marks don’t support fill (e.g., tick and rule).\n if (defaultFill === null) {\n fill = null;\n fillOpacity = null;\n }\n\n // Some marks don’t support stroke (e.g., image).\n if (defaultStroke === null) {\n stroke = null;\n strokeOpacity = null;\n }\n\n // Some marks default to fill with no stroke, while others default to stroke\n // with no fill. For example, bar and area default to fill, while dot and line\n // default to stroke. For marks that fill by default, the default fill only\n // applies if the stroke is (constant) none; if you set a stroke, then the\n // default fill becomes none. Similarly for marks that stroke by stroke, the\n // default stroke only applies if the fill is (constant) none.\n if (isNoneish(defaultFill)) {\n if (!isNoneish(defaultStroke) && !isNoneish(fill)) defaultStroke = \"none\";\n } else {\n if (isNoneish(defaultStroke) && !isNoneish(stroke)) defaultFill = \"none\";\n }\n\n const [vfill, cfill] = maybeColorChannel(fill, defaultFill);\n const [vfillOpacity, cfillOpacity] = maybeNumberChannel(fillOpacity, defaultFillOpacity);\n const [vstroke, cstroke] = maybeColorChannel(stroke, defaultStroke);\n const [vstrokeOpacity, cstrokeOpacity] = maybeNumberChannel(strokeOpacity, defaultStrokeOpacity);\n const [vopacity, copacity] = maybeNumberChannel(opacity);\n\n // For styles that have no effect if there is no stroke, only apply the\n // defaults if the stroke is not the constant none. (If stroke is a channel,\n // then cstroke will be undefined, but there’s still a stroke; hence we don’t\n // use isNoneish here.)\n if (!isNone(cstroke)) {\n if (strokeWidth === undefined) strokeWidth = defaultStrokeWidth;\n if (strokeLinecap === undefined) strokeLinecap = defaultStrokeLinecap;\n if (strokeLinejoin === undefined) strokeLinejoin = defaultStrokeLinejoin;\n\n // The default stroke miterlimit need not be applied if the current stroke\n // is the constant round; this only has effect on miter joins.\n if (strokeMiterlimit === undefined && !isRound(strokeLinejoin)) strokeMiterlimit = defaultStrokeMiterlimit;\n\n // The paint order only takes effect if there is both a fill and a stroke\n // (at least if we ignore markers, which no built-in marks currently use).\n if (!isNone(cfill) && paintOrder === undefined) paintOrder = defaultPaintOrder;\n }\n\n const [vstrokeWidth, cstrokeWidth] = maybeNumberChannel(strokeWidth);\n\n // Some marks don’t support fill (e.g., tick and rule).\n if (defaultFill !== null) {\n mark.fill = impliedString(cfill, \"currentColor\");\n mark.fillOpacity = impliedNumber(cfillOpacity, 1);\n }\n\n // Some marks don’t support stroke (e.g., image).\n if (defaultStroke !== null) {\n mark.stroke = impliedString(cstroke, \"none\");\n mark.strokeWidth = impliedNumber(cstrokeWidth, 1);\n mark.strokeOpacity = impliedNumber(cstrokeOpacity, 1);\n mark.strokeLinejoin = impliedString(strokeLinejoin, \"miter\");\n mark.strokeLinecap = impliedString(strokeLinecap, \"butt\");\n mark.strokeMiterlimit = impliedNumber(strokeMiterlimit, 4);\n mark.strokeDasharray = impliedString(strokeDasharray, \"none\");\n mark.strokeDashoffset = impliedString(strokeDashoffset, \"0\");\n }\n\n mark.target = string(target);\n mark.ariaLabel = string(cariaLabel);\n mark.ariaDescription = string(ariaDescription);\n mark.ariaHidden = string(ariaHidden);\n mark.opacity = impliedNumber(copacity, 1);\n mark.mixBlendMode = impliedString(mixBlendMode, \"normal\");\n mark.paintOrder = impliedString(paintOrder, \"normal\");\n mark.pointerEvents = impliedString(pointerEvents, \"auto\");\n mark.shapeRendering = impliedString(shapeRendering, \"auto\");\n\n return {\n title: {value: title, optional: true},\n href: {value: href, optional: true},\n ariaLabel: {value: variaLabel, optional: true},\n fill: {value: vfill, scale: \"auto\", optional: true},\n fillOpacity: {value: vfillOpacity, scale: \"auto\", optional: true},\n stroke: {value: vstroke, scale: \"auto\", optional: true},\n strokeOpacity: {value: vstrokeOpacity, scale: \"auto\", optional: true},\n strokeWidth: {value: vstrokeWidth, optional: true},\n opacity: {value: vopacity, scale: \"auto\", optional: true}\n };\n}\n\n// Applies the specified titles via selection.call.\nexport function applyTitle(selection, L) {\n if (L)\n selection\n .filter((i) => nonempty(L[i]))\n .append(\"title\")\n .call(applyText, L);\n}\n\n// Like applyTitle, but for grouped data (lines, areas).\nexport function applyTitleGroup(selection, L) {\n if (L)\n selection\n .filter(([i]) => nonempty(L[i]))\n .append(\"title\")\n .call(applyTextGroup, L);\n}\n\nexport function applyText(selection, T) {\n if (T) selection.text((i) => formatDefault(T[i]));\n}\n\nexport function applyTextGroup(selection, T) {\n if (T) selection.text(([i]) => formatDefault(T[i]));\n}\n\nexport function applyChannelStyles(\n selection,\n {target},\n {\n ariaLabel: AL,\n title: T,\n fill: F,\n fillOpacity: FO,\n stroke: S,\n strokeOpacity: SO,\n strokeWidth: SW,\n opacity: O,\n href: H\n }\n) {\n if (AL) applyAttr(selection, \"aria-label\", (i) => AL[i]);\n if (F) applyAttr(selection, \"fill\", (i) => F[i]);\n if (FO) applyAttr(selection, \"fill-opacity\", (i) => FO[i]);\n if (S) applyAttr(selection, \"stroke\", (i) => S[i]);\n if (SO) applyAttr(selection, \"stroke-opacity\", (i) => SO[i]);\n if (SW) applyAttr(selection, \"stroke-width\", (i) => SW[i]);\n if (O) applyAttr(selection, \"opacity\", (i) => O[i]);\n if (H) applyHref(selection, (i) => H[i], target);\n applyTitle(selection, T);\n}\n\nexport function applyGroupedChannelStyles(\n selection,\n {target},\n {\n ariaLabel: AL,\n title: T,\n fill: F,\n fillOpacity: FO,\n stroke: S,\n strokeOpacity: SO,\n strokeWidth: SW,\n opacity: O,\n href: H\n }\n) {\n if (AL) applyAttr(selection, \"aria-label\", ([i]) => AL[i]);\n if (F) applyAttr(selection, \"fill\", ([i]) => F[i]);\n if (FO) applyAttr(selection, \"fill-opacity\", ([i]) => FO[i]);\n if (S) applyAttr(selection, \"stroke\", ([i]) => S[i]);\n if (SO) applyAttr(selection, \"stroke-opacity\", ([i]) => SO[i]);\n if (SW) applyAttr(selection, \"stroke-width\", ([i]) => SW[i]);\n if (O) applyAttr(selection, \"opacity\", ([i]) => O[i]);\n if (H) applyHref(selection, ([i]) => H[i], target);\n applyTitleGroup(selection, T);\n}\n\nfunction groupAesthetics({\n ariaLabel: AL,\n title: T,\n fill: F,\n fillOpacity: FO,\n stroke: S,\n strokeOpacity: SO,\n strokeWidth: SW,\n opacity: O,\n href: H\n}) {\n return [AL, T, F, FO, S, SO, SW, O, H].filter((c) => c !== undefined);\n}\n\nexport function groupZ(I, Z, z) {\n const G = group(I, (i) => Z[i]);\n if (z === undefined && G.size > I.length >> 1) {\n warn(\n `Warning: the implicit z channel has high cardinality. This may occur when the fill or stroke channel is associated with quantitative data rather than ordinal or categorical data. You can suppress this warning by setting the z option explicitly; if this data represents a single series, set z to null.`\n );\n }\n return G.values();\n}\n\nexport function* groupIndex(I, position, {z}, channels) {\n const {z: Z} = channels; // group channel\n const A = groupAesthetics(channels); // aesthetic channels\n const C = [...position, ...A]; // all channels\n\n // Group the current index by Z (if any).\n for (const G of Z ? groupZ(I, Z, z) : [I]) {\n let Ag; // the A-values (aesthetics) of the current group, if any\n let Gg; // the current group index (a subset of G, and I), if any\n out: for (const i of G) {\n // If any channel has an undefined value for this index, skip it.\n for (const c of C) {\n if (!defined(c[i])) {\n if (Gg) Gg.push(-1);\n continue out;\n }\n }\n\n // Otherwise, if this is a new group, record the aesthetics for this\n // group. Yield the current group and start a new one.\n if (Ag === undefined) {\n if (Gg) yield Gg;\n (Ag = A.map((c) => keyof(c[i]))), (Gg = [i]);\n continue;\n }\n\n // Otherwise, add the current index to the current group. Then, if any of\n // the aesthetics don’t match the current group, yield the current group\n // and start a new group of the current index.\n Gg.push(i);\n for (let j = 0; j < A.length; ++j) {\n const k = keyof(A[j][i]);\n if (k !== Ag[j]) {\n yield Gg;\n (Ag = A.map((c) => keyof(c[i]))), (Gg = [i]);\n continue out;\n }\n }\n }\n\n // Yield the current group, if any.\n if (Gg) yield Gg;\n }\n}\n\n// TODO Accept other types of clips (paths, urls, x, y, other marks…)?\n// https://github.com/observablehq/plot/issues/181\nexport function maybeClip(clip) {\n if (clip === true) clip = \"frame\";\n else if (clip === false) clip = null;\n return maybeKeyword(clip, \"clip\", [\"frame\", \"sphere\"]);\n}\n\n// Note: may mutate selection.node!\nfunction applyClip(selection, mark, dimensions, context) {\n let clipUrl;\n switch (mark.clip) {\n case \"frame\": {\n const {width, height, marginLeft, marginRight, marginTop, marginBottom} = dimensions;\n const id = getClipId();\n clipUrl = `url(#${id})`;\n selection = create(\"svg:g\", context)\n .call((g) =>\n g\n .append(\"svg:clipPath\")\n .attr(\"id\", id)\n .append(\"rect\")\n .attr(\"x\", marginLeft)\n .attr(\"y\", marginTop)\n .attr(\"width\", width - marginRight - marginLeft)\n .attr(\"height\", height - marginTop - marginBottom)\n )\n .each(function () {\n this.appendChild(selection.node());\n selection.node = () => this; // Note: mutation!\n });\n break;\n }\n case \"sphere\": {\n const {projection} = context;\n if (!projection) throw new Error(`the \"sphere\" clip option requires a projection`);\n const id = getClipId();\n clipUrl = `url(#${id})`;\n selection\n .append(\"clipPath\")\n .attr(\"id\", id)\n .append(\"path\")\n .attr(\"d\", geoPath(projection)({type: \"Sphere\"}));\n break;\n }\n }\n // Here we’re careful to apply the ARIA attributes to the outer G element when\n // clipping is applied, and to apply the ARIA attributes before any other\n // attributes (for readability).\n applyAttr(selection, \"aria-label\", mark.ariaLabel);\n applyAttr(selection, \"aria-description\", mark.ariaDescription);\n applyAttr(selection, \"aria-hidden\", mark.ariaHidden);\n applyAttr(selection, \"clip-path\", clipUrl);\n}\n\n// Note: may mutate selection.node!\nexport function applyIndirectStyles(selection, mark, dimensions, context) {\n applyClip(selection, mark, dimensions, context);\n applyAttr(selection, \"fill\", mark.fill);\n applyAttr(selection, \"fill-opacity\", mark.fillOpacity);\n applyAttr(selection, \"stroke\", mark.stroke);\n applyAttr(selection, \"stroke-width\", mark.strokeWidth);\n applyAttr(selection, \"stroke-opacity\", mark.strokeOpacity);\n applyAttr(selection, \"stroke-linejoin\", mark.strokeLinejoin);\n applyAttr(selection, \"stroke-linecap\", mark.strokeLinecap);\n applyAttr(selection, \"stroke-miterlimit\", mark.strokeMiterlimit);\n applyAttr(selection, \"stroke-dasharray\", mark.strokeDasharray);\n applyAttr(selection, \"stroke-dashoffset\", mark.strokeDashoffset);\n applyAttr(selection, \"shape-rendering\", mark.shapeRendering);\n applyAttr(selection, \"paint-order\", mark.paintOrder);\n applyAttr(selection, \"pointer-events\", mark.pointerEvents);\n}\n\nexport function applyDirectStyles(selection, mark) {\n applyStyle(selection, \"mix-blend-mode\", mark.mixBlendMode);\n applyAttr(selection, \"opacity\", mark.opacity);\n}\n\nfunction applyHref(selection, href, target) {\n selection.each(function (i) {\n const h = href(i);\n if (h != null) {\n const a = this.ownerDocument.createElementNS(namespaces.svg, \"a\");\n a.setAttribute(\"fill\", \"inherit\");\n a.setAttributeNS(namespaces.xlink, \"href\", h);\n if (target != null) a.setAttribute(\"target\", target);\n this.parentNode.insertBefore(a, this).appendChild(this);\n }\n });\n}\n\nexport function applyAttr(selection, name, value) {\n if (value != null) selection.attr(name, value);\n}\n\nexport function applyStyle(selection, name, value) {\n if (value != null) selection.style(name, value);\n}\n\nexport function applyTransform(selection, mark, {x, y}, tx = offset, ty = offset) {\n tx += mark.dx;\n ty += mark.dy;\n if (x?.bandwidth) tx += x.bandwidth() / 2;\n if (y?.bandwidth) ty += y.bandwidth() / 2;\n if (tx || ty) selection.attr(\"transform\", `translate(${tx},${ty})`);\n}\n\nexport function impliedString(value, impliedValue) {\n if ((value = string(value)) !== impliedValue) return value;\n}\n\nexport function impliedNumber(value, impliedValue) {\n if ((value = number(value)) !== impliedValue) return value;\n}\n\n// https://www.w3.org/TR/CSS21/grammar.html\nconst validClassName =\n /^-?([_a-z]|[\\240-\\377]|\\\\[0-9a-f]{1,6}(\\r\\n|[ \\t\\r\\n\\f])?|\\\\[^\\r\\n\\f0-9a-f])([_a-z0-9-]|[\\240-\\377]|\\\\[0-9a-f]{1,6}(\\r\\n|[ \\t\\r\\n\\f])?|\\\\[^\\r\\n\\f0-9a-f])*$/i;\n\nexport function maybeClassName(name) {\n // The default should be changed whenever the default styles are changed, so\n // as to avoid conflict when multiple versions of Plot are on the page.\n if (name === undefined) return \"plot-d6a7b5\";\n name = `${name}`;\n if (!validClassName.test(name)) throw new Error(`invalid class name: ${name}`);\n return name;\n}\n\nexport function applyInlineStyles(selection, style) {\n if (typeof style === \"string\") {\n selection.property(\"style\", style);\n } else if (style != null) {\n for (const element of selection) {\n Object.assign(element.style, style);\n }\n }\n}\n\nexport function applyFrameAnchor({frameAnchor}, {width, height, marginTop, marginRight, marginBottom, marginLeft}) {\n return [\n /left$/.test(frameAnchor)\n ? marginLeft\n : /right$/.test(frameAnchor)\n ? width - marginRight\n : (marginLeft + width - marginRight) / 2,\n /^top/.test(frameAnchor)\n ? marginTop\n : /^bottom/.test(frameAnchor)\n ? height - marginBottom\n : (marginTop + height - marginBottom) / 2\n ];\n}\n","import {format, utcFormat} from \"d3\";\nimport {formatIsoDate} from \"./format.js\";\nimport {constant, isTemporal, string} from \"./options.js\";\nimport {isOrdinalScale} from \"./scales.js\";\n\nexport function inferFontVariant(scale) {\n return isOrdinalScale(scale) && scale.interval === undefined ? undefined : \"tabular-nums\";\n}\n\n// D3 doesn’t provide a tick format for ordinal scales; we want shorthand when\n// an ordinal domain is numbers or dates, and we want null to mean the empty\n// string, not the default identity format. TODO Remove this in favor of the\n// axis mark’s inferTickFormat.\nexport function maybeAutoTickFormat(tickFormat, domain) {\n return tickFormat === undefined\n ? isTemporal(domain)\n ? formatIsoDate\n : string\n : typeof tickFormat === \"function\"\n ? tickFormat\n : (typeof tickFormat === \"string\" ? (isTemporal(domain) ? utcFormat : format) : constant)(tickFormat);\n}\n","import {pathRound as path} from \"d3\";\nimport {inferFontVariant, maybeAutoTickFormat} from \"../axes.js\";\nimport {createContext, create} from \"../context.js\";\nimport {isNoneish, maybeColorChannel, maybeNumberChannel} from \"../options.js\";\nimport {isOrdinalScale, isThresholdScale} from \"../scales.js\";\nimport {applyInlineStyles, impliedString, maybeClassName} from \"../style.js\";\n\nfunction maybeScale(scale, key) {\n if (key == null) return key;\n const s = scale(key);\n if (!s) throw new Error(`scale not found: ${key}`);\n return s;\n}\n\nexport function legendSwatches(color, {opacity, ...options} = {}) {\n if (!isOrdinalScale(color) && !isThresholdScale(color))\n throw new Error(`swatches legend requires ordinal or threshold color scale (not ${color.type})`);\n return legendItems(color, options, (selection, scale, width, height) =>\n selection\n .append(\"svg\")\n .attr(\"width\", width)\n .attr(\"height\", height)\n .attr(\"fill\", scale.scale)\n .attr(\"fill-opacity\", maybeNumberChannel(opacity)[1])\n .append(\"rect\")\n .attr(\"width\", \"100%\")\n .attr(\"height\", \"100%\")\n );\n}\n\nexport function legendSymbols(\n symbol,\n {\n fill = symbol.hint?.fill !== undefined ? symbol.hint.fill : \"none\",\n fillOpacity = 1,\n stroke = symbol.hint?.stroke !== undefined ? symbol.hint.stroke : isNoneish(fill) ? \"currentColor\" : \"none\",\n strokeOpacity = 1,\n strokeWidth = 1.5,\n r = 4.5,\n ...options\n } = {},\n scale\n) {\n const [vf, cf] = maybeColorChannel(fill);\n const [vs, cs] = maybeColorChannel(stroke);\n const sf = maybeScale(scale, vf);\n const ss = maybeScale(scale, vs);\n const size = r * r * Math.PI;\n fillOpacity = maybeNumberChannel(fillOpacity)[1];\n strokeOpacity = maybeNumberChannel(strokeOpacity)[1];\n strokeWidth = maybeNumberChannel(strokeWidth)[1];\n return legendItems(symbol, options, (selection, scale, width, height) =>\n selection\n .append(\"svg\")\n .attr(\"viewBox\", \"-8 -8 16 16\")\n .attr(\"width\", width)\n .attr(\"height\", height)\n .attr(\"fill\", vf === \"color\" ? (d) => sf.scale(d) : cf)\n .attr(\"fill-opacity\", fillOpacity)\n .attr(\"stroke\", vs === \"color\" ? (d) => ss.scale(d) : cs)\n .attr(\"stroke-opacity\", strokeOpacity)\n .attr(\"stroke-width\", strokeWidth)\n .append(\"path\")\n .attr(\"d\", (d) => {\n const p = path();\n symbol.scale(d).draw(p, size);\n return p;\n })\n );\n}\n\nfunction legendItems(scale, options = {}, swatch) {\n let {\n columns,\n tickFormat,\n fontVariant = inferFontVariant(scale),\n // TODO label,\n swatchSize = 15,\n swatchWidth = swatchSize,\n swatchHeight = swatchSize,\n marginLeft = 0,\n className,\n style,\n width\n } = options;\n const context = createContext(options);\n className = maybeClassName(className);\n tickFormat = maybeAutoTickFormat(tickFormat, scale.domain);\n\n const swatches = create(\"div\", context).attr(\n \"class\",\n `${className}-swatches ${className}-swatches-${columns != null ? \"columns\" : \"wrap\"}`\n );\n\n let extraStyle;\n\n if (columns != null) {\n extraStyle = `.${className}-swatches-columns .${className}-swatch {\n display: flex;\n align-items: center;\n break-inside: avoid;\n padding-bottom: 1px;\n}\n.${className}-swatches-columns .${className}-swatch::before {\n flex-shrink: 0;\n}\n.${className}-swatches-columns .${className}-swatch-label {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}`;\n\n swatches\n .style(\"columns\", columns)\n .selectAll()\n .data(scale.domain)\n .enter()\n .append(\"div\")\n .attr(\"class\", `${className}-swatch`)\n .call(swatch, scale, swatchWidth, swatchHeight)\n .call((item) =>\n item.append(\"div\").attr(\"class\", `${className}-swatch-label`).attr(\"title\", tickFormat).text(tickFormat)\n );\n } else {\n extraStyle = `.${className}-swatches-wrap {\n display: flex;\n align-items: center;\n min-height: 33px;\n flex-wrap: wrap;\n}\n.${className}-swatches-wrap .${className}-swatch {\n display: inline-flex;\n align-items: center;\n margin-right: 1em;\n}`;\n\n swatches\n .selectAll()\n .data(scale.domain)\n .enter()\n .append(\"span\")\n .attr(\"class\", `${className}-swatch`)\n .call(swatch, scale, swatchWidth, swatchHeight)\n .append(function () {\n return this.ownerDocument.createTextNode(tickFormat.apply(this, arguments));\n });\n }\n\n return swatches\n .call((div) =>\n div.insert(\"style\", \"*\").text(\n `.${className}-swatches {\n font-family: system-ui, sans-serif;\n font-size: 10px;\n margin-bottom: 0.5em;\n}\n.${className}-swatch > svg {\n margin-right: 0.5em;\n overflow: visible;\n}\n${extraStyle}`\n )\n )\n .style(\"margin-left\", marginLeft ? `${+marginLeft}px` : null)\n .style(\"width\", width === undefined ? null : `${+width}px`)\n .style(\"font-variant\", impliedString(fontVariant, \"normal\"))\n .call(applyInlineStyles, style)\n .node();\n}\n","import {rgb} from \"d3\";\nimport {createContext} from \"./context.js\";\nimport {legendRamp} from \"./legends/ramp.js\";\nimport {legendSwatches, legendSymbols} from \"./legends/swatches.js\";\nimport {inherit, isScaleOptions} from \"./options.js\";\nimport {normalizeScale} from \"./scales.js\";\n\nconst legendRegistry = new Map([\n [\"symbol\", legendSymbols],\n [\"color\", legendColor],\n [\"opacity\", legendOpacity]\n]);\n\nexport function legend(options = {}) {\n for (const [key, value] of legendRegistry) {\n const scale = options[key];\n if (isScaleOptions(scale)) {\n // e.g., ignore {color: \"red\"}\n const context = createContext(options);\n let hint;\n // For symbol legends, pass a hint to the symbol scale.\n if (key === \"symbol\") {\n const {fill, stroke = fill === undefined && isScaleOptions(options.color) ? \"color\" : undefined} = options;\n hint = {fill, stroke};\n }\n return value(normalizeScale(key, scale, hint), legendOptions(context, scale, options), (key) =>\n isScaleOptions(options[key]) ? normalizeScale(key, options[key]) : null\n );\n }\n }\n throw new Error(\"unknown legend type; no scale found\");\n}\n\nexport function exposeLegends(scales, context, defaults = {}) {\n return (key, options) => {\n if (!legendRegistry.has(key)) throw new Error(`unknown legend type: ${key}`);\n if (!(key in scales)) return;\n return legendRegistry.get(key)(scales[key], legendOptions(context, defaults[key], options), (key) => scales[key]);\n };\n}\n\nfunction legendOptions({className, ...context}, {label, ticks, tickFormat} = {}, options) {\n return inherit(options, {className, ...context}, {label, ticks, tickFormat});\n}\n\nfunction legendColor(color, {legend = true, ...options}) {\n if (legend === true) legend = color.type === \"ordinal\" ? \"swatches\" : \"ramp\";\n if (color.domain === undefined) return;\n switch (`${legend}`.toLowerCase()) {\n case \"swatches\":\n return legendSwatches(color, options);\n case \"ramp\":\n return legendRamp(color, options);\n default:\n throw new Error(`unknown legend type: ${legend}`);\n }\n}\n\nfunction legendOpacity({type, interpolate, ...scale}, {legend = true, color = rgb(0, 0, 0), ...options}) {\n if (!interpolate) throw new Error(`${type} opacity scales are not supported`);\n if (legend === true) legend = \"ramp\";\n if (`${legend}`.toLowerCase() !== \"ramp\") throw new Error(`${legend} opacity legends are not supported`);\n return legendColor({type, ...scale, interpolate: interpolateOpacity(color)}, {legend, ...options});\n}\n\nfunction interpolateOpacity(color) {\n const {r, g, b} = rgb(color) || rgb(0, 0, 0); // treat invalid color as black\n return (t) => `rgba(${r},${g},${b},${t})`;\n}\n\nexport function createLegends(scales, context, options) {\n const legends = [];\n for (const [key, value] of legendRegistry) {\n const o = options[key];\n if (o?.legend && key in scales) {\n const legend = value(scales[key], legendOptions(context, scales[key], o), (key) => scales[key]);\n if (legend != null) legends.push(legend);\n }\n }\n return legends;\n}\n","import {quantize, interpolateNumber, piecewise, format, scaleBand, scaleLinear, axisBottom} from \"d3\";\nimport {inferFontVariant} from \"../axes.js\";\nimport {createContext, create} from \"../context.js\";\nimport {map, maybeNumberChannel} from \"../options.js\";\nimport {interpolatePiecewise} from \"../scales/quantitative.js\";\nimport {applyInlineStyles, impliedString, maybeClassName} from \"../style.js\";\n\nexport function legendRamp(color, options) {\n let {\n label = color.label,\n tickSize = 6,\n width = 240,\n height = 44 + tickSize,\n marginTop = 18,\n marginRight = 0,\n marginBottom = 16 + tickSize,\n marginLeft = 0,\n style,\n ticks = (width - marginLeft - marginRight) / 64,\n tickFormat,\n fontVariant = inferFontVariant(color),\n round = true,\n opacity,\n className\n } = options;\n const context = createContext(options);\n className = maybeClassName(className);\n opacity = maybeNumberChannel(opacity)[1];\n if (tickFormat === null) tickFormat = () => null;\n\n const svg = create(\"svg\", context)\n .attr(\"class\", `${className}-ramp`)\n .attr(\"font-family\", \"system-ui, sans-serif\")\n .attr(\"font-size\", 10)\n .attr(\"width\", width)\n .attr(\"height\", height)\n .attr(\"viewBox\", `0 0 ${width} ${height}`)\n .call((svg) =>\n // Warning: if you edit this, change defaultClassName.\n svg.append(\"style\").text(\n `.${className}-ramp {\n display: block;\n background: white;\n height: auto;\n height: intrinsic;\n max-width: 100%;\n overflow: visible;\n}\n.${className}-ramp text {\n white-space: pre;\n}`\n )\n )\n .call(applyInlineStyles, style);\n\n let tickAdjust = (g) => g.selectAll(\".tick line\").attr(\"y1\", marginTop + marginBottom - height);\n\n let x;\n\n // Some D3 scales use scale.interpolate, some scale.interpolator, and some\n // scale.round; this normalizes the API so it works with all scale types.\n const applyRange = round ? (x, range) => x.rangeRound(range) : (x, range) => x.range(range);\n\n const {type, domain, range, interpolate, scale, pivot} = color;\n\n // Continuous\n if (interpolate) {\n // Often interpolate is a “fixed” interpolator on the [0, 1] interval, as\n // with a built-in color scheme, but sometimes it is a function that takes\n // two arguments and is used in conjunction with the range.\n const interpolator =\n range === undefined\n ? interpolate\n : piecewise(interpolate.length === 1 ? interpolatePiecewise(interpolate) : interpolate, range);\n\n // Construct a D3 scale of the same type, but with a range that evenly\n // divides the horizontal extent of the legend. (In the common case, the\n // domain.length is two, and so the range is simply the extent.) For a\n // diverging scale, we need an extra point in the range for the pivot such\n // that the pivot is always drawn in the middle.\n x = applyRange(\n scale.copy(),\n quantize(\n interpolateNumber(marginLeft, width - marginRight),\n Math.min(domain.length + (pivot !== undefined), range === undefined ? Infinity : range.length)\n )\n );\n\n // Construct a 256×1 canvas, filling each pixel using the interpolator.\n const n = 256;\n const canvas = context.document.createElement(\"canvas\");\n canvas.width = n;\n canvas.height = 1;\n const context2 = canvas.getContext(\"2d\");\n for (let i = 0, j = n - 1; i < n; ++i) {\n context2.fillStyle = interpolator(i / j);\n context2.fillRect(i, 0, 1, 1);\n }\n\n svg\n .append(\"image\")\n .attr(\"opacity\", opacity)\n .attr(\"x\", marginLeft)\n .attr(\"y\", marginTop)\n .attr(\"width\", width - marginLeft - marginRight)\n .attr(\"height\", height - marginTop - marginBottom)\n .attr(\"preserveAspectRatio\", \"none\")\n .attr(\"xlink:href\", canvas.toDataURL());\n }\n\n // Threshold\n else if (type === \"threshold\") {\n const thresholds = domain;\n\n const thresholdFormat =\n tickFormat === undefined ? (d) => d : typeof tickFormat === \"string\" ? format(tickFormat) : tickFormat;\n\n // Construct a linear scale with evenly-spaced ticks for each of the\n // thresholds; the domain extends one beyond the threshold extent.\n x = applyRange(scaleLinear().domain([-1, range.length - 1]), [marginLeft, width - marginRight]);\n\n svg\n .append(\"g\")\n .attr(\"fill-opacity\", opacity)\n .selectAll()\n .data(range)\n .enter()\n .append(\"rect\")\n .attr(\"x\", (d, i) => x(i - 1))\n .attr(\"y\", marginTop)\n .attr(\"width\", (d, i) => x(i) - x(i - 1))\n .attr(\"height\", height - marginTop - marginBottom)\n .attr(\"fill\", (d) => d);\n\n ticks = map(thresholds, (_, i) => i);\n tickFormat = (i) => thresholdFormat(thresholds[i], i);\n }\n\n // Ordinal (hopefully!)\n else {\n x = applyRange(scaleBand().domain(domain), [marginLeft, width - marginRight]);\n\n svg\n .append(\"g\")\n .attr(\"fill-opacity\", opacity)\n .selectAll()\n .data(domain)\n .enter()\n .append(\"rect\")\n .attr(\"x\", x)\n .attr(\"y\", marginTop)\n .attr(\"width\", Math.max(0, x.bandwidth() - 1))\n .attr(\"height\", height - marginTop - marginBottom)\n .attr(\"fill\", scale);\n\n tickAdjust = () => {};\n }\n\n svg\n .append(\"g\")\n .attr(\"transform\", `translate(0,${height - marginBottom})`)\n .call(\n axisBottom(x)\n .ticks(Array.isArray(ticks) ? null : ticks, typeof tickFormat === \"string\" ? tickFormat : undefined)\n .tickFormat(typeof tickFormat === \"function\" ? tickFormat : undefined)\n .tickSize(tickSize)\n .tickValues(Array.isArray(ticks) ? ticks : null)\n )\n .attr(\"font-size\", null)\n .attr(\"font-family\", null)\n .attr(\"font-variant\", impliedString(fontVariant, \"normal\"))\n .call(tickAdjust)\n .call((g) => g.select(\".domain\").remove());\n\n if (label !== undefined) {\n svg\n .append(\"text\")\n .attr(\"x\", marginLeft)\n .attr(\"y\", marginTop - 6)\n .attr(\"fill\", \"currentColor\") // TODO move to stylesheet?\n .attr(\"font-weight\", \"bold\")\n .text(label);\n }\n\n return svg.node();\n}\n","import { select } from 'd3-selection';\nimport { legend } from '@observablehq/plot';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport type { IPlugin, PluginOptions } from '../index';\n\ninterface LegendOptions extends PluginOptions {\n enabled: boolean;\n itemSelector: string | null;\n label: string | null;\n width: number;\n}\n\nconst DEFAULT_SELECTOR = '#ch-plugin-legend';\n\nconst defaultOptions: LegendOptions = {\n // Whether to display the legend\n enabled: true,\n\n itemSelector: null,\n\n label: null,\n\n width: 130,\n};\n\nexport default class Legend implements IPlugin {\n name = 'Legend';\n\n calendar: CalHeatmap;\n\n root: any;\n\n shown: boolean;\n\n options: LegendOptions;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n this.root = null;\n this.shown = false;\n this.options = defaultOptions;\n }\n\n setup(pluginOptions?: Partial): void {\n this.options = { ...defaultOptions, ...pluginOptions };\n }\n\n paint(): Promise {\n const scaleOptions = this.calendar.options.options.scale;\n const { enabled, itemSelector } = this.options;\n\n if (!enabled || (itemSelector && select(itemSelector).empty())) {\n return this.destroy();\n }\n\n this.shown = true;\n\n this.root = select(\n itemSelector || this.calendar.options.options.itemSelector,\n );\n\n if (this.root.select(DEFAULT_SELECTOR).empty()) {\n this.root = this.root.append('div').attr('id', DEFAULT_SELECTOR.slice(1));\n } else {\n this.root = this.root.select(DEFAULT_SELECTOR);\n }\n\n // @ts-ignore\n const node = legend({\n ...scaleOptions,\n ...this.options,\n });\n\n this.root.selectAll('*').remove();\n this.root.append(() => node);\n\n return Promise.resolve();\n }\n\n destroy(): Promise {\n if (this.root !== null) {\n this.root.remove();\n this.root = null;\n }\n\n return Promise.resolve();\n }\n}\n"],"names":["fails","exec","error","descriptors","require$$0","Object","defineProperty","get","functionBindNative","test","bind","hasOwnProperty","NATIVE_BIND","FunctionPrototype","Function","prototype","call","uncurryThisWithBind","functionUncurryThis","fn","apply","arguments","isNullOrUndefined","it","$TypeError","TypeError","requireObjectCoercible","$Object","toObject","argument","require$$1","hasOwnProperty_1","hasOwn","key","DESCRIPTORS","getDescriptor","getOwnPropertyDescriptor","EXISTS","functionName","PROPER","name","CONFIGURABLE","configurable","makeBuiltIn$3","exports","documentAll","document","all","documentAll_1","IS_HTMLDDA","undefined","isCallable","check","Math","global","globalThis","window","self","this","defineGlobalProperty","value","writable","SHARED","sharedStore","store","require$$2","functionToString","toString","inspectSource","match","version","WeakMap","weakMapBasicDetection","String","isObject","objectDefineProperty","createElement","documentCreateElement","ie8DomDefine","a","v8PrototypeDefineBug","$String","anObject","functionCall","getBuiltIn","namespace","method","length","objectIsPrototypeOf","isPrototypeOf","engineUserAgent","navigator","userAgent","process","Deno","versions","v8","split","engineV8Version","V8_VERSION","symbolConstructorDetection","getOwnPropertySymbols","symbol","Symbol","sham","useSymbolAsUid","iterator","isSymbol","require$$3","$Symbol","tryToString","aCallable","getMethod","V","P","func","shared$3","sharedModule","push","mode","copyright","license","source","uncurryThis","id","postfix","random","uid","shared","NATIVE_SYMBOL","require$$4","USE_SYMBOL_AS_UID","require$$5","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","wellKnownSymbol","ordinaryToPrimitive","input","pref","val","valueOf","TO_PRIMITIVE","toPrimitive","result","exoticToPrim","toPropertyKey","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","WRITABLE","f","O","Attributes","current","enumerable","set","has","createPropertyDescriptor","bitmap","definePropertyModule","createNonEnumerableProperty","object","keys","hiddenKeys","NATIVE_WEAK_MAP","sharedKey","require$$7","OBJECT_ALREADY_INITIALIZED","state","metadata","facade","STATE","internalState","enforce","getterFor","TYPE","type","CONFIGURABLE_FUNCTION_NAME","require$$6","enforceInternalState","getInternalState","stringSlice","slice","replace","join","CONFIGURABLE_LENGTH","TEMPLATE","makeBuiltIn","makeBuiltInModule","options","getter","setter","arity","constructor","defineBuiltInAccessor","target","descriptor","FUNCTION_NAME_EXISTS","nameRE","regExpExec","objectGetOwnPropertyDescriptor","objectPropertyIsEnumerable","$propertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","classofRaw","classof","indexedObject","IndexedObject","toIndexedObject","propertyIsEnumerableModule","defineBuiltIn","simple","unsafe","nonConfigurable","nonWritable","ceil","floor","trunc","x","n","toIntegerOrInfinity","number","max","min","toLength","lengthOfArrayLike","obj","toAbsoluteIndex","index","integer","createMethod","IS_INCLUDES","$this","el","fromIndex","arrayIncludes","includes","indexOf","objectKeysInternal","names","i","enumBugKeys","internalObjectKeys","concat","objectGetOwnPropertyNames","getOwnPropertyNames","objectGetOwnPropertySymbols","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","ownKeys","getOwnPropertyDescriptorModule","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","toLowerCase","isForced_1","copyConstructorProperties","exceptions","_export","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","forced","objectKeys","require$$8","$assign","assign","objectAssign","b","A","B","alphabet","forEach","chr","T","argumentsLength","S","j","toStringTagSupport","TO_STRING_TAG_SUPPORT","TO_STRING_TAG","CORRECT_ARGUMENTS","tag","tryGet","callee","engineIsNode","uncurryThisAccessor","aPossiblePrototype","objectSetPrototypeOf","setPrototypeOf","CORRECT_SETTER","Array","proto","__proto__","SPECIES","noop","empty","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","$location","defer","channel","port","isConstructor","called","aConstructor","functionApply","Reflect","functionBindContext","that","html","arraySlice","engineIsIos","validateArgumentsLength","passed","required","IS_IOS","require$$10","IS_NODE","require$$11","setImmediate","clear","clearImmediate","Dispatch","MessageChannel","counter","queue","ONREADYSTATECHANGE","location","run","runner","eventListener","event","globalPostMessageDefer","postMessage","protocol","host","handler","args","nextTick","now","port2","port1","onmessage","addEventListener","importScripts","appendChild","removeChild","setTimeout","task","Queue","head","tail","add","item","entry","next","notify","toggle","node","promise","then","engineIsIosPebble","Pebble","engineIsWebosWebkit","macrotask","IS_IOS_PEBBLE","IS_WEBOS_WEBKIT","MutationObserver","WebKitMutationObserver","Promise","queueMicrotaskDescriptor","microtask","flush","parent","domain","exit","enter","resolve","createTextNode","observe","characterData","microtask_1","perform","promiseNativeConstructor","engineIsDeno","engineIsBrowser","NativePromiseConstructor","IS_BROWSER","IS_DENO","require$$9","SUBCLASSING","NATIVE_PROMISE_REJECTION_EVENT","PromiseRejectionEvent","FORCED_PROMISE_CONSTRUCTOR","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","FakePromise","promiseConstructorDetection","CONSTRUCTOR","REJECTION_EVENT","newPromiseCapability$2","PromiseCapability","C","reject","$$resolve","$$reject","newPromiseCapability","Internal","OwnPromiseCapability","nativeThen","$","setToStringTag","TAG","setSpecies","CONSTRUCTOR_NAME","Constructor","anInstance","Prototype","speciesConstructor","defaultConstructor","require$$14","require$$15","hostReportErrors","console","require$$17","require$$18","InternalStateModule","require$$19","require$$20","newPromiseCapabilityModule","require$$22","PROMISE","require$$21","NATIVE_PROMISE_SUBCLASSING","getInternalPromiseState","setInternalState","NativePromisePrototype","PromiseConstructor","PromisePrototype","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","isThenable","callReaction","reaction","exited","ok","fail","rejection","onHandleUnhandled","isReject","notified","reactions","onUnhandled","reason","initEvent","isUnhandled","emit","unwrap","internalReject","done","internalResolve","wrapper","executor","onFulfilled","onRejected","PromiseWrapper","wrap","iterators","Iterators","ITERATOR","ArrayPrototype","getIteratorMethod","isArrayIteratorMethod","getIterator","usingIterator","iteratorMethod","iteratorClose","kind","innerResult","innerError","Result","stopped","ResultPrototype","iterate","iterable","unboundFunction","iterFn","step","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","stop","condition","callFn","SAFE_CLOSING","iteratorWithReturn","return","from","checkCorrectnessOfIteration","SKIP_CLOSING","ITERATION_SUPPORT","promiseStaticsIncorrectIteration","capability","$promiseResolve","values","remaining","alreadyCalled","real","catch","race","r","promiseResolve","promiseCapability","defined","Number","isNaN","ascendingDefined","ascending","finite","isFinite","NaN","positive","negative","format","date","fallback","Date","hours","getUTCHours","minutes","getUTCMinutes","seconds","getUTCSeconds","milliseconds","getUTCMilliseconds","year","getUTCFullYear","pad","getUTCMonth","getUTCDate","width","padStart","re","parse","timeIntervals","Map","timeSecond","timeMinute","timeHour","timeDay","timeWeek","timeMonth","every","timeYear","timeMonday","timeTuesday","timeWednesday","timeThursday","timeFriday","timeSaturday","timeSunday","utcIntervals","utcSecond","utcMinute","utcHour","utcDay","utcWeek","utcMonth","utcYear","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","utcSunday","maybeTimeInterval","interval","Error","maybeUtcInterval","TypedArray","getPrototypeOf","Uint8Array","objectToString","constant","coerceNumbers","map","coerceNumber","Float64Array","coerceDates","coerceDate","isoParse","maybeColorChannel","defaultValue","trim","startsWith","endsWith","color","isColor","maybeNumberChannel","arrayify","option","isScaleOptions","maybeInterval","isInteger","abs","d","offset","range","lo","hi","rangei","maybeRangeInterval","isOrdinal","isTemporal","isTemporalString","isNumericString","isNoneish","isNone","orderof","first","last","descending","position","radius","opacity","registry","sqrt4_3","sqrt","symbolHexagon","draw","context","size","rx","PI","ry","hy","moveTo","lineTo","closePath","symbols","symbolAsterisk","symbolCircle","symbolCross","symbolDiamond","symbolDiamond2","symbolPlus","symbolSquare","symbolSquare2","symbolStar","symbolTimes","symbolTriangle","symbolTriangle2","symbolWye","maybeSymbol","isSymbolObject","warn","message","pi","tau","createProjection","projection","inset","globalInset","insetTop","insetRight","insetBottom","insetLeft","dimensions","stream","clip","scaleProjection","geoAlbersUsa","conicProjection","geoAlbers","geoAzimuthalEqualArea","geoAzimuthalEquidistant","geoConicConformal","geoConicEqualArea","geoConicEquidistant","geoEqualEarth","geoEquirectangular","geoGnomonic","identity","reflectY","geoMercator","geoOrthographic","geoStereographic","geoTransverseMercator","namedProjection","height","marginLeft","marginRight","marginTop","marginBottom","dx","dy","x1","y1","x2","y2","s","geoClipRectangle","maybePostClip","transform","tx","ty","x0","y0","geoPath","bounds","k","geoTransform","point","y","kx","ky","rotate","precision","clipAngle","scale","translate","aspectRatio","parallels","fitSize","createContext","className","create","select","creator","documentElement","ordinalSchemes","schemeAccent","schemeCategory10","schemeDark2","schemePaired","schemePastel1","schemePastel2","schemeSet1","schemeSet2","schemeSet3","schemeTableau10","scheme11","schemeBrBG","interpolateBrBG","schemePRGn","interpolatePRGn","schemePiYG","interpolatePiYG","schemePuOr","interpolatePuOr","schemeRdBu","interpolateRdBu","schemeRdGy","interpolateRdGy","schemeRdYlBu","interpolateRdYlBu","schemeRdYlGn","interpolateRdYlGn","schemeSpectral","interpolateSpectral","scheme11r","scheme9","schemeBlues","interpolateBlues","schemeGreens","interpolateGreens","schemeGreys","interpolateGreys","schemeOranges","interpolateOranges","schemePurples","interpolatePurples","schemeReds","interpolateReds","schemei","interpolateTurbo","interpolateViridis","interpolateMagma","interpolateInferno","interpolatePlasma","interpolateCividis","interpolateCubehelixDefault","interpolateWarm","interpolateCool","schemeBuGn","interpolateBuGn","schemeBuPu","interpolateBuPu","schemeGnBu","interpolateGnBu","schemeOrRd","interpolateOrRd","schemePuBu","interpolatePuBu","schemePuBuGn","interpolatePuBuGn","schemePuRd","interpolatePuRd","schemeRdPu","interpolateRdPu","schemeYlGn","interpolateYlGn","schemeYlGnBu","interpolateYlGnBu","schemeYlOrBr","interpolateYlOrBr","schemeYlOrRd","interpolateYlOrRd","schemeicyclical","interpolateRainbow","interpolateSinebow","scheme","interpolate","quantize","t","reverse","ordinalScheme","ordinalRange","quantitativeSchemes","quantitativeScheme","divergingSchemes","Set","isDivergingScheme","flip","unit","interpolators","interpolateNumber","interpolateRgb","interpolateHsl","interpolateHcl","interpolateLab","maybeInterpolator","createScaleQ","channels","nice","clamp","zero","inferAutoDomain","unknown","round","inferRadialRange","inferLengthRange","interpolateRound","_","interpolatePiecewise","extent","sign","reverseof","maybeNiceInterval","maybeNice","createScalePow","exponent","scalePow","createScaleThreshold","isOrdered","scaleThreshold","inferDomain","inferZeroDomain","hint","find","h25","quantile","h50","median","inferLogDomain","v","inferQuantileDomain","createScaleD","pivot","symmetric","piecewise","mid","mindelta","maxdelta","invert","interpolator","createScaleDivergingPow","scaleDivergingPow","transformSqrt","pow","transformPow","createScaleDivergingSymlog","scaleDivergingSymlog","log1p","expm1","transformSymlog","transformIdentity","transformLog","log","exp","createScaleT","ordinalImplicit","createScaleO","createScaleOrdinal","fill","inferHint","stroke","inferSymbolHint","symbolsStroke","symbolsFill","inferSymbolRange","maybeBooleanRange","t0","scaleImplicit","scaleOrdinal","maybeRound","InternSet","sort","candidate","normalizeScale","typeProjection","some","asOrdinalType","filter","inferScaleType","isOrdinalScale","formatScaleType","coerceType","coerceSymbols","scaleDiverging","createScaleDiverging","createScaleDivergingSqrt","base","scaleDivergingLog","createScaleDivergingLog","scaleLinear","createScaleLinear","createScaleSqrt","quantiles","scaleQuantile","createScaleQuantile","thresholds","ticks","splice","pop","createScaleQuantize","scaleLog","createScaleLog","scaleSymlog","createScaleSymlog","scaleUtc","createScaleUtc","scaleTime","createScaleTime","align","padding","scalePoint","createScalePoint","paddingInner","paddingOuter","scaleBand","createScaleBand","scaleIdentity","createScale","description","coerceValues","c","numberFormat","compute","cacheValue","cacheKeys","memoize1","locale","Intl","NumberFormat","formatIsoDate","isoFormat","impliedString","impliedValue","formatNumber","formatAuto","validClassName","maybeClassName","applyInlineStyles","selection","style","property","element","inferFontVariant","maybeScale","legendItems","swatch","columns","tickFormat","fontVariant","swatchSize","swatchWidth","swatchHeight","utcFormat","maybeAutoTickFormat","swatches","attr","extraStyle","selectAll","append","text","ownerDocument","div","insert","legendRegistry","fillOpacity","strokeOpacity","strokeWidth","vf","cf","vs","cs","sf","ss","p","path","legendColor","legend","rgb","interpolateOpacity","legendOptions","label","rest","o","defaults","inherit","isThresholdScale","legendSwatches","tickSize","svg","tickAdjust","g","applyRange","rangeRound","copy","Infinity","canvas","context2","getContext","fillStyle","fillRect","toDataURL","thresholdFormat","bandwidth","axisBottom","isArray","tickValues","remove","legendRamp","DEFAULT_SELECTOR","defaultOptions","enabled","itemSelector","Legend","calendar","_classCallCheck","root","shown","pluginOptions","scaleOptions","_this$options","destroy"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140]}
\ No newline at end of file
+{"version":3,"file":"Legend.min.js","sources":["../../node_modules/core-js/internals/fails.js","../../node_modules/core-js/internals/descriptors.js","../../node_modules/core-js/internals/function-bind-native.js","../../node_modules/core-js/internals/function-uncurry-this.js","../../node_modules/core-js/internals/is-null-or-undefined.js","../../node_modules/core-js/internals/require-object-coercible.js","../../node_modules/core-js/internals/to-object.js","../../node_modules/core-js/internals/has-own-property.js","../../node_modules/core-js/internals/function-name.js","../../node_modules/core-js/internals/document-all.js","../../node_modules/core-js/internals/is-callable.js","../../node_modules/core-js/internals/global.js","../../node_modules/core-js/internals/define-global-property.js","../../node_modules/core-js/internals/shared-store.js","../../node_modules/core-js/internals/inspect-source.js","../../node_modules/core-js/internals/engine-v8-version.js","../../node_modules/core-js/internals/weak-map-basic-detection.js","../../node_modules/core-js/internals/is-object.js","../../node_modules/core-js/internals/document-create-element.js","../../node_modules/core-js/internals/ie8-dom-define.js","../../node_modules/core-js/internals/v8-prototype-define-bug.js","../../node_modules/core-js/internals/an-object.js","../../node_modules/core-js/internals/function-call.js","../../node_modules/core-js/internals/get-built-in.js","../../node_modules/core-js/internals/object-is-prototype-of.js","../../node_modules/core-js/internals/engine-user-agent.js","../../node_modules/core-js/internals/symbol-constructor-detection.js","../../node_modules/core-js/internals/use-symbol-as-uid.js","../../node_modules/core-js/internals/is-symbol.js","../../node_modules/core-js/internals/try-to-string.js","../../node_modules/core-js/internals/a-callable.js","../../node_modules/core-js/internals/get-method.js","../../node_modules/core-js/internals/ordinary-to-primitive.js","../../node_modules/core-js/internals/shared.js","../../node_modules/core-js/internals/uid.js","../../node_modules/core-js/internals/well-known-symbol.js","../../node_modules/core-js/internals/to-primitive.js","../../node_modules/core-js/internals/to-property-key.js","../../node_modules/core-js/internals/object-define-property.js","../../node_modules/core-js/internals/create-property-descriptor.js","../../node_modules/core-js/internals/internal-state.js","../../node_modules/core-js/internals/create-non-enumerable-property.js","../../node_modules/core-js/internals/shared-key.js","../../node_modules/core-js/internals/hidden-keys.js","../../node_modules/core-js/internals/make-built-in.js","../../node_modules/core-js/internals/define-built-in-accessor.js","../../node_modules/core-js/modules/es.function.name.js","../../node_modules/core-js/internals/object-property-is-enumerable.js","../../node_modules/core-js/internals/classof-raw.js","../../node_modules/core-js/internals/indexed-object.js","../../node_modules/core-js/internals/to-indexed-object.js","../../node_modules/core-js/internals/object-get-own-property-descriptor.js","../../node_modules/core-js/internals/define-built-in.js","../../node_modules/core-js/internals/math-trunc.js","../../node_modules/core-js/internals/to-integer-or-infinity.js","../../node_modules/core-js/internals/to-absolute-index.js","../../node_modules/core-js/internals/to-length.js","../../node_modules/core-js/internals/length-of-array-like.js","../../node_modules/core-js/internals/array-includes.js","../../node_modules/core-js/internals/object-keys-internal.js","../../node_modules/core-js/internals/enum-bug-keys.js","../../node_modules/core-js/internals/object-get-own-property-names.js","../../node_modules/core-js/internals/object-get-own-property-symbols.js","../../node_modules/core-js/internals/own-keys.js","../../node_modules/core-js/internals/copy-constructor-properties.js","../../node_modules/core-js/internals/is-forced.js","../../node_modules/core-js/internals/export.js","../../node_modules/core-js/internals/object-keys.js","../../node_modules/core-js/internals/object-assign.js","../../node_modules/core-js/modules/es.object.assign.js","../../node_modules/core-js/internals/to-string-tag-support.js","../../node_modules/core-js/internals/classof.js","../../node_modules/core-js/internals/object-to-string.js","../../node_modules/core-js/modules/es.object.to-string.js","../../node_modules/core-js/internals/engine-is-node.js","../../node_modules/core-js/internals/function-uncurry-this-accessor.js","../../node_modules/core-js/internals/a-possible-prototype.js","../../node_modules/core-js/internals/object-set-prototype-of.js","../../node_modules/core-js/internals/set-to-string-tag.js","../../node_modules/core-js/internals/set-species.js","../../node_modules/core-js/internals/an-instance.js","../../node_modules/core-js/internals/is-constructor.js","../../node_modules/core-js/internals/task.js","../../node_modules/core-js/internals/a-constructor.js","../../node_modules/core-js/internals/species-constructor.js","../../node_modules/core-js/internals/function-apply.js","../../node_modules/core-js/internals/function-uncurry-this-clause.js","../../node_modules/core-js/internals/function-bind-context.js","../../node_modules/core-js/internals/html.js","../../node_modules/core-js/internals/array-slice.js","../../node_modules/core-js/internals/validate-arguments-length.js","../../node_modules/core-js/internals/engine-is-ios.js","../../node_modules/core-js/internals/queue.js","../../node_modules/core-js/internals/microtask.js","../../node_modules/core-js/internals/engine-is-ios-pebble.js","../../node_modules/core-js/internals/engine-is-webos-webkit.js","../../node_modules/core-js/internals/perform.js","../../node_modules/core-js/internals/promise-native-constructor.js","../../node_modules/core-js/internals/engine-is-deno.js","../../node_modules/core-js/internals/engine-is-browser.js","../../node_modules/core-js/internals/promise-constructor-detection.js","../../node_modules/core-js/internals/new-promise-capability.js","../../node_modules/core-js/modules/es.promise.constructor.js","../../node_modules/core-js/internals/host-report-errors.js","../../node_modules/core-js/internals/iterators.js","../../node_modules/core-js/internals/is-array-iterator-method.js","../../node_modules/core-js/internals/get-iterator-method.js","../../node_modules/core-js/internals/get-iterator.js","../../node_modules/core-js/internals/iterator-close.js","../../node_modules/core-js/internals/iterate.js","../../node_modules/core-js/internals/check-correctness-of-iteration.js","../../node_modules/core-js/internals/promise-statics-incorrect-iteration.js","../../node_modules/core-js/modules/es.promise.all.js","../../node_modules/core-js/modules/es.promise.catch.js","../../node_modules/core-js/modules/es.promise.race.js","../../node_modules/core-js/modules/es.promise.reject.js","../../node_modules/core-js/internals/promise-resolve.js","../../node_modules/core-js/modules/es.promise.resolve.js","../../node_modules/@observablehq/plot/src/defined.js","../../node_modules/isoformat/src/format.js","../../node_modules/isoformat/src/parse.js","../../node_modules/@observablehq/plot/src/time.js","../../node_modules/@observablehq/plot/src/options.js","../../node_modules/@observablehq/plot/src/scales/index.js","../../node_modules/@observablehq/plot/src/symbol.js","../../node_modules/@observablehq/plot/src/warnings.js","../../node_modules/@observablehq/plot/src/projection.js","../../node_modules/@observablehq/plot/src/context.js","../../node_modules/@observablehq/plot/src/scales/schemes.js","../../node_modules/@observablehq/plot/src/scales/quantitative.js","../../node_modules/@observablehq/plot/src/scales/diverging.js","../../node_modules/@observablehq/plot/src/scales/temporal.js","../../node_modules/@observablehq/plot/src/scales/ordinal.js","../../node_modules/@observablehq/plot/src/scales.js","../../node_modules/@observablehq/plot/src/format.js","../../node_modules/@observablehq/plot/src/memoize.js","../../node_modules/@observablehq/plot/src/style.js","../../node_modules/@observablehq/plot/src/axes.js","../../node_modules/@observablehq/plot/src/legends/swatches.js","../../node_modules/@observablehq/plot/src/legends.js","../../node_modules/@observablehq/plot/src/legends/ramp.js","../../../src/plugins/Legend.ts"],"sourcesContent":["'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","'use strict';\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.34.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.34.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FUNCTION_NAME_EXISTS = require('../internals/function-name').EXISTS;\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\n\nvar FunctionPrototype = Function.prototype;\nvar functionToString = uncurryThis(FunctionPrototype.toString);\nvar nameRE = /function\\b(?:\\s|\\/\\*[\\S\\s]*?\\*\\/|\\/\\/[^\\n\\r]*[\\n\\r]+)*([^\\s(/]*)/;\nvar regExpExec = uncurryThis(nameRE.exec);\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !FUNCTION_NAME_EXISTS) {\n defineBuiltInAccessor(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return regExpExec(nameRE, functionToString(this))[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol('assign detection');\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\nvar $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar global = require('../internals/global');\nvar classof = require('../internals/classof-raw');\n\nmodule.exports = classof(global.process) === 'process';\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineBuiltInAccessor(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar Dispatch = global.Dispatch;\nvar Function = global.Function;\nvar MessageChannel = global.MessageChannel;\nvar String = global.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar $location, defer, channel, port;\n\nfails(function () {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n $location = global.location;\n});\n\nvar run = function (id) {\n if (hasOwn(queue, id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar eventListener = function (event) {\n run(event.data);\n};\n\nvar globalPostMessageDefer = function (id) {\n // old engines have not location.origin\n global.postMessage(String(id), $location.protocol + '//' + $location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = eventListener;\n defer = bind(port.postMessage, port);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n isCallable(global.postMessage) &&\n !global.importScripts &&\n $location && $location.protocol !== 'file:' &&\n !fails(globalPostMessageDefer)\n ) {\n defer = globalPostMessageDefer;\n global.addEventListener('message', eventListener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","'use strict';\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw new $TypeError('Not enough arguments');\n return passed;\n};\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\n// eslint-disable-next-line redos/no-vulnerable -- safe\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","'use strict';\nvar Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n var tail = this.tail;\n if (tail) tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n var next = this.head = entry.next;\n if (next === null) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","'use strict';\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar Queue = require('../internals/queue');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/engine-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar microtask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\nvar notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!microtask) {\n var queue = new Queue();\n\n var flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (fn = queue.get()) try {\n fn();\n } catch (error) {\n if (queue.head) notify();\n throw error;\n }\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = bind(promise.then, promise);\n notify = function () {\n then(flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessage\n // - onreadystatechange\n // - setTimeout\n } else {\n // `webpack` dev server bug on IE global methods - use bind(fn, global)\n macrotask = bind(macrotask, global);\n notify = function () {\n macrotask(flush);\n };\n }\n\n microtask = function (fn) {\n if (!queue.head) notify();\n queue.add(fn);\n };\n}\n\nmodule.exports = microtask;\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined';\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict';\nvar global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","'use strict';\n/* global Deno -- Deno case */\nmodule.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object';\n","'use strict';\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nmodule.exports = !IS_DENO && !IS_NODE\n && typeof window == 'object'\n && typeof document == 'object';\n","'use strict';\nvar global = require('../internals/global');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {\n // Detect correctness of subclassing with @@species support\n var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n } return !GLOBAL_CORE_JS_PROMISE && (IS_BROWSER || IS_DENO) && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n SUBCLASSING: SUBCLASSING\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/engine-is-node');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state === FULFILLED;\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(new TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n call(then, result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw new TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n call(then, value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalPromiseState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n\n PromisePrototype = PromiseConstructor.prototype;\n\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: new Queue(),\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state === PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n });\n\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalPromiseState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!NATIVE_PROMISE_SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromisePrototype);\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","'use strict';\nmodule.exports = function (a, b) {\n try {\n // eslint-disable-next-line no-console -- safe\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n } catch (error) { /* empty */ }\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n try {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n } catch (error) { return false; } // workaround of old WebKit + `eval` bug\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","'use strict';\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call($promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['catch'];\n if (NativePromisePrototype['catch'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n reject: function reject(r) {\n var capability = newPromiseCapabilityModule.f(this);\n call(capability.reject, undefined, r);\n return capability.promise;\n }\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n","import {ascending, descending} from \"d3\";\n\nexport function defined(x) {\n return x != null && !Number.isNaN(x);\n}\n\nexport function ascendingDefined(a, b) {\n return +defined(b) - +defined(a) || ascending(a, b);\n}\n\nexport function descendingDefined(a, b) {\n return +defined(b) - +defined(a) || descending(a, b);\n}\n\nexport function nonempty(x) {\n return x != null && `${x}` !== \"\";\n}\n\nexport function finite(x) {\n return isFinite(x) ? x : NaN;\n}\n\nexport function positive(x) {\n return x > 0 && isFinite(x) ? x : NaN;\n}\n\nexport function negative(x) {\n return x < 0 && isFinite(x) ? x : NaN;\n}\n","export default function format(date, fallback) {\n if (!(date instanceof Date)) date = new Date(+date);\n if (isNaN(date)) return typeof fallback === \"function\" ? fallback(date) : fallback;\n const hours = date.getUTCHours();\n const minutes = date.getUTCMinutes();\n const seconds = date.getUTCSeconds();\n const milliseconds = date.getUTCMilliseconds();\n return `${formatYear(date.getUTCFullYear(), 4)}-${pad(date.getUTCMonth() + 1, 2)}-${pad(date.getUTCDate(), 2)}${\n hours || minutes || seconds || milliseconds ? `T${pad(hours, 2)}:${pad(minutes, 2)}${\n seconds || milliseconds ? `:${pad(seconds, 2)}${\n milliseconds ? `.${pad(milliseconds, 3)}` : ``\n }` : ``\n }Z` : ``\n }`;\n}\n\nfunction formatYear(year) {\n return year < 0 ? `-${pad(-year, 6)}`\n : year > 9999 ? `+${pad(year, 6)}`\n : pad(year, 4);\n}\n\nfunction pad(value, width) {\n return `${value}`.padStart(width, \"0\");\n}\n","const re = /^(?:[-+]\\d{2})?\\d{4}(?:-\\d{2}(?:-\\d{2})?)?(?:T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{3})?)?(?:Z|[-+]\\d{2}:?\\d{2})?)?$/;\n\nexport default function parse(string, fallback) {\n if (!re.test(string += \"\")) return typeof fallback === \"function\" ? fallback(string) : fallback;\n return new Date(string);\n}\n","import {utcSecond, utcMinute, utcHour, utcDay, utcWeek, utcMonth, utcYear} from \"d3\";\nimport {utcMonday, utcTuesday, utcWednesday, utcThursday, utcFriday, utcSaturday, utcSunday} from \"d3\";\nimport {timeSecond, timeMinute, timeHour, timeDay, timeWeek, timeMonth, timeYear} from \"d3\";\nimport {timeMonday, timeTuesday, timeWednesday, timeThursday, timeFriday, timeSaturday, timeSunday} from \"d3\";\n\nconst timeIntervals = new Map([\n [\"second\", timeSecond],\n [\"minute\", timeMinute],\n [\"hour\", timeHour],\n [\"day\", timeDay],\n [\"week\", timeWeek],\n [\"month\", timeMonth],\n [\"quarter\", timeMonth.every(3)],\n [\"half\", timeMonth.every(6)],\n [\"year\", timeYear],\n [\"monday\", timeMonday],\n [\"tuesday\", timeTuesday],\n [\"wednesday\", timeWednesday],\n [\"thursday\", timeThursday],\n [\"friday\", timeFriday],\n [\"saturday\", timeSaturday],\n [\"sunday\", timeSunday]\n]);\n\nconst utcIntervals = new Map([\n [\"second\", utcSecond],\n [\"minute\", utcMinute],\n [\"hour\", utcHour],\n [\"day\", utcDay],\n [\"week\", utcWeek],\n [\"month\", utcMonth],\n [\"quarter\", utcMonth.every(3)],\n [\"half\", utcMonth.every(6)],\n [\"year\", utcYear],\n [\"monday\", utcMonday],\n [\"tuesday\", utcTuesday],\n [\"wednesday\", utcWednesday],\n [\"thursday\", utcThursday],\n [\"friday\", utcFriday],\n [\"saturday\", utcSaturday],\n [\"sunday\", utcSunday]\n]);\n\nexport function maybeTimeInterval(interval) {\n const i = timeIntervals.get(`${interval}`.toLowerCase());\n if (!i) throw new Error(`unknown interval: ${interval}`);\n return i;\n}\n\nexport function maybeUtcInterval(interval) {\n const i = utcIntervals.get(`${interval}`.toLowerCase());\n if (!i) throw new Error(`unknown interval: ${interval}`);\n return i;\n}\n","import {parse as isoParse} from \"isoformat\";\nimport {color, descending, range as rangei, quantile} from \"d3\";\nimport {maybeTimeInterval, maybeUtcInterval} from \"./time.js\";\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray\nexport const TypedArray = Object.getPrototypeOf(Uint8Array);\nconst objectToString = Object.prototype.toString;\n\nexport function valueof(data, value, type) {\n const valueType = typeof value;\n return valueType === \"string\"\n ? maybeTypedMap(data, field(value), type)\n : valueType === \"function\"\n ? maybeTypedMap(data, value, type)\n : valueType === \"number\" || value instanceof Date || valueType === \"boolean\"\n ? map(data, constant(value), type)\n : typeof value?.transform === \"function\"\n ? maybeTypedArrayify(value.transform(data), type)\n : maybeTypedArrayify(value, type);\n}\n\nfunction maybeTypedMap(data, f, type) {\n return map(data, type?.prototype instanceof TypedArray ? floater(f) : f, type);\n}\n\nfunction maybeTypedArrayify(data, type) {\n return type === undefined\n ? arrayify(data) // preserve undefined type\n : data instanceof type\n ? data\n : type.prototype instanceof TypedArray && !(data instanceof TypedArray)\n ? type.from(data, coerceNumber)\n : type.from(data);\n}\n\nfunction floater(f) {\n return (d, i) => coerceNumber(f(d, i));\n}\n\nexport const field = (name) => (d) => d[name];\nexport const indexOf = {transform: range};\nexport const identity = {transform: (d) => d};\nexport const zero = () => 0;\nexport const one = () => 1;\nexport const yes = () => true;\nexport const string = (x) => (x == null ? x : `${x}`);\nexport const number = (x) => (x == null ? x : +x);\nexport const boolean = (x) => (x == null ? x : !!x);\nexport const first = (x) => (x ? x[0] : undefined);\nexport const second = (x) => (x ? x[1] : undefined);\nexport const third = (x) => (x ? x[2] : undefined);\nexport const constant = (x) => () => x;\n\n// Converts a string like “p25” into a function that takes an index I and an\n// accessor function f, returning the corresponding percentile value.\nexport function percentile(reduce) {\n const p = +`${reduce}`.slice(1) / 100;\n return (I, f) => quantile(I, p, f);\n}\n\n// If the values are specified as a typed array, no coercion is required.\nexport function coerceNumbers(values) {\n return values instanceof TypedArray ? values : map(values, coerceNumber, Float64Array);\n}\n\n// Unlike Mark’s number, here we want to convert null and undefined to NaN since\n// the result will be stored in a Float64Array and we don’t want null to be\n// coerced to zero. We use Number instead of unary + to allow BigInt coercion.\nfunction coerceNumber(x) {\n return x == null ? NaN : Number(x);\n}\n\nexport function coerceDates(values) {\n return map(values, coerceDate);\n}\n\n// When coercing strings to dates, we only want to allow the ISO 8601 format\n// since the built-in string parsing of the Date constructor varies across\n// browsers. (In the future, this could be made more liberal if desired, though\n// it is still generally preferable to do date parsing yourself explicitly,\n// rather than rely on Plot.) Any non-string values are coerced to number first\n// and treated as milliseconds since UNIX epoch.\nexport function coerceDate(x) {\n return x instanceof Date && !isNaN(x)\n ? x\n : typeof x === \"string\"\n ? isoParse(x)\n : x == null || isNaN((x = +x))\n ? undefined\n : new Date(x);\n}\n\n// Some channels may allow a string constant to be specified; to differentiate\n// string constants (e.g., \"red\") from named fields (e.g., \"date\"), this\n// function tests whether the given value is a CSS color string and returns a\n// tuple [channel, constant] where one of the two is undefined, and the other is\n// the given value. If you wish to reference a named field that is also a valid\n// CSS color, use an accessor (d => d.red) instead.\nexport function maybeColorChannel(value, defaultValue) {\n if (value === undefined) value = defaultValue;\n return value === null ? [undefined, \"none\"] : isColor(value) ? [undefined, value] : [value, undefined];\n}\n\n// Similar to maybeColorChannel, this tests whether the given value is a number\n// indicating a constant, and otherwise assumes that it’s a channel value.\nexport function maybeNumberChannel(value, defaultValue) {\n if (value === undefined) value = defaultValue;\n return value === null || typeof value === \"number\" ? [undefined, value] : [value, undefined];\n}\n\n// Validates the specified optional string against the allowed list of keywords.\nexport function maybeKeyword(input, name, allowed) {\n if (input != null) return keyword(input, name, allowed);\n}\n\n// Validates the specified required string against the allowed list of keywords.\nexport function keyword(input, name, allowed) {\n const i = `${input}`.toLowerCase();\n if (!allowed.includes(i)) throw new Error(`invalid ${name}: ${input}`);\n return i;\n}\n\n// Promotes the specified data to an array as needed.\nexport function arrayify(data) {\n return data == null || data instanceof Array || data instanceof TypedArray ? data : Array.from(data);\n}\n\n// An optimization of type.from(values, f): if the given values are already an\n// instanceof the desired array type, the faster values.map method is used.\nexport function map(values, f, type = Array) {\n return values == null ? values : values instanceof type ? values.map(f) : type.from(values, f);\n}\n\n// An optimization of type.from(values): if the given values are already an\n// instanceof the desired array type, the faster values.slice method is used.\nexport function slice(values, type = Array) {\n return values instanceof type ? values.slice() : type.from(values);\n}\n\n// Disambiguates an options object (e.g., {y: \"x2\"}) from a primitive value.\nexport function isObject(option) {\n return option?.toString === objectToString;\n}\n\n// Disambiguates a scale options object (e.g., {color: {type: \"linear\"}}) from\n// some other option (e.g., {color: \"red\"}). When creating standalone legends,\n// this is used to test whether a scale is defined; this should be consistent\n// with inferScaleType when there are no channels associated with the scale, and\n// if this returns true, then normalizeScale must return non-null.\nexport function isScaleOptions(option) {\n return isObject(option) && (option.type !== undefined || option.domain !== undefined);\n}\n\n// Disambiguates an options object (e.g., {y: \"x2\"}) from a channel value\n// definition expressed as a channel transform (e.g., {transform: …}).\nexport function isOptions(option) {\n return isObject(option) && typeof option.transform !== \"function\";\n}\n\n// Disambiguates a sort transform (e.g., {sort: \"date\"}) from a channel domain\n// sort definition (e.g., {sort: {y: \"x\"}}).\nexport function isDomainSort(sort) {\n return isOptions(sort) && sort.value === undefined && sort.channel === undefined;\n}\n\n// For marks specified either as [0, x] or [x1, x2], such as areas and bars.\nexport function maybeZero(x, x1, x2, x3 = identity) {\n if (x1 === undefined && x2 === undefined) {\n // {x} or {}\n (x1 = 0), (x2 = x === undefined ? x3 : x);\n } else if (x1 === undefined) {\n // {x, x2} or {x2}\n x1 = x === undefined ? 0 : x;\n } else if (x2 === undefined) {\n // {x, x1} or {x1}\n x2 = x === undefined ? 0 : x;\n }\n return [x1, x2];\n}\n\n// For marks that have x and y channels (e.g., cell, dot, line, text).\nexport function maybeTuple(x, y) {\n return x === undefined && y === undefined ? [first, second] : [x, y];\n}\n\n// A helper for extracting the z channel, if it is variable. Used by transforms\n// that require series, such as moving average and normalize.\nexport function maybeZ({z, fill, stroke} = {}) {\n if (z === undefined) [z] = maybeColorChannel(fill);\n if (z === undefined) [z] = maybeColorChannel(stroke);\n return z;\n}\n\n// Returns a Uint32Array with elements [0, 1, 2, … data.length - 1].\nexport function range(data) {\n const n = data.length;\n const r = new Uint32Array(n);\n for (let i = 0; i < n; ++i) r[i] = i;\n return r;\n}\n\n// Returns a filtered range of data given the test function.\nexport function where(data, test) {\n return range(data).filter((i) => test(data[i], i, data));\n}\n\n// Returns an array [values[index[0]], values[index[1]], …].\nexport function take(values, index) {\n return map(index, (i) => values[i]);\n}\n\n// Based on InternMap (d3.group).\nexport function keyof(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n}\n\nexport function maybeInput(key, options) {\n if (options[key] !== undefined) return options[key];\n switch (key) {\n case \"x1\":\n case \"x2\":\n key = \"x\";\n break;\n case \"y1\":\n case \"y2\":\n key = \"y\";\n break;\n }\n return options[key];\n}\n\nexport function column(source) {\n // Defines a column whose values are lazily populated by calling the returned\n // setter. If the given source is labeled, the label is propagated to the\n // returned column definition.\n let value;\n return [\n {\n transform: () => value,\n label: labelof(source)\n },\n (v) => (value = v)\n ];\n}\n\n// Like column, but allows the source to be null.\nexport function maybeColumn(source) {\n return source == null ? [source] : column(source);\n}\n\nexport function labelof(value, defaultValue) {\n return typeof value === \"string\" ? value : value && value.label !== undefined ? value.label : defaultValue;\n}\n\n// Assuming that both x1 and x2 and lazy columns (per above), this derives a new\n// a column that’s the average of the two, and which inherits the column label\n// (if any). Both input columns are assumed to be quantitative. If either column\n// is temporal, the returned column is also temporal.\nexport function mid(x1, x2) {\n return {\n transform(data) {\n const X1 = x1.transform(data);\n const X2 = x2.transform(data);\n return isTemporal(X1) || isTemporal(X2)\n ? map(X1, (_, i) => new Date((+X1[i] + +X2[i]) / 2))\n : map(X1, (_, i) => (+X1[i] + +X2[i]) / 2, Float64Array);\n },\n label: x1.label\n };\n}\n\n// If interval is not nullish, converts interval shorthand such as a number (for\n// multiples) or a time interval name (such as “day”) to a {floor, offset,\n// range} object similar to a D3 time interval.\nexport function maybeInterval(interval, type) {\n if (interval == null) return;\n if (typeof interval === \"number\") {\n if (0 < interval && interval < 1 && Number.isInteger(1 / interval)) interval = -1 / interval;\n const n = Math.abs(interval);\n return interval < 0\n ? {\n floor: (d) => Math.floor(d * n) / n,\n offset: (d) => (d * n + 1) / n, // note: no optional step for simplicity\n range: (lo, hi) => rangei(Math.ceil(lo * n), hi * n).map((x) => x / n)\n }\n : {\n floor: (d) => Math.floor(d / n) * n,\n offset: (d) => d + n, // note: no optional step for simplicity\n range: (lo, hi) => rangei(Math.ceil(lo / n), hi / n).map((x) => x * n)\n };\n }\n if (typeof interval === \"string\") return (type === \"time\" ? maybeTimeInterval : maybeUtcInterval)(interval);\n if (typeof interval.floor !== \"function\") throw new Error(\"invalid interval; missing floor method\");\n if (typeof interval.offset !== \"function\") throw new Error(\"invalid interval; missing offset method\");\n return interval;\n}\n\n// Like maybeInterval, but requires a range method too.\nexport function maybeRangeInterval(interval, type) {\n interval = maybeInterval(interval, type);\n if (interval && typeof interval.range !== \"function\") throw new Error(\"invalid interval: missing range method\");\n return interval;\n}\n\n// Like maybeRangeInterval, but requires a ceil method too.\nexport function maybeNiceInterval(interval, type) {\n interval = maybeRangeInterval(interval, type);\n if (interval && typeof interval.ceil !== \"function\") throw new Error(\"invalid interval: missing ceil method\");\n return interval;\n}\n\n// This distinguishes between per-dimension options and a standalone value.\nexport function maybeValue(value) {\n return value === undefined || isOptions(value) ? value : {value};\n}\n\n// Coerces the given channel values (if any) to numbers. This is useful when\n// values will be interpolated into other code, such as an SVG transform, and\n// where we don’t wish to allow unexpected behavior for weird input.\nexport function numberChannel(source) {\n return source == null\n ? null\n : {\n transform: (data) => valueof(data, source, Float64Array),\n label: labelof(source)\n };\n}\n\nexport function isTuples(data) {\n if (!isIterable(data)) return false;\n for (const d of data) {\n if (d == null) continue;\n return typeof d === \"object\" && \"0\" in d && \"1\" in d;\n }\n}\n\nexport function isIterable(value) {\n return value && typeof value[Symbol.iterator] === \"function\";\n}\n\nexport function isTextual(values) {\n for (const value of values) {\n if (value == null) continue;\n return typeof value !== \"object\" || value instanceof Date;\n }\n}\n\nexport function isOrdinal(values) {\n for (const value of values) {\n if (value == null) continue;\n const type = typeof value;\n return type === \"string\" || type === \"boolean\";\n }\n}\n\nexport function isTemporal(values) {\n for (const value of values) {\n if (value == null) continue;\n return value instanceof Date;\n }\n}\n\n// Are these strings that might represent dates? This is stricter than ISO 8601\n// because we want to ignore false positives on numbers; for example, the string\n// \"1192\" is more likely to represent a number than a date even though it is\n// valid ISO 8601 representing 1192-01-01.\nexport function isTemporalString(values) {\n for (const value of values) {\n if (value == null) continue;\n return typeof value === \"string\" && isNaN(value) && isoParse(value);\n }\n}\n\n// Are these strings that might represent numbers? This is stricter than\n// coercion because we want to ignore false positives on e.g. empty strings.\nexport function isNumericString(values) {\n for (const value of values) {\n if (value == null) continue;\n if (typeof value !== \"string\") return false;\n if (!value.trim()) continue;\n return !isNaN(value);\n }\n}\n\nexport function isNumeric(values) {\n for (const value of values) {\n if (value == null) continue;\n return typeof value === \"number\";\n }\n}\n\n// Returns true if every non-null value in the specified iterable of values\n// passes the specified predicate, and there is at least one non-null value;\n// returns false if at least one non-null value does not pass the specified\n// predicate; otherwise returns undefined (as if all values are null).\nexport function isEvery(values, is) {\n let every;\n for (const value of values) {\n if (value == null) continue;\n if (!is(value)) return false;\n every = true;\n }\n return every;\n}\n\n// Mostly relies on d3-color, with a few extra color keywords. Currently this\n// strictly requires that the value be a string; we might want to apply string\n// coercion here, though note that d3-color instances would need to support\n// valueOf to work correctly with InternMap.\n// https://www.w3.org/TR/SVG11/painting.html#SpecifyingPaint\nexport function isColor(value) {\n if (typeof value !== \"string\") return false;\n value = value.toLowerCase().trim();\n return (\n value === \"none\" ||\n value === \"currentcolor\" ||\n (value.startsWith(\"url(\") && value.endsWith(\")\")) || // , e.g. pattern or gradient\n (value.startsWith(\"var(\") && value.endsWith(\")\")) || // CSS variable\n color(value) !== null\n );\n}\n\nexport function isOpacity(value) {\n return typeof value === \"number\" && ((0 <= value && value <= 1) || isNaN(value));\n}\n\nexport function isNoneish(value) {\n return value == null || isNone(value);\n}\n\nexport function isNone(value) {\n return /^\\s*none\\s*$/i.test(value);\n}\n\nexport function isRound(value) {\n return /^\\s*round\\s*$/i.test(value);\n}\n\nexport function maybeFrameAnchor(value = \"middle\") {\n return keyword(value, \"frameAnchor\", [\n \"middle\",\n \"top-left\",\n \"top\",\n \"top-right\",\n \"right\",\n \"bottom-right\",\n \"bottom\",\n \"bottom-left\",\n \"left\"\n ]);\n}\n\n// Like a sort comparator, returns a positive value if the given array of values\n// is in ascending order, a negative value if the values are in descending\n// order. Assumes monotonicity; only tests the first and last values.\nexport function orderof(values) {\n if (values == null) return;\n const first = values[0];\n const last = values[values.length - 1];\n return descending(first, last);\n}\n\n// Unlike {...defaults, ...options}, this ensures that any undefined (but\n// present) properties in options inherit the given default value.\nexport function inherit(options = {}, ...rest) {\n let o = options;\n for (const defaults of rest) {\n for (const key in defaults) {\n if (o[key] === undefined) {\n const value = defaults[key];\n if (o === options) o = {...o, [key]: value};\n else o[key] = value;\n }\n }\n }\n return o;\n}\n\n// Given an iterable of named things (objects with a name property), returns a\n// corresponding object with properties associated with the given name.\nexport function named(things) {\n console.warn(\"named iterables are deprecated; please use an object instead\");\n const names = new Set();\n return Object.fromEntries(\n Array.from(things, (thing) => {\n const {name} = thing;\n if (name == null) throw new Error(\"missing name\");\n const key = `${name}`;\n if (key === \"__proto__\") throw new Error(`illegal name: ${key}`);\n if (names.has(key)) throw new Error(`duplicate name: ${key}`);\n names.add(key);\n return [name, thing];\n })\n );\n}\n\nexport function maybeNamed(things) {\n return isIterable(things) ? named(things) : things;\n}\n","// Positional scales have associated axes, and for ordinal data, a point or band\n// scale is used instead of an ordinal scale.\nexport const position = Symbol(\"position\");\n\n// Color scales default to the turbo interpolator for quantitative data, and to\n// the Tableau10 scheme for ordinal data. Color scales may also have an\n// associated legend.\nexport const color = Symbol(\"color\");\n\n// Radius scales default to the sqrt type, have a default range of [0, 3], and a\n// default domain from 0 to the median first quartile of associated channels.\nexport const radius = Symbol(\"radius\");\n\n// Length scales default to the linear type, have a default range of [0, 12],\n// and a default domain from 0 to the median median of associated channels.\nexport const length = Symbol(\"length\");\n\n// Opacity scales have a default range of [0, 1], and a default domain from 0 to\n// the maximum value of associated channels.\nexport const opacity = Symbol(\"opacity\");\n\n// Symbol scales have a default range of categorical symbols.\nexport const symbol = Symbol(\"symbol\");\n\n// TODO Rather than hard-coding the list of known scale names, collect the names\n// and categories for each plot specification, so that custom marks can register\n// custom scales.\nexport const registry = new Map([\n [\"x\", position],\n [\"y\", position],\n [\"fx\", position],\n [\"fy\", position],\n [\"r\", radius],\n [\"color\", color],\n [\"opacity\", opacity],\n [\"symbol\", symbol],\n [\"length\", length]\n]);\n","import {symbolAsterisk, symbolDiamond2, symbolPlus, symbolSquare2, symbolTriangle2, symbolTimes} from \"d3\";\nimport {symbolCircle, symbolCross, symbolDiamond, symbolSquare, symbolStar, symbolTriangle, symbolWye} from \"d3\";\n\nexport const sqrt3 = Math.sqrt(3);\nexport const sqrt4_3 = 2 / sqrt3;\n\nconst symbolHexagon = {\n draw(context, size) {\n const rx = Math.sqrt(size / Math.PI),\n ry = rx * sqrt4_3,\n hy = ry / 2;\n context.moveTo(0, ry);\n context.lineTo(rx, hy);\n context.lineTo(rx, -hy);\n context.lineTo(0, -ry);\n context.lineTo(-rx, -hy);\n context.lineTo(-rx, hy);\n context.closePath();\n }\n};\n\nconst symbols = new Map([\n [\"asterisk\", symbolAsterisk],\n [\"circle\", symbolCircle],\n [\"cross\", symbolCross],\n [\"diamond\", symbolDiamond],\n [\"diamond2\", symbolDiamond2],\n [\"hexagon\", symbolHexagon],\n [\"plus\", symbolPlus],\n [\"square\", symbolSquare],\n [\"square2\", symbolSquare2],\n [\"star\", symbolStar],\n [\"times\", symbolTimes],\n [\"triangle\", symbolTriangle],\n [\"triangle2\", symbolTriangle2],\n [\"wye\", symbolWye]\n]);\n\nfunction isSymbolObject(value) {\n return value && typeof value.draw === \"function\";\n}\n\nexport function isSymbol(value) {\n if (isSymbolObject(value)) return true;\n if (typeof value !== \"string\") return false;\n return symbols.has(value.toLowerCase());\n}\n\nexport function maybeSymbol(symbol) {\n if (symbol == null || isSymbolObject(symbol)) return symbol;\n const value = symbols.get(`${symbol}`.toLowerCase());\n if (value) return value;\n throw new Error(`invalid symbol: ${symbol}`);\n}\n\nexport function maybeSymbolChannel(symbol) {\n if (symbol == null || isSymbolObject(symbol)) return [undefined, symbol];\n if (typeof symbol === \"string\") {\n const value = symbols.get(`${symbol}`.toLowerCase());\n if (value) return [undefined, value];\n }\n return [symbol, undefined];\n}\n","let warnings = 0;\n\nexport function consumeWarnings() {\n const w = warnings;\n warnings = 0;\n return w;\n}\n\nexport function warn(message) {\n console.warn(message);\n ++warnings;\n}\n","import {\n geoAlbers,\n geoAlbersUsa,\n geoAzimuthalEqualArea,\n geoAzimuthalEquidistant,\n geoClipRectangle,\n geoConicConformal,\n geoConicEqualArea,\n geoConicEquidistant,\n geoEqualEarth,\n geoEquirectangular,\n geoGnomonic,\n geoMercator,\n geoOrthographic,\n geoPath,\n geoStereographic,\n geoTransform,\n geoTransverseMercator\n} from \"d3\";\nimport {valueObject} from \"./channel.js\";\nimport {coerceNumbers, constant, isObject} from \"./options.js\";\nimport {warn} from \"./warnings.js\";\n\nconst pi = Math.PI;\nconst tau = 2 * pi;\nconst defaultAspectRatio = 0.618;\n\nexport function createProjection(\n {\n projection,\n inset: globalInset = 0,\n insetTop = globalInset,\n insetRight = globalInset,\n insetBottom = globalInset,\n insetLeft = globalInset\n } = {},\n dimensions\n) {\n if (projection == null) return;\n if (typeof projection.stream === \"function\") return projection; // d3 projection\n let options;\n let domain;\n let clip = \"frame\";\n\n // If the projection was specified as an object with additional options,\n // extract those. The order of precedence for insetTop (and other insets) is:\n // projection.insetTop, projection.inset, (global) insetTop, (global) inset.\n // Any other options on this object will be passed through to the initializer.\n if (isObject(projection)) {\n let inset;\n ({\n type: projection,\n domain,\n inset,\n insetTop = inset !== undefined ? inset : insetTop,\n insetRight = inset !== undefined ? inset : insetRight,\n insetBottom = inset !== undefined ? inset : insetBottom,\n insetLeft = inset !== undefined ? inset : insetLeft,\n clip = clip,\n ...options\n } = projection);\n if (projection == null) return;\n }\n\n // For named projections, retrieve the corresponding projection initializer.\n if (typeof projection !== \"function\") ({type: projection} = namedProjection(projection));\n\n // Compute the frame dimensions and invoke the projection initializer.\n const {width, height, marginLeft, marginRight, marginTop, marginBottom} = dimensions;\n const dx = width - marginLeft - marginRight - insetLeft - insetRight;\n const dy = height - marginTop - marginBottom - insetTop - insetBottom;\n projection = projection?.({width: dx, height: dy, clip, ...options});\n\n // The projection initializer might decide to not use a projection.\n if (projection == null) return;\n clip = maybePostClip(clip, marginLeft, marginTop, width - marginRight, height - marginBottom);\n\n // Translate the origin to the top-left corner, respecting margins and insets.\n let tx = marginLeft + insetLeft;\n let ty = marginTop + insetTop;\n let transform;\n\n // If a domain is specified, fit the projection to the frame.\n if (domain != null) {\n const [[x0, y0], [x1, y1]] = geoPath(projection).bounds(domain);\n const k = Math.min(dx / (x1 - x0), dy / (y1 - y0));\n if (k > 0) {\n tx -= (k * (x0 + x1) - dx) / 2;\n ty -= (k * (y0 + y1) - dy) / 2;\n transform = geoTransform({\n point(x, y) {\n this.stream.point(x * k + tx, y * k + ty);\n }\n });\n } else {\n warn(`Warning: the projection could not be fit to the specified domain; using the default scale.`);\n }\n }\n\n transform ??=\n tx === 0 && ty === 0\n ? identity()\n : geoTransform({\n point(x, y) {\n this.stream.point(x + tx, y + ty);\n }\n });\n\n return {stream: (s) => projection.stream(transform.stream(clip(s)))};\n}\n\nfunction namedProjection(projection) {\n switch (`${projection}`.toLowerCase()) {\n case \"albers-usa\":\n return scaleProjection(geoAlbersUsa, 0.7463, 0.4673);\n case \"albers\":\n return conicProjection(geoAlbers, 0.7463, 0.4673);\n case \"azimuthal-equal-area\":\n return scaleProjection(geoAzimuthalEqualArea, 4, 4);\n case \"azimuthal-equidistant\":\n return scaleProjection(geoAzimuthalEquidistant, tau, tau);\n case \"conic-conformal\":\n return conicProjection(geoConicConformal, tau, tau);\n case \"conic-equal-area\":\n return conicProjection(geoConicEqualArea, 6.1702, 2.9781);\n case \"conic-equidistant\":\n return conicProjection(geoConicEquidistant, 7.312, 3.6282);\n case \"equal-earth\":\n return scaleProjection(geoEqualEarth, 5.4133, 2.6347);\n case \"equirectangular\":\n return scaleProjection(geoEquirectangular, tau, pi);\n case \"gnomonic\":\n return scaleProjection(geoGnomonic, 3.4641, 3.4641);\n case \"identity\":\n return {type: identity};\n case \"reflect-y\":\n return {type: reflectY};\n case \"mercator\":\n return scaleProjection(geoMercator, tau, tau);\n case \"orthographic\":\n return scaleProjection(geoOrthographic, 2, 2);\n case \"stereographic\":\n return scaleProjection(geoStereographic, 2, 2);\n case \"transverse-mercator\":\n return scaleProjection(geoTransverseMercator, tau, tau);\n default:\n throw new Error(`unknown projection type: ${projection}`);\n }\n}\n\nfunction maybePostClip(clip, x1, y1, x2, y2) {\n if (clip === false || clip == null || typeof clip === \"number\") return (s) => s;\n if (clip === true) clip = \"frame\";\n switch (`${clip}`.toLowerCase()) {\n case \"frame\":\n return geoClipRectangle(x1, y1, x2, y2);\n default:\n throw new Error(`unknown projection clip type: ${clip}`);\n }\n}\n\nfunction scaleProjection(createProjection, kx, ky) {\n return {\n type: ({width, height, rotate, precision = 0.15, clip}) => {\n const projection = createProjection();\n if (precision != null) projection.precision?.(precision);\n if (rotate != null) projection.rotate?.(rotate);\n if (typeof clip === \"number\") projection.clipAngle?.(clip);\n projection.scale(Math.min(width / kx, height / ky));\n projection.translate([width / 2, height / 2]);\n return projection;\n },\n aspectRatio: ky / kx\n };\n}\n\nfunction conicProjection(createProjection, kx, ky) {\n const {type, aspectRatio} = scaleProjection(createProjection, kx, ky);\n return {\n type: (options) => {\n const {parallels, domain, width, height} = options;\n const projection = type(options);\n if (parallels != null) {\n projection.parallels(parallels);\n if (domain === undefined) {\n projection.fitSize([width, height], {type: \"Sphere\"});\n }\n }\n return projection;\n },\n aspectRatio\n };\n}\n\nconst identity = constant({stream: (stream) => stream});\n\nconst reflectY = constant(\n geoTransform({\n point(x, y) {\n this.stream.point(x, -y);\n }\n })\n);\n\n// Applies a point-wise projection to the given paired x and y channels.\n// Note: mutates values!\nexport function maybeProject(cx, cy, channels, values, context) {\n const x = channels[cx] && channels[cx].scale === \"x\";\n const y = channels[cy] && channels[cy].scale === \"y\";\n if (x && y) {\n project(cx, cy, values, context.projection);\n } else if (x) {\n throw new Error(`projection requires paired x and y channels; ${cx} is missing ${cy}`);\n } else if (y) {\n throw new Error(`projection requires paired x and y channels; ${cy} is missing ${cx}`);\n }\n}\n\nfunction project(cx, cy, values, projection) {\n const x = values[cx];\n const y = values[cy];\n const n = x.length;\n const X = (values[cx] = new Float64Array(n).fill(NaN));\n const Y = (values[cy] = new Float64Array(n).fill(NaN));\n let i;\n const stream = projection.stream({\n point(x, y) {\n X[i] = x;\n Y[i] = y;\n }\n });\n for (i = 0; i < n; ++i) {\n stream.point(x[i], y[i]);\n }\n}\n\n// When a named projection is specified, we can use its natural aspect ratio to\n// determine a good value for the projection’s height based on the desired\n// width. When we don’t have a way to know, the golden ratio is our best guess.\n// Due to a circular dependency (we need to know the height before we can\n// construct the projection), we have to test the raw projection option rather\n// than the materialized projection; therefore we must be extremely careful that\n// the logic of this function exactly matches Projection above!\nexport function projectionAspectRatio(projection, marks) {\n if (typeof projection?.stream === \"function\") return defaultAspectRatio;\n if (isObject(projection)) projection = projection.type;\n if (projection == null) return hasGeometry(marks) ? defaultAspectRatio : undefined;\n if (typeof projection !== \"function\") {\n const {aspectRatio} = namedProjection(projection);\n if (aspectRatio) return aspectRatio;\n }\n return defaultAspectRatio;\n}\n\n// Extract the (possibly) scaled values for the x and y channels, and apply the\n// projection if any.\nexport function applyPosition(channels, scales, context) {\n const {x, y} = channels;\n let position = {};\n if (x) position.x = x;\n if (y) position.y = y;\n position = valueObject(position, scales);\n if (context.projection) maybeProject(\"x\", \"y\", channels, position, context);\n if (x) position.x = coerceNumbers(position.x);\n if (y) position.y = coerceNumbers(position.y);\n return position;\n}\n\nfunction hasGeometry(marks) {\n for (const mark of marks) if (mark.channels.geometry) return true;\n return false;\n}\n","import {creator, select} from \"d3\";\nimport {createProjection} from \"./projection.js\";\n\nexport function createContext(options = {}, dimensions, className) {\n const {document = typeof window !== \"undefined\" ? window.document : undefined} = options;\n return {document, className, projection: createProjection(options, dimensions)};\n}\n\nexport function create(name, {document}) {\n return select(creator(name).call(document.documentElement));\n}\n","import {\n interpolateBlues,\n interpolateBrBG,\n interpolateBuGn,\n interpolateBuPu,\n interpolateGnBu,\n interpolateGreens,\n interpolateGreys,\n interpolateOranges,\n interpolateOrRd,\n interpolatePiYG,\n interpolatePRGn,\n interpolatePuBu,\n interpolatePuBuGn,\n interpolatePuOr,\n interpolatePuRd,\n interpolatePurples,\n interpolateRdBu,\n interpolateRdGy,\n interpolateRdPu,\n interpolateRdYlBu,\n interpolateRdYlGn,\n interpolateReds,\n interpolateSpectral,\n interpolateYlGn,\n interpolateYlGnBu,\n interpolateYlOrBr,\n interpolateYlOrRd,\n interpolateTurbo,\n interpolateViridis,\n interpolateMagma,\n interpolateInferno,\n interpolatePlasma,\n interpolateCividis,\n interpolateCubehelixDefault,\n interpolateWarm,\n interpolateCool,\n interpolateRainbow,\n interpolateSinebow,\n quantize,\n schemeAccent,\n schemeBlues,\n schemeBrBG,\n schemeBuGn,\n schemeBuPu,\n schemeCategory10,\n schemeDark2,\n schemeGnBu,\n schemeGreens,\n schemeGreys,\n schemeOranges,\n schemeOrRd,\n schemePaired,\n schemePastel1,\n schemePastel2,\n schemePiYG,\n schemePRGn,\n schemePuBu,\n schemePuBuGn,\n schemePuOr,\n schemePuRd,\n schemePurples,\n schemeRdBu,\n schemeRdGy,\n schemeRdPu,\n schemeRdYlBu,\n schemeRdYlGn,\n schemeReds,\n schemeSet1,\n schemeSet2,\n schemeSet3,\n schemeSpectral,\n schemeTableau10,\n schemeYlGn,\n schemeYlGnBu,\n schemeYlOrBr,\n schemeYlOrRd\n} from \"d3\";\n\nconst ordinalSchemes = new Map([\n // categorical\n [\"accent\", schemeAccent],\n [\"category10\", schemeCategory10],\n [\"dark2\", schemeDark2],\n [\"paired\", schemePaired],\n [\"pastel1\", schemePastel1],\n [\"pastel2\", schemePastel2],\n [\"set1\", schemeSet1],\n [\"set2\", schemeSet2],\n [\"set3\", schemeSet3],\n [\"tableau10\", schemeTableau10],\n\n // diverging\n [\"brbg\", scheme11(schemeBrBG, interpolateBrBG)],\n [\"prgn\", scheme11(schemePRGn, interpolatePRGn)],\n [\"piyg\", scheme11(schemePiYG, interpolatePiYG)],\n [\"puor\", scheme11(schemePuOr, interpolatePuOr)],\n [\"rdbu\", scheme11(schemeRdBu, interpolateRdBu)],\n [\"rdgy\", scheme11(schemeRdGy, interpolateRdGy)],\n [\"rdylbu\", scheme11(schemeRdYlBu, interpolateRdYlBu)],\n [\"rdylgn\", scheme11(schemeRdYlGn, interpolateRdYlGn)],\n [\"spectral\", scheme11(schemeSpectral, interpolateSpectral)],\n\n // reversed diverging (for temperature data)\n [\"burd\", scheme11r(schemeRdBu, interpolateRdBu)],\n [\"buylrd\", scheme11r(schemeRdYlBu, interpolateRdYlBu)],\n\n // sequential (single-hue)\n [\"blues\", scheme9(schemeBlues, interpolateBlues)],\n [\"greens\", scheme9(schemeGreens, interpolateGreens)],\n [\"greys\", scheme9(schemeGreys, interpolateGreys)],\n [\"oranges\", scheme9(schemeOranges, interpolateOranges)],\n [\"purples\", scheme9(schemePurples, interpolatePurples)],\n [\"reds\", scheme9(schemeReds, interpolateReds)],\n\n // sequential (multi-hue)\n [\"turbo\", schemei(interpolateTurbo)],\n [\"viridis\", schemei(interpolateViridis)],\n [\"magma\", schemei(interpolateMagma)],\n [\"inferno\", schemei(interpolateInferno)],\n [\"plasma\", schemei(interpolatePlasma)],\n [\"cividis\", schemei(interpolateCividis)],\n [\"cubehelix\", schemei(interpolateCubehelixDefault)],\n [\"warm\", schemei(interpolateWarm)],\n [\"cool\", schemei(interpolateCool)],\n [\"bugn\", scheme9(schemeBuGn, interpolateBuGn)],\n [\"bupu\", scheme9(schemeBuPu, interpolateBuPu)],\n [\"gnbu\", scheme9(schemeGnBu, interpolateGnBu)],\n [\"orrd\", scheme9(schemeOrRd, interpolateOrRd)],\n [\"pubu\", scheme9(schemePuBu, interpolatePuBu)],\n [\"pubugn\", scheme9(schemePuBuGn, interpolatePuBuGn)],\n [\"purd\", scheme9(schemePuRd, interpolatePuRd)],\n [\"rdpu\", scheme9(schemeRdPu, interpolateRdPu)],\n [\"ylgn\", scheme9(schemeYlGn, interpolateYlGn)],\n [\"ylgnbu\", scheme9(schemeYlGnBu, interpolateYlGnBu)],\n [\"ylorbr\", scheme9(schemeYlOrBr, interpolateYlOrBr)],\n [\"ylorrd\", scheme9(schemeYlOrRd, interpolateYlOrRd)],\n\n // cyclical\n [\"rainbow\", schemeicyclical(interpolateRainbow)],\n [\"sinebow\", schemeicyclical(interpolateSinebow)]\n]);\n\nfunction scheme9(scheme, interpolate) {\n return ({length: n}) => {\n if (n === 1) return [scheme[3][1]]; // favor midpoint\n if (n === 2) return [scheme[3][1], scheme[3][2]]; // favor darker\n n = Math.max(3, Math.floor(n));\n return n > 9 ? quantize(interpolate, n) : scheme[n];\n };\n}\n\nfunction scheme11(scheme, interpolate) {\n return ({length: n}) => {\n if (n === 2) return [scheme[3][0], scheme[3][2]]; // favor diverging extrema\n n = Math.max(3, Math.floor(n));\n return n > 11 ? quantize(interpolate, n) : scheme[n];\n };\n}\n\nfunction scheme11r(scheme, interpolate) {\n return ({length: n}) => {\n if (n === 2) return [scheme[3][2], scheme[3][0]]; // favor diverging extrema\n n = Math.max(3, Math.floor(n));\n return n > 11 ? quantize((t) => interpolate(1 - t), n) : scheme[n].slice().reverse();\n };\n}\n\nfunction schemei(interpolate) {\n return ({length: n}) => quantize(interpolate, Math.max(2, Math.floor(n)));\n}\n\nfunction schemeicyclical(interpolate) {\n return ({length: n}) => quantize(interpolate, Math.floor(n) + 1).slice(0, -1);\n}\n\nexport function ordinalScheme(scheme) {\n const s = `${scheme}`.toLowerCase();\n if (!ordinalSchemes.has(s)) throw new Error(`unknown ordinal scheme: ${s}`);\n return ordinalSchemes.get(s);\n}\n\nexport function ordinalRange(scheme, length) {\n const s = ordinalScheme(scheme);\n const r = typeof s === \"function\" ? s({length}) : s;\n return r.length !== length ? r.slice(0, length) : r;\n}\n\n// If the specified domain contains only booleans (ignoring null and undefined),\n// returns a corresponding range where false is mapped to the low color and true\n// is mapped to the high color of the specified scheme.\nexport function maybeBooleanRange(domain, scheme = \"greys\") {\n const range = new Set();\n const [f, t] = ordinalRange(scheme, 2);\n for (const value of domain) {\n if (value == null) continue;\n if (value === true) range.add(t);\n else if (value === false) range.add(f);\n else return;\n }\n return [...range];\n}\n\nconst quantitativeSchemes = new Map([\n // diverging\n [\"brbg\", interpolateBrBG],\n [\"prgn\", interpolatePRGn],\n [\"piyg\", interpolatePiYG],\n [\"puor\", interpolatePuOr],\n [\"rdbu\", interpolateRdBu],\n [\"rdgy\", interpolateRdGy],\n [\"rdylbu\", interpolateRdYlBu],\n [\"rdylgn\", interpolateRdYlGn],\n [\"spectral\", interpolateSpectral],\n\n // reversed diverging (for temperature data)\n [\"burd\", (t) => interpolateRdBu(1 - t)],\n [\"buylrd\", (t) => interpolateRdYlBu(1 - t)],\n\n // sequential (single-hue)\n [\"blues\", interpolateBlues],\n [\"greens\", interpolateGreens],\n [\"greys\", interpolateGreys],\n [\"purples\", interpolatePurples],\n [\"reds\", interpolateReds],\n [\"oranges\", interpolateOranges],\n\n // sequential (multi-hue)\n [\"turbo\", interpolateTurbo],\n [\"viridis\", interpolateViridis],\n [\"magma\", interpolateMagma],\n [\"inferno\", interpolateInferno],\n [\"plasma\", interpolatePlasma],\n [\"cividis\", interpolateCividis],\n [\"cubehelix\", interpolateCubehelixDefault],\n [\"warm\", interpolateWarm],\n [\"cool\", interpolateCool],\n [\"bugn\", interpolateBuGn],\n [\"bupu\", interpolateBuPu],\n [\"gnbu\", interpolateGnBu],\n [\"orrd\", interpolateOrRd],\n [\"pubugn\", interpolatePuBuGn],\n [\"pubu\", interpolatePuBu],\n [\"purd\", interpolatePuRd],\n [\"rdpu\", interpolateRdPu],\n [\"ylgnbu\", interpolateYlGnBu],\n [\"ylgn\", interpolateYlGn],\n [\"ylorbr\", interpolateYlOrBr],\n [\"ylorrd\", interpolateYlOrRd],\n\n // cyclical\n [\"rainbow\", interpolateRainbow],\n [\"sinebow\", interpolateSinebow]\n]);\n\nexport function quantitativeScheme(scheme) {\n const s = `${scheme}`.toLowerCase();\n if (!quantitativeSchemes.has(s)) throw new Error(`unknown quantitative scheme: ${s}`);\n return quantitativeSchemes.get(s);\n}\n\nconst divergingSchemes = new Set([\n \"brbg\",\n \"prgn\",\n \"piyg\",\n \"puor\",\n \"rdbu\",\n \"rdgy\",\n \"rdylbu\",\n \"rdylgn\",\n \"spectral\",\n \"burd\",\n \"buylrd\"\n]);\n\nexport function isDivergingScheme(scheme) {\n return scheme != null && divergingSchemes.has(`${scheme}`.toLowerCase());\n}\n","import {\n descending,\n extent,\n interpolateHcl,\n interpolateHsl,\n interpolateLab,\n interpolateNumber,\n interpolateRgb,\n interpolateRound,\n min,\n max,\n median,\n quantile,\n quantize,\n reverse as reverseof,\n scaleLinear,\n scaleLog,\n scalePow,\n scaleQuantile,\n scaleSymlog,\n scaleThreshold,\n scaleIdentity,\n ticks\n} from \"d3\";\nimport {positive, negative, finite} from \"../defined.js\";\nimport {arrayify, constant, orderof, slice, maybeNiceInterval, maybeRangeInterval} from \"../options.js\";\nimport {ordinalRange, quantitativeScheme} from \"./schemes.js\";\nimport {registry, radius, opacity, color, length} from \"./index.js\";\n\nexport const flip = (i) => (t) => i(1 - t);\nconst unit = [0, 1];\n\nconst interpolators = new Map([\n // numbers\n [\"number\", interpolateNumber],\n\n // color spaces\n [\"rgb\", interpolateRgb],\n [\"hsl\", interpolateHsl],\n [\"hcl\", interpolateHcl],\n [\"lab\", interpolateLab]\n]);\n\nexport function maybeInterpolator(interpolate) {\n const i = `${interpolate}`.toLowerCase();\n if (!interpolators.has(i)) throw new Error(`unknown interpolator: ${i}`);\n return interpolators.get(i);\n}\n\nexport function createScaleQ(\n key,\n scale,\n channels,\n {\n type,\n nice,\n clamp,\n zero,\n domain = inferAutoDomain(key, channels),\n unknown,\n round,\n scheme,\n interval,\n range = registry.get(key) === radius\n ? inferRadialRange(channels, domain)\n : registry.get(key) === length\n ? inferLengthRange(channels, domain)\n : registry.get(key) === opacity\n ? unit\n : undefined,\n interpolate = registry.get(key) === color\n ? scheme == null && range !== undefined\n ? interpolateRgb\n : quantitativeScheme(scheme !== undefined ? scheme : type === \"cyclical\" ? \"rainbow\" : \"turbo\")\n : round\n ? interpolateRound\n : interpolateNumber,\n reverse\n }\n) {\n interval = maybeRangeInterval(interval, type);\n if (type === \"cyclical\" || type === \"sequential\") type = \"linear\"; // shorthand for color schemes\n reverse = !!reverse;\n\n // Sometimes interpolate is a named interpolator, such as \"lab\" for Lab color\n // space. Other times interpolate is a function that takes two arguments and\n // is used in conjunction with the range. And other times the interpolate\n // function is a “fixed” interpolator on the [0, 1] interval, as when a\n // color scheme such as interpolateRdBu is used.\n if (typeof interpolate !== \"function\") {\n interpolate = maybeInterpolator(interpolate);\n }\n if (interpolate.length === 1) {\n if (reverse) {\n interpolate = flip(interpolate);\n reverse = false;\n }\n if (range === undefined) {\n range = Float64Array.from(domain, (_, i) => i / (domain.length - 1));\n if (range.length === 2) range = unit; // optimize common case of [0, 1]\n }\n scale.interpolate((range === unit ? constant : interpolatePiecewise)(interpolate));\n } else {\n scale.interpolate(interpolate);\n }\n\n // If a zero option is specified, we assume that the domain is numeric, and we\n // want to ensure that the domain crosses zero. However, note that the domain\n // may be reversed (descending) so we shouldn’t assume that the first value is\n // smaller than the last; and also it’s possible that the domain has more than\n // two values for a “poly” scale. And lastly be careful not to mutate input!\n if (zero) {\n const [min, max] = extent(domain);\n if (min > 0 || max < 0) {\n domain = slice(domain);\n if (orderof(domain) !== Math.sign(min)) domain[domain.length - 1] = 0;\n // [2, 1] or [-2, -1]\n else domain[0] = 0; // [1, 2] or [-1, -2]\n }\n }\n\n if (reverse) domain = reverseof(domain);\n scale.domain(domain).unknown(unknown);\n if (nice) scale.nice(maybeNice(nice, type)), (domain = scale.domain());\n if (range !== undefined) scale.range(range);\n if (clamp) scale.clamp(clamp);\n return {type, domain, range, scale, interpolate, interval};\n}\n\nfunction maybeNice(nice, type) {\n return nice === true ? undefined : typeof nice === \"number\" ? nice : maybeNiceInterval(nice, type);\n}\n\nexport function createScaleLinear(key, channels, options) {\n return createScaleQ(key, scaleLinear(), channels, options);\n}\n\nexport function createScaleSqrt(key, channels, options) {\n return createScalePow(key, channels, {...options, exponent: 0.5});\n}\n\nexport function createScalePow(key, channels, {exponent = 1, ...options}) {\n return createScaleQ(key, scalePow().exponent(exponent), channels, {...options, type: \"pow\"});\n}\n\nexport function createScaleLog(key, channels, {base = 10, domain = inferLogDomain(channels), ...options}) {\n return createScaleQ(key, scaleLog().base(base), channels, {...options, domain});\n}\n\nexport function createScaleSymlog(key, channels, {constant = 1, ...options}) {\n return createScaleQ(key, scaleSymlog().constant(constant), channels, options);\n}\n\nexport function createScaleQuantile(\n key,\n channels,\n {\n range,\n quantiles = range === undefined ? 5 : (range = [...range]).length, // deprecated; use n instead\n n = quantiles,\n scheme = \"rdylbu\",\n domain = inferQuantileDomain(channels),\n unknown,\n interpolate,\n reverse\n }\n) {\n if (range === undefined) {\n range =\n interpolate !== undefined\n ? quantize(interpolate, n)\n : registry.get(key) === color\n ? ordinalRange(scheme, n)\n : undefined;\n }\n if (domain.length > 0) {\n domain = scaleQuantile(domain, range === undefined ? {length: n} : range).quantiles();\n }\n return createScaleThreshold(key, channels, {domain, range, reverse, unknown});\n}\n\nexport function createScaleQuantize(\n key,\n channels,\n {\n range,\n n = range === undefined ? 5 : (range = [...range]).length,\n scheme = \"rdylbu\",\n domain = inferAutoDomain(key, channels),\n unknown,\n interpolate,\n reverse\n }\n) {\n const [min, max] = extent(domain);\n let thresholds;\n if (range === undefined) {\n thresholds = ticks(min, max, n); // approximate number of nice, round thresholds\n if (thresholds[0] <= min) thresholds.splice(0, 1); // drop exact lower bound\n if (thresholds[thresholds.length - 1] >= max) thresholds.pop(); // drop exact upper bound\n n = thresholds.length + 1;\n range =\n interpolate !== undefined\n ? quantize(interpolate, n)\n : registry.get(key) === color\n ? ordinalRange(scheme, n)\n : undefined;\n } else {\n thresholds = quantize(interpolateNumber(min, max), n + 1).slice(1, -1); // exactly n - 1 thresholds to match range\n if (min instanceof Date) thresholds = thresholds.map((x) => new Date(x)); // preserve date types\n }\n if (orderof(arrayify(domain)) < 0) thresholds.reverse(); // preserve descending domain\n return createScaleThreshold(key, channels, {domain: thresholds, range, reverse, unknown});\n}\n\nexport function createScaleThreshold(\n key,\n channels,\n {\n domain = [0], // explicit thresholds in ascending order\n unknown,\n scheme = \"rdylbu\",\n interpolate,\n range = interpolate !== undefined\n ? quantize(interpolate, domain.length + 1)\n : registry.get(key) === color\n ? ordinalRange(scheme, domain.length + 1)\n : undefined,\n reverse\n }\n) {\n domain = arrayify(domain);\n const sign = orderof(domain); // preserve descending domain\n if (!isNaN(sign) && !isOrdered(domain, sign)) throw new Error(`the ${key} scale has a non-monotonic domain`);\n if (reverse) range = reverseof(range); // domain ascending, so reverse range\n return {\n type: \"threshold\",\n scale: scaleThreshold(sign < 0 ? reverseof(domain) : domain, range === undefined ? [] : range).unknown(unknown),\n domain,\n range\n };\n}\n\nfunction isOrdered(domain, sign) {\n for (let i = 1, n = domain.length, d = domain[0]; i < n; ++i) {\n const s = descending(d, (d = domain[i]));\n if (s !== 0 && s !== sign) return false;\n }\n return true;\n}\n\nexport function createScaleIdentity() {\n return {type: \"identity\", scale: scaleIdentity()};\n}\n\nexport function inferDomain(channels, f = finite) {\n return channels.length\n ? [\n min(channels, ({value}) => (value === undefined ? value : min(value, f))),\n max(channels, ({value}) => (value === undefined ? value : max(value, f)))\n ]\n : [0, 1];\n}\n\nfunction inferAutoDomain(key, channels) {\n const type = registry.get(key);\n return (type === radius || type === opacity || type === length ? inferZeroDomain : inferDomain)(channels);\n}\n\nfunction inferZeroDomain(channels) {\n return [0, channels.length ? max(channels, ({value}) => (value === undefined ? value : max(value, finite))) : 1];\n}\n\n// We don’t want the upper bound of the radial domain to be zero, as this would\n// be degenerate, so we ignore nonpositive values. We also don’t want the\n// maximum default radius to exceed 30px.\nfunction inferRadialRange(channels, domain) {\n const hint = channels.find(({radius}) => radius !== undefined);\n if (hint !== undefined) return [0, hint.radius]; // a natural maximum radius, e.g. hexbins\n const h25 = quantile(channels, 0.5, ({value}) => (value === undefined ? NaN : quantile(value, 0.25, positive)));\n const range = domain.map((d) => 3 * Math.sqrt(d / h25));\n const k = 30 / max(range);\n return k < 1 ? range.map((r) => r * k) : range;\n}\n\n// We want a length scale’s domain to go from zero to a positive value, and to\n// treat negative lengths if any as inverted vectors of equivalent magnitude. We\n// also don’t want the maximum default length to exceed 60px.\nfunction inferLengthRange(channels, domain) {\n const h50 = median(channels, ({value}) => (value === undefined ? NaN : median(value, Math.abs)));\n const range = domain.map((d) => (12 * d) / h50);\n const k = 60 / max(range);\n return k < 1 ? range.map((r) => r * k) : range;\n}\n\nfunction inferLogDomain(channels) {\n for (const {value} of channels) {\n if (value !== undefined) {\n for (let v of value) {\n if (v > 0) return inferDomain(channels, positive);\n if (v < 0) return inferDomain(channels, negative);\n }\n }\n }\n return [1, 10];\n}\n\nfunction inferQuantileDomain(channels) {\n const domain = [];\n for (const {value} of channels) {\n if (value === undefined) continue;\n for (const v of value) domain.push(v);\n }\n return domain;\n}\n\nexport function interpolatePiecewise(interpolate) {\n return (i, j) => (t) => interpolate(i + t * (j - i));\n}\n","import {\n descending,\n interpolateNumber,\n interpolateRgb,\n piecewise,\n scaleDiverging,\n scaleDivergingLog,\n scaleDivergingPow,\n scaleDivergingSymlog\n} from \"d3\";\nimport {positive, negative} from \"../defined.js\";\nimport {quantitativeScheme} from \"./schemes.js\";\nimport {registry, color} from \"./index.js\";\nimport {inferDomain, maybeInterpolator, flip, interpolatePiecewise} from \"./quantitative.js\";\n\nfunction createScaleD(\n key,\n scale,\n transform,\n channels,\n {\n type,\n nice,\n clamp,\n domain = inferDomain(channels),\n unknown,\n pivot = 0,\n scheme,\n range,\n symmetric = true,\n interpolate = registry.get(key) === color\n ? scheme == null && range !== undefined\n ? interpolateRgb\n : quantitativeScheme(scheme !== undefined ? scheme : \"rdbu\")\n : interpolateNumber,\n reverse\n }\n) {\n pivot = +pivot;\n let [min, max] = domain;\n if (descending(min, max) < 0) ([min, max] = [max, min]), (reverse = !reverse);\n min = Math.min(min, pivot);\n max = Math.max(max, pivot);\n\n // Sometimes interpolate is a named interpolator, such as \"lab\" for Lab color\n // space. Other times interpolate is a function that takes two arguments and\n // is used in conjunction with the range. And other times the interpolate\n // function is a “fixed” interpolator on the [0, 1] interval, as when a\n // color scheme such as interpolateRdBu is used.\n if (typeof interpolate !== \"function\") {\n interpolate = maybeInterpolator(interpolate);\n }\n\n // If an explicit range is specified, promote it to a piecewise interpolator.\n if (range !== undefined) {\n interpolate =\n interpolate.length === 1 ? interpolatePiecewise(interpolate)(...range) : piecewise(interpolate, range);\n }\n\n // Reverse before normalization.\n if (reverse) interpolate = flip(interpolate);\n\n // Normalize the interpolator for symmetric difference around the pivot.\n if (symmetric) {\n const mid = transform.apply(pivot);\n const mindelta = mid - transform.apply(min);\n const maxdelta = transform.apply(max) - mid;\n if (mindelta < maxdelta) min = transform.invert(mid - maxdelta);\n else if (mindelta > maxdelta) max = transform.invert(mid + mindelta);\n }\n\n scale.domain([min, pivot, max]).unknown(unknown).interpolator(interpolate);\n if (clamp) scale.clamp(clamp);\n if (nice) scale.nice(nice);\n return {type, domain: [min, max], pivot, interpolate, scale};\n}\n\nexport function createScaleDiverging(key, channels, options) {\n return createScaleD(key, scaleDiverging(), transformIdentity, channels, options);\n}\n\nexport function createScaleDivergingSqrt(key, channels, options) {\n return createScaleDivergingPow(key, channels, {...options, exponent: 0.5});\n}\n\nexport function createScaleDivergingPow(key, channels, {exponent = 1, ...options}) {\n return createScaleD(key, scaleDivergingPow().exponent((exponent = +exponent)), transformPow(exponent), channels, {\n ...options,\n type: \"diverging-pow\"\n });\n}\n\nexport function createScaleDivergingLog(\n key,\n channels,\n {base = 10, pivot = 1, domain = inferDomain(channels, pivot < 0 ? negative : positive), ...options}\n) {\n return createScaleD(key, scaleDivergingLog().base((base = +base)), transformLog, channels, {\n domain,\n pivot,\n ...options\n });\n}\n\nexport function createScaleDivergingSymlog(key, channels, {constant = 1, ...options}) {\n return createScaleD(\n key,\n scaleDivergingSymlog().constant((constant = +constant)),\n transformSymlog(constant),\n channels,\n options\n );\n}\n\nconst transformIdentity = {\n apply(x) {\n return x;\n },\n invert(x) {\n return x;\n }\n};\n\nconst transformLog = {\n apply: Math.log,\n invert: Math.exp\n};\n\nconst transformSqrt = {\n apply(x) {\n return Math.sign(x) * Math.sqrt(Math.abs(x));\n },\n invert(x) {\n return Math.sign(x) * (x * x);\n }\n};\n\nfunction transformPow(exponent) {\n return exponent === 0.5\n ? transformSqrt\n : {\n apply(x) {\n return Math.sign(x) * Math.pow(Math.abs(x), exponent);\n },\n invert(x) {\n return Math.sign(x) * Math.pow(Math.abs(x), 1 / exponent);\n }\n };\n}\n\nfunction transformSymlog(constant) {\n return {\n apply(x) {\n return Math.sign(x) * Math.log1p(Math.abs(x / constant));\n },\n invert(x) {\n return Math.sign(x) * Math.expm1(Math.abs(x)) * constant;\n }\n };\n}\n","import {scaleTime, scaleUtc} from \"d3\";\nimport {createScaleQ} from \"./quantitative.js\";\n\nfunction createScaleT(key, scale, channels, options) {\n return createScaleQ(key, scale, channels, options);\n}\n\nexport function createScaleTime(key, channels, options) {\n return createScaleT(key, scaleTime(), channels, options);\n}\n\nexport function createScaleUtc(key, channels, options) {\n return createScaleT(key, scaleUtc(), channels, options);\n}\n","import {InternSet, extent, quantize, reverse as reverseof, sort, symbolsFill, symbolsStroke} from \"d3\";\nimport {scaleBand, scaleOrdinal, scalePoint, scaleImplicit} from \"d3\";\nimport {ascendingDefined} from \"../defined.js\";\nimport {isNoneish, map, maybeRangeInterval} from \"../options.js\";\nimport {maybeSymbol} from \"../symbol.js\";\nimport {registry, color, position, symbol} from \"./index.js\";\nimport {maybeBooleanRange, ordinalScheme, quantitativeScheme} from \"./schemes.js\";\n\n// This denotes an implicitly ordinal color scale: the scale type was not set,\n// but the associated values are strings or booleans. If the associated defined\n// values are entirely boolean, the range will default to greys. You can opt out\n// of this by setting the type explicitly.\nexport const ordinalImplicit = Symbol(\"ordinal\");\n\nfunction createScaleO(key, scale, channels, {type, interval, domain, range, reverse, hint}) {\n interval = maybeRangeInterval(interval, type);\n if (domain === undefined) domain = inferDomain(channels, interval, key);\n if (type === \"categorical\" || type === ordinalImplicit) type = \"ordinal\"; // shorthand for color schemes\n if (reverse) domain = reverseof(domain);\n scale.domain(domain);\n if (range !== undefined) {\n // If the range is specified as a function, pass it the domain.\n if (typeof range === \"function\") range = range(domain);\n scale.range(range);\n }\n return {type, domain, range, scale, hint, interval};\n}\n\nexport function createScaleOrdinal(key, channels, {type, interval, domain, range, scheme, unknown, ...options}) {\n interval = maybeRangeInterval(interval, type);\n if (domain === undefined) domain = inferDomain(channels, interval, key);\n let hint;\n if (registry.get(key) === symbol) {\n hint = inferSymbolHint(channels);\n range = range === undefined ? inferSymbolRange(hint) : map(range, maybeSymbol);\n } else if (registry.get(key) === color) {\n if (range === undefined && (type === \"ordinal\" || type === ordinalImplicit)) {\n range = maybeBooleanRange(domain, scheme);\n if (range !== undefined) scheme = undefined; // Don’t re-apply scheme.\n }\n if (scheme === undefined && range === undefined) {\n scheme = type === \"ordinal\" ? \"turbo\" : \"tableau10\";\n }\n if (scheme !== undefined) {\n if (range !== undefined) {\n const interpolate = quantitativeScheme(scheme);\n const t0 = range[0],\n d = range[1] - range[0];\n range = ({length: n}) => quantize((t) => interpolate(t0 + d * t), n);\n } else {\n range = ordinalScheme(scheme);\n }\n }\n }\n if (unknown === scaleImplicit) {\n throw new Error(`implicit unknown on ${key} scale is not supported`);\n }\n return createScaleO(key, scaleOrdinal().unknown(unknown), channels, {...options, type, domain, range, hint});\n}\n\nexport function createScalePoint(key, channels, {align = 0.5, padding = 0.5, ...options}) {\n return maybeRound(scalePoint().align(align).padding(padding), channels, options, key);\n}\n\nexport function createScaleBand(\n key,\n channels,\n {\n align = 0.5,\n padding = 0.1,\n paddingInner = padding,\n paddingOuter = key === \"fx\" || key === \"fy\" ? 0 : padding,\n ...options\n }\n) {\n return maybeRound(\n scaleBand().align(align).paddingInner(paddingInner).paddingOuter(paddingOuter),\n channels,\n options,\n key\n );\n}\n\nfunction maybeRound(scale, channels, options, key) {\n let {round} = options;\n if (round !== undefined) scale.round((round = !!round));\n scale = createScaleO(key, scale, channels, options);\n scale.round = round; // preserve for autoScaleRound\n return scale;\n}\n\nfunction inferDomain(channels, interval, key) {\n const values = new InternSet();\n for (const {value, domain} of channels) {\n if (domain !== undefined) return domain(); // see channelDomain\n if (value === undefined) continue;\n for (const v of value) values.add(v);\n }\n if (interval !== undefined) {\n const [min, max] = extent(values).map(interval.floor, interval);\n return interval.range(min, interval.offset(max));\n }\n if (values.size > 10e3 && registry.get(key) === position) {\n throw new Error(`implicit ordinal domain of ${key} scale has more than 10,000 values`);\n }\n return sort(values, ascendingDefined);\n}\n\n// If all channels provide a consistent hint, propagate it to the scale.\nfunction inferHint(channels, key) {\n let value;\n for (const {hint} of channels) {\n const candidate = hint?.[key];\n if (candidate === undefined) continue; // no hint here\n if (value === undefined) value = candidate;\n // first hint\n else if (value !== candidate) return; // inconsistent hint\n }\n return value;\n}\n\nfunction inferSymbolHint(channels) {\n return {\n fill: inferHint(channels, \"fill\"),\n stroke: inferHint(channels, \"stroke\")\n };\n}\n\nfunction inferSymbolRange(hint) {\n return isNoneish(hint.fill) ? symbolsStroke : symbolsFill;\n}\n","import {\n isOrdinal,\n isTemporal,\n isTemporalString,\n isNumericString,\n isScaleOptions,\n map,\n slice,\n coerceNumbers,\n coerceDates\n} from \"./options.js\";\nimport {registry, color, position, radius, opacity, symbol, length} from \"./scales/index.js\";\nimport {\n createScaleLinear,\n createScaleSqrt,\n createScalePow,\n createScaleLog,\n createScaleSymlog,\n createScaleQuantile,\n createScaleQuantize,\n createScaleThreshold,\n createScaleIdentity\n} from \"./scales/quantitative.js\";\nimport {\n createScaleDiverging,\n createScaleDivergingSqrt,\n createScaleDivergingPow,\n createScaleDivergingLog,\n createScaleDivergingSymlog\n} from \"./scales/diverging.js\";\nimport {isDivergingScheme} from \"./scales/schemes.js\";\nimport {createScaleTime, createScaleUtc} from \"./scales/temporal.js\";\nimport {createScaleOrdinal, createScalePoint, createScaleBand, ordinalImplicit} from \"./scales/ordinal.js\";\nimport {maybeSymbol} from \"./symbol.js\";\nimport {warn} from \"./warnings.js\";\n\nexport function createScales(\n channelsByScale,\n {\n label: globalLabel,\n inset: globalInset = 0,\n insetTop: globalInsetTop = globalInset,\n insetRight: globalInsetRight = globalInset,\n insetBottom: globalInsetBottom = globalInset,\n insetLeft: globalInsetLeft = globalInset,\n round,\n nice,\n clamp,\n zero,\n align,\n padding,\n projection,\n facet: {label: facetLabel = globalLabel} = {},\n ...options\n } = {}\n) {\n const scales = {};\n for (const [key, channels] of channelsByScale) {\n const scaleOptions = options[key];\n const scale = createScale(key, channels, {\n round: registry.get(key) === position ? round : undefined, // only for position\n nice,\n clamp,\n zero,\n align,\n padding,\n projection,\n ...scaleOptions\n });\n if (scale) {\n // populate generic scale options (percent, transform, insets)\n let {\n label = key === \"fx\" || key === \"fy\" ? facetLabel : globalLabel,\n percent,\n transform,\n inset,\n insetTop = inset !== undefined ? inset : key === \"y\" ? globalInsetTop : 0, // not fy\n insetRight = inset !== undefined ? inset : key === \"x\" ? globalInsetRight : 0, // not fx\n insetBottom = inset !== undefined ? inset : key === \"y\" ? globalInsetBottom : 0, // not fy\n insetLeft = inset !== undefined ? inset : key === \"x\" ? globalInsetLeft : 0 // not fx\n } = scaleOptions || {};\n if (transform == null) transform = undefined;\n else if (typeof transform !== \"function\") throw new Error(\"invalid scale transform; not a function\");\n scale.percent = !!percent;\n scale.label = label === undefined ? inferScaleLabel(channels, scale) : label;\n scale.transform = transform;\n if (key === \"x\" || key === \"fx\") {\n scale.insetLeft = +insetLeft;\n scale.insetRight = +insetRight;\n } else if (key === \"y\" || key === \"fy\") {\n scale.insetTop = +insetTop;\n scale.insetBottom = +insetBottom;\n }\n scales[key] = scale;\n }\n }\n return scales;\n}\n\nexport function createScaleFunctions(scales) {\n return Object.fromEntries(\n Object.entries(scales)\n .filter(([, {scale}]) => scale) // drop identity scales\n .map(([name, {scale, type, interval, label}]) => {\n scale.type = type; // for axis\n if (interval != null) scale.interval = interval; // for axis\n if (label != null) scale.label = label; // for axis\n return [name, scale];\n })\n );\n}\n\n// Mutates scale.range!\nexport function autoScaleRange(scales, dimensions) {\n const {x, y, fx, fy} = scales;\n const superdimensions = fx || fy ? outerDimensions(dimensions) : dimensions;\n if (fx) autoScaleRangeX(fx, superdimensions);\n if (fy) autoScaleRangeY(fy, superdimensions);\n const subdimensions = fx || fy ? innerDimensions(scales, dimensions) : dimensions;\n if (x) autoScaleRangeX(x, subdimensions);\n if (y) autoScaleRangeY(y, subdimensions);\n}\n\n// Channels can have labels; if all the channels for a given scale are\n// consistently labeled (i.e., have the same value if not undefined), and the\n// corresponding scale doesn’t already have an explicit label, then the\n// channels’ label is promoted to the scale. This inferred label should have an\n// orientation-appropriate arrow added when used as an axis, but we don’t want\n// to add the arrow when the label is set explicitly as an option; so, the\n// inferred label is distinguished as an object with an “inferred” property.\nfunction inferScaleLabel(channels = [], scale) {\n let label;\n for (const {label: l} of channels) {\n if (l === undefined) continue;\n if (label === undefined) label = l;\n else if (label !== l) return;\n }\n if (label === undefined) return;\n // Ignore the implicit label for temporal scales if it’s simply “date”.\n if (isTemporalScale(scale) && /^(date|time|year)$/i.test(label)) return;\n if (!isOrdinalScale(scale) && scale.percent) label = `${label} (%)`;\n return {inferred: true, toString: () => label};\n}\n\n// Returns the dimensions of the outer frame; this is subdivided into facets\n// with the margins of each facet collapsing into the outer margins.\nexport function outerDimensions(dimensions) {\n const {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n width,\n height,\n facet: {\n marginTop: facetMarginTop,\n marginRight: facetMarginRight,\n marginBottom: facetMarginBottom,\n marginLeft: facetMarginLeft\n }\n } = dimensions;\n return {\n marginTop: Math.max(marginTop, facetMarginTop),\n marginRight: Math.max(marginRight, facetMarginRight),\n marginBottom: Math.max(marginBottom, facetMarginBottom),\n marginLeft: Math.max(marginLeft, facetMarginLeft),\n width,\n height\n };\n}\n\n// Returns the dimensions of each facet.\nexport function innerDimensions({fx, fy}, dimensions) {\n const {marginTop, marginRight, marginBottom, marginLeft, width, height} = outerDimensions(dimensions);\n return {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n width: fx ? fx.scale.bandwidth() + marginLeft + marginRight : width,\n height: fy ? fy.scale.bandwidth() + marginTop + marginBottom : height\n };\n}\n\nfunction autoScaleRangeX(scale, dimensions) {\n if (scale.range === undefined) {\n const {insetLeft, insetRight} = scale;\n const {width, marginLeft = 0, marginRight = 0} = dimensions;\n const left = marginLeft + insetLeft;\n const right = width - marginRight - insetRight;\n scale.range = [left, Math.max(left, right)];\n if (!isOrdinalScale(scale)) scale.range = piecewiseRange(scale);\n scale.scale.range(scale.range);\n }\n autoScaleRound(scale);\n}\n\nfunction autoScaleRangeY(scale, dimensions) {\n if (scale.range === undefined) {\n const {insetTop, insetBottom} = scale;\n const {height, marginTop = 0, marginBottom = 0} = dimensions;\n const top = marginTop + insetTop;\n const bottom = height - marginBottom - insetBottom;\n scale.range = [Math.max(top, bottom), top];\n if (!isOrdinalScale(scale)) scale.range = piecewiseRange(scale);\n else scale.range.reverse();\n scale.scale.range(scale.range);\n }\n autoScaleRound(scale);\n}\n\nfunction autoScaleRound(scale) {\n if (scale.round === undefined && isBandScale(scale) && roundError(scale) <= 30) {\n scale.scale.round(true);\n }\n}\n\n// If we were to turn on rounding for this band or point scale, how much wasted\n// space would it introduce (on both ends of the range)? This must match\n// d3.scaleBand’s rounding behavior:\n// https://github.com/d3/d3-scale/blob/83555bd759c7314420bd4240642beda5e258db9e/src/band.js#L20-L32\nfunction roundError({scale}) {\n const n = scale.domain().length;\n const [start, stop] = scale.range();\n const paddingInner = scale.paddingInner ? scale.paddingInner() : 1;\n const paddingOuter = scale.paddingOuter ? scale.paddingOuter() : scale.padding();\n const m = n - paddingInner;\n const step = Math.abs(stop - start) / Math.max(1, m + paddingOuter * 2);\n return (step - Math.floor(step)) * m;\n}\n\nfunction piecewiseRange(scale) {\n const length = scale.scale.domain().length + isThresholdScale(scale);\n if (!(length > 2)) return scale.range;\n const [start, end] = scale.range;\n return Array.from({length}, (_, i) => start + (i / (length - 1)) * (end - start));\n}\n\nexport function normalizeScale(key, scale, hint) {\n return createScale(key, hint === undefined ? undefined : [{hint}], {...scale});\n}\n\nfunction createScale(key, channels = [], options = {}) {\n const type = inferScaleType(key, channels, options);\n\n // Warn for common misuses of implicit ordinal scales. We disable this test if\n // you specify a scale interval or if you set the domain or range explicitly,\n // since setting the domain or range (typically with a cardinality of more than\n // two) is another indication that you intended for the scale to be ordinal; we\n // also disable it for facet scales since these are always band scales.\n if (\n options.type === undefined &&\n options.domain === undefined &&\n options.range === undefined &&\n options.interval == null &&\n key !== \"fx\" &&\n key !== \"fy\" &&\n isOrdinalScale({type})\n ) {\n const values = channels.map(({value}) => value).filter((value) => value !== undefined);\n if (values.some(isTemporal))\n warn(\n `Warning: some data associated with the ${key} scale are dates. Dates are typically associated with a \"utc\" or \"time\" scale rather than a \"${formatScaleType(\n type\n )}\" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can specify the interval of the ${key} scale (e.g., d3.utcDay), or you can suppress this warning by setting the type of the ${key} scale to \"${formatScaleType(\n type\n )}\".`\n );\n else if (values.some(isTemporalString))\n warn(\n `Warning: some data associated with the ${key} scale are strings that appear to be dates (e.g., YYYY-MM-DD). If these strings represent dates, you should parse them to Date objects. Dates are typically associated with a \"utc\" or \"time\" scale rather than a \"${formatScaleType(\n type\n )}\" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can suppress this warning by setting the type of the ${key} scale to \"${formatScaleType(\n type\n )}\".`\n );\n else if (values.some(isNumericString))\n warn(\n `Warning: some data associated with the ${key} scale are strings that appear to be numbers. If these strings represent numbers, you should parse or coerce them to numbers. Numbers are typically associated with a \"linear\" scale rather than a \"${formatScaleType(\n type\n )}\" scale. If you want to treat this data as ordinal, you can specify the interval of the ${key} scale (e.g., 1 for integers), or you can suppress this warning by setting the type of the ${key} scale to \"${formatScaleType(\n type\n )}\".`\n );\n }\n\n options.type = type; // Mutates input!\n\n // Once the scale type is known, coerce the associated channel values and any\n // explicitly-specified domain to the expected type.\n switch (type) {\n case \"diverging\":\n case \"diverging-sqrt\":\n case \"diverging-pow\":\n case \"diverging-log\":\n case \"diverging-symlog\":\n case \"cyclical\":\n case \"sequential\":\n case \"linear\":\n case \"sqrt\":\n case \"threshold\":\n case \"quantile\":\n case \"pow\":\n case \"log\":\n case \"symlog\":\n options = coerceType(channels, options, coerceNumbers);\n break;\n case \"identity\":\n switch (registry.get(key)) {\n case position:\n options = coerceType(channels, options, coerceNumbers);\n break;\n case symbol:\n options = coerceType(channels, options, coerceSymbols);\n break;\n }\n break;\n case \"utc\":\n case \"time\":\n options = coerceType(channels, options, coerceDates);\n break;\n }\n\n switch (type) {\n case \"diverging\":\n return createScaleDiverging(key, channels, options);\n case \"diverging-sqrt\":\n return createScaleDivergingSqrt(key, channels, options);\n case \"diverging-pow\":\n return createScaleDivergingPow(key, channels, options);\n case \"diverging-log\":\n return createScaleDivergingLog(key, channels, options);\n case \"diverging-symlog\":\n return createScaleDivergingSymlog(key, channels, options);\n case \"categorical\":\n case \"ordinal\":\n case ordinalImplicit:\n return createScaleOrdinal(key, channels, options);\n case \"cyclical\":\n case \"sequential\":\n case \"linear\":\n return createScaleLinear(key, channels, options);\n case \"sqrt\":\n return createScaleSqrt(key, channels, options);\n case \"threshold\":\n return createScaleThreshold(key, channels, options);\n case \"quantile\":\n return createScaleQuantile(key, channels, options);\n case \"quantize\":\n return createScaleQuantize(key, channels, options);\n case \"pow\":\n return createScalePow(key, channels, options);\n case \"log\":\n return createScaleLog(key, channels, options);\n case \"symlog\":\n return createScaleSymlog(key, channels, options);\n case \"utc\":\n return createScaleUtc(key, channels, options);\n case \"time\":\n return createScaleTime(key, channels, options);\n case \"point\":\n return createScalePoint(key, channels, options);\n case \"band\":\n return createScaleBand(key, channels, options);\n case \"identity\":\n return registry.get(key) === position ? createScaleIdentity() : {type: \"identity\"};\n case undefined:\n return;\n default:\n throw new Error(`unknown scale type: ${type}`);\n }\n}\n\nfunction formatScaleType(type) {\n return typeof type === \"symbol\" ? type.description : type;\n}\n\n// A special type symbol when the x and y scales are replaced with a projection.\nconst typeProjection = {toString: () => \"projection\"};\n\nfunction inferScaleType(key, channels, {type, domain, range, scheme, pivot, projection}) {\n // The facet scales are always band scales; this cannot be changed.\n if (key === \"fx\" || key === \"fy\") return \"band\";\n\n // If a projection is specified, the x- and y-scales are disabled; these\n // channels will be projected rather than scaled. (But still check that none\n // of the associated channels are incompatible with a projection.)\n if ((key === \"x\" || key === \"y\") && projection != null) type = typeProjection;\n\n // If a channel dictates a scale type, make sure that it is consistent with\n // the user-specified scale type (if any) and all other channels. For example,\n // barY requires x to be a band scale and disallows any other scale type.\n for (const {type: t} of channels) {\n if (t === undefined) continue;\n else if (type === undefined) type = t;\n else if (type !== t) throw new Error(`scale incompatible with channel: ${type} !== ${t}`);\n }\n\n // If the scale, a channel, or user specified a (consistent) type, return it.\n if (type === typeProjection) return;\n if (type !== undefined) return type;\n\n // If there’s no data (and no type) associated with this scale, don’t create a scale.\n if (domain === undefined && !channels.some(({value}) => value !== undefined)) return;\n\n // Some scales have default types.\n const kind = registry.get(key);\n if (kind === radius) return \"sqrt\";\n if (kind === opacity || kind === length) return \"linear\";\n if (kind === symbol) return \"ordinal\";\n\n // If the domain or range has more than two values, assume it’s ordinal. You\n // can still use a “piecewise” (or “polylinear”) scale, but you must set the\n // type explicitly.\n if ((domain || range || []).length > 2) return asOrdinalType(kind);\n\n // Otherwise, infer the scale type from the data! Prefer the domain, if\n // present, over channels. (The domain and channels should be consistently\n // typed, and the domain is more explicit and typically much smaller.) We only\n // check the first defined value for expedience and simplicity; we expect\n // that the types are consistent.\n if (domain !== undefined) {\n if (isOrdinal(domain)) return asOrdinalType(kind);\n if (isTemporal(domain)) return \"utc\";\n if (kind === color && (pivot != null || isDivergingScheme(scheme))) return \"diverging\";\n return \"linear\";\n }\n\n // If any channel is ordinal or temporal, it takes priority.\n const values = channels.map(({value}) => value).filter((value) => value !== undefined);\n if (values.some(isOrdinal)) return asOrdinalType(kind);\n if (values.some(isTemporal)) return \"utc\";\n if (kind === color && (pivot != null || isDivergingScheme(scheme))) return \"diverging\";\n return \"linear\";\n}\n\n// Positional scales default to a point scale instead of an ordinal scale.\nfunction asOrdinalType(kind) {\n switch (kind) {\n case position:\n return \"point\";\n case color:\n return ordinalImplicit;\n default:\n return \"ordinal\";\n }\n}\n\nexport function isTemporalScale({type}) {\n return type === \"time\" || type === \"utc\";\n}\n\nexport function isOrdinalScale({type}) {\n return type === \"ordinal\" || type === \"point\" || type === \"band\" || type === ordinalImplicit;\n}\n\nexport function isThresholdScale({type}) {\n return type === \"threshold\";\n}\n\nfunction isBandScale({type}) {\n return type === \"point\" || type === \"band\";\n}\n\nexport function isDivergingScale({type}) {\n return /^diverging($|-)/.test(type);\n}\n\n// Certain marks have special behavior if a scale is collapsed, i.e. if the\n// domain is degenerate and represents only a single value such as [3, 3]; for\n// example, a rect will span the full extent of the chart along a collapsed\n// dimension (whereas a dot will simply be drawn in the center).\nexport function isCollapsed(scale) {\n if (scale === undefined) return true; // treat missing scale as collapsed\n const domain = scale.domain();\n const value = scale(domain[0]);\n for (let i = 1, n = domain.length; i < n; ++i) {\n if (scale(domain[i]) - value) {\n return false;\n }\n }\n return true;\n}\n\n// Mutates channel.value!\nfunction coerceType(channels, {domain, ...options}, coerceValues) {\n for (const c of channels) {\n if (c.value !== undefined) {\n c.value = coerceValues(c.value);\n }\n }\n return {\n domain: domain === undefined ? domain : coerceValues(domain),\n ...options\n };\n}\n\nfunction coerceSymbols(values) {\n return map(values, maybeSymbol);\n}\n\nexport function scale(options = {}) {\n let scale;\n for (const key in options) {\n if (!registry.has(key)) continue; // ignore unknown properties\n if (!isScaleOptions(options[key])) continue; // e.g., ignore {color: \"red\"}\n if (scale !== undefined) throw new Error(\"ambiguous scale definition; multiple scales found\");\n scale = exposeScale(normalizeScale(key, options[key]));\n }\n if (scale === undefined) throw new Error(\"invalid scale definition; no scale found\");\n return scale;\n}\n\nexport function exposeScales(scaleDescriptors) {\n return (key) => {\n if (!registry.has((key = `${key}`))) throw new Error(`unknown scale: ${key}`);\n return key in scaleDescriptors ? exposeScale(scaleDescriptors[key]) : undefined;\n };\n}\n\n// Note: axis- and legend-related properties (such as label, ticks and\n// tickFormat) are not included here as they do not affect the scale’s behavior.\nfunction exposeScale({scale, type, domain, range, interpolate, interval, transform, percent, pivot}) {\n if (type === \"identity\") return {type: \"identity\", apply: (d) => d, invert: (d) => d};\n const unknown = scale.unknown ? scale.unknown() : undefined;\n return {\n type,\n domain: slice(domain), // defensive copy\n ...(range !== undefined && {range: slice(range)}), // defensive copy\n ...(transform !== undefined && {transform}),\n ...(percent && {percent}), // only exposed if truthy\n ...(unknown !== undefined && {unknown}),\n ...(interval !== undefined && {interval}),\n\n // quantitative\n ...(interpolate !== undefined && {interpolate}),\n ...(scale.clamp && {clamp: scale.clamp()}),\n\n // diverging (always asymmetric; we never want to apply the symmetric transform twice)\n ...(pivot !== undefined && {pivot, symmetric: false}),\n\n // log, diverging-log\n ...(scale.base && {base: scale.base()}),\n\n // pow, diverging-pow\n ...(scale.exponent && {exponent: scale.exponent()}),\n\n // symlog, diverging-symlog\n ...(scale.constant && {constant: scale.constant()}),\n\n // band, point\n ...(scale.align && {align: scale.align(), round: scale.round()}),\n ...(scale.padding &&\n (scale.paddingInner\n ? {paddingInner: scale.paddingInner(), paddingOuter: scale.paddingOuter()}\n : {padding: scale.padding()})),\n ...(scale.bandwidth && {bandwidth: scale.bandwidth(), step: scale.step()}),\n\n // utilities\n apply: (t) => scale(t),\n ...(scale.invert && {invert: (t) => scale.invert(t)})\n };\n}\n","import {format as isoFormat} from \"isoformat\";\nimport {string} from \"./options.js\";\nimport {memoize1} from \"./memoize.js\";\n\nconst numberFormat = memoize1((locale) => {\n return new Intl.NumberFormat(locale);\n});\n\nconst monthFormat = memoize1((locale, month) => {\n return new Intl.DateTimeFormat(locale, {timeZone: \"UTC\", ...(month && {month})});\n});\n\nconst weekdayFormat = memoize1((locale, weekday) => {\n return new Intl.DateTimeFormat(locale, {timeZone: \"UTC\", ...(weekday && {weekday})});\n});\n\nexport function formatNumber(locale = \"en-US\") {\n const format = numberFormat(locale);\n return (i) => (i != null && !isNaN(i) ? format.format(i) : undefined);\n}\n\nexport function formatMonth(locale = \"en-US\", format = \"short\") {\n const fmt = monthFormat(locale, format);\n return (i) => (i != null && !isNaN((i = +new Date(Date.UTC(2000, +i)))) ? fmt.format(i) : undefined);\n}\n\nexport function formatWeekday(locale = \"en-US\", format = \"short\") {\n const fmt = weekdayFormat(locale, format);\n return (i) => (i != null && !isNaN((i = +new Date(Date.UTC(2001, 0, +i)))) ? fmt.format(i) : undefined);\n}\n\nexport function formatIsoDate(date) {\n return isoFormat(date, \"Invalid Date\");\n}\n\nexport function formatAuto(locale = \"en-US\") {\n const number = formatNumber(locale);\n return (v) => (v instanceof Date ? formatIsoDate : typeof v === \"number\" ? number : string)(v);\n}\n\n// TODO When Plot supports a top-level locale option, this should be removed\n// because it lacks context to know which locale to use; formatAuto should be\n// used instead whenever possible.\nexport const formatDefault = formatAuto();\n","export function memoize1(compute) {\n let cacheValue, cacheKeys;\n return (...keys) => {\n if (cacheKeys?.length !== keys.length || cacheKeys.some((k, i) => k !== keys[i])) {\n cacheKeys = keys;\n cacheValue = compute(...keys);\n }\n return cacheValue;\n };\n}\n","import {geoPath, group, namespaces} from \"d3\";\nimport {create} from \"./context.js\";\nimport {defined, nonempty} from \"./defined.js\";\nimport {formatDefault} from \"./format.js\";\nimport {\n string,\n number,\n maybeColorChannel,\n maybeNumberChannel,\n maybeKeyword,\n isNoneish,\n isNone,\n isRound,\n keyof\n} from \"./options.js\";\nimport {warn} from \"./warnings.js\";\n\nexport const offset = (typeof window !== \"undefined\" ? window.devicePixelRatio > 1 : typeof it === \"undefined\") ? 0 : 0.5; // prettier-ignore\n\nlet nextClipId = 0;\n\nfunction getClipId() {\n return `plot-clip-${++nextClipId}`;\n}\n\nexport function styles(\n mark,\n {\n title,\n href,\n ariaLabel: variaLabel,\n ariaDescription,\n ariaHidden,\n target,\n fill,\n fillOpacity,\n stroke,\n strokeWidth,\n strokeOpacity,\n strokeLinejoin,\n strokeLinecap,\n strokeMiterlimit,\n strokeDasharray,\n strokeDashoffset,\n opacity,\n mixBlendMode,\n paintOrder,\n pointerEvents,\n shapeRendering\n },\n {\n ariaLabel: cariaLabel,\n fill: defaultFill = \"currentColor\",\n fillOpacity: defaultFillOpacity,\n stroke: defaultStroke = \"none\",\n strokeOpacity: defaultStrokeOpacity,\n strokeWidth: defaultStrokeWidth,\n strokeLinecap: defaultStrokeLinecap,\n strokeLinejoin: defaultStrokeLinejoin,\n strokeMiterlimit: defaultStrokeMiterlimit,\n paintOrder: defaultPaintOrder\n }\n) {\n // Some marks don’t support fill (e.g., tick and rule).\n if (defaultFill === null) {\n fill = null;\n fillOpacity = null;\n }\n\n // Some marks don’t support stroke (e.g., image).\n if (defaultStroke === null) {\n stroke = null;\n strokeOpacity = null;\n }\n\n // Some marks default to fill with no stroke, while others default to stroke\n // with no fill. For example, bar and area default to fill, while dot and line\n // default to stroke. For marks that fill by default, the default fill only\n // applies if the stroke is (constant) none; if you set a stroke, then the\n // default fill becomes none. Similarly for marks that stroke by stroke, the\n // default stroke only applies if the fill is (constant) none.\n if (isNoneish(defaultFill)) {\n if (!isNoneish(defaultStroke) && !isNoneish(fill)) defaultStroke = \"none\";\n } else {\n if (isNoneish(defaultStroke) && !isNoneish(stroke)) defaultFill = \"none\";\n }\n\n const [vfill, cfill] = maybeColorChannel(fill, defaultFill);\n const [vfillOpacity, cfillOpacity] = maybeNumberChannel(fillOpacity, defaultFillOpacity);\n const [vstroke, cstroke] = maybeColorChannel(stroke, defaultStroke);\n const [vstrokeOpacity, cstrokeOpacity] = maybeNumberChannel(strokeOpacity, defaultStrokeOpacity);\n const [vopacity, copacity] = maybeNumberChannel(opacity);\n\n // For styles that have no effect if there is no stroke, only apply the\n // defaults if the stroke is not the constant none. (If stroke is a channel,\n // then cstroke will be undefined, but there’s still a stroke; hence we don’t\n // use isNoneish here.)\n if (!isNone(cstroke)) {\n if (strokeWidth === undefined) strokeWidth = defaultStrokeWidth;\n if (strokeLinecap === undefined) strokeLinecap = defaultStrokeLinecap;\n if (strokeLinejoin === undefined) strokeLinejoin = defaultStrokeLinejoin;\n\n // The default stroke miterlimit need not be applied if the current stroke\n // is the constant round; this only has effect on miter joins.\n if (strokeMiterlimit === undefined && !isRound(strokeLinejoin)) strokeMiterlimit = defaultStrokeMiterlimit;\n\n // The paint order only takes effect if there is both a fill and a stroke\n // (at least if we ignore markers, which no built-in marks currently use).\n if (!isNone(cfill) && paintOrder === undefined) paintOrder = defaultPaintOrder;\n }\n\n const [vstrokeWidth, cstrokeWidth] = maybeNumberChannel(strokeWidth);\n\n // Some marks don’t support fill (e.g., tick and rule).\n if (defaultFill !== null) {\n mark.fill = impliedString(cfill, \"currentColor\");\n mark.fillOpacity = impliedNumber(cfillOpacity, 1);\n }\n\n // Some marks don’t support stroke (e.g., image).\n if (defaultStroke !== null) {\n mark.stroke = impliedString(cstroke, \"none\");\n mark.strokeWidth = impliedNumber(cstrokeWidth, 1);\n mark.strokeOpacity = impliedNumber(cstrokeOpacity, 1);\n mark.strokeLinejoin = impliedString(strokeLinejoin, \"miter\");\n mark.strokeLinecap = impliedString(strokeLinecap, \"butt\");\n mark.strokeMiterlimit = impliedNumber(strokeMiterlimit, 4);\n mark.strokeDasharray = impliedString(strokeDasharray, \"none\");\n mark.strokeDashoffset = impliedString(strokeDashoffset, \"0\");\n }\n\n mark.target = string(target);\n mark.ariaLabel = string(cariaLabel);\n mark.ariaDescription = string(ariaDescription);\n mark.ariaHidden = string(ariaHidden);\n mark.opacity = impliedNumber(copacity, 1);\n mark.mixBlendMode = impliedString(mixBlendMode, \"normal\");\n mark.paintOrder = impliedString(paintOrder, \"normal\");\n mark.pointerEvents = impliedString(pointerEvents, \"auto\");\n mark.shapeRendering = impliedString(shapeRendering, \"auto\");\n\n return {\n title: {value: title, optional: true},\n href: {value: href, optional: true},\n ariaLabel: {value: variaLabel, optional: true},\n fill: {value: vfill, scale: \"auto\", optional: true},\n fillOpacity: {value: vfillOpacity, scale: \"auto\", optional: true},\n stroke: {value: vstroke, scale: \"auto\", optional: true},\n strokeOpacity: {value: vstrokeOpacity, scale: \"auto\", optional: true},\n strokeWidth: {value: vstrokeWidth, optional: true},\n opacity: {value: vopacity, scale: \"auto\", optional: true}\n };\n}\n\n// Applies the specified titles via selection.call.\nexport function applyTitle(selection, L) {\n if (L)\n selection\n .filter((i) => nonempty(L[i]))\n .append(\"title\")\n .call(applyText, L);\n}\n\n// Like applyTitle, but for grouped data (lines, areas).\nexport function applyTitleGroup(selection, L) {\n if (L)\n selection\n .filter(([i]) => nonempty(L[i]))\n .append(\"title\")\n .call(applyTextGroup, L);\n}\n\nexport function applyText(selection, T) {\n if (T) selection.text((i) => formatDefault(T[i]));\n}\n\nexport function applyTextGroup(selection, T) {\n if (T) selection.text(([i]) => formatDefault(T[i]));\n}\n\nexport function applyChannelStyles(\n selection,\n {target},\n {\n ariaLabel: AL,\n title: T,\n fill: F,\n fillOpacity: FO,\n stroke: S,\n strokeOpacity: SO,\n strokeWidth: SW,\n opacity: O,\n href: H\n }\n) {\n if (AL) applyAttr(selection, \"aria-label\", (i) => AL[i]);\n if (F) applyAttr(selection, \"fill\", (i) => F[i]);\n if (FO) applyAttr(selection, \"fill-opacity\", (i) => FO[i]);\n if (S) applyAttr(selection, \"stroke\", (i) => S[i]);\n if (SO) applyAttr(selection, \"stroke-opacity\", (i) => SO[i]);\n if (SW) applyAttr(selection, \"stroke-width\", (i) => SW[i]);\n if (O) applyAttr(selection, \"opacity\", (i) => O[i]);\n if (H) applyHref(selection, (i) => H[i], target);\n applyTitle(selection, T);\n}\n\nexport function applyGroupedChannelStyles(\n selection,\n {target},\n {\n ariaLabel: AL,\n title: T,\n fill: F,\n fillOpacity: FO,\n stroke: S,\n strokeOpacity: SO,\n strokeWidth: SW,\n opacity: O,\n href: H\n }\n) {\n if (AL) applyAttr(selection, \"aria-label\", ([i]) => AL[i]);\n if (F) applyAttr(selection, \"fill\", ([i]) => F[i]);\n if (FO) applyAttr(selection, \"fill-opacity\", ([i]) => FO[i]);\n if (S) applyAttr(selection, \"stroke\", ([i]) => S[i]);\n if (SO) applyAttr(selection, \"stroke-opacity\", ([i]) => SO[i]);\n if (SW) applyAttr(selection, \"stroke-width\", ([i]) => SW[i]);\n if (O) applyAttr(selection, \"opacity\", ([i]) => O[i]);\n if (H) applyHref(selection, ([i]) => H[i], target);\n applyTitleGroup(selection, T);\n}\n\nfunction groupAesthetics({\n ariaLabel: AL,\n title: T,\n fill: F,\n fillOpacity: FO,\n stroke: S,\n strokeOpacity: SO,\n strokeWidth: SW,\n opacity: O,\n href: H\n}) {\n return [AL, T, F, FO, S, SO, SW, O, H].filter((c) => c !== undefined);\n}\n\nexport function groupZ(I, Z, z) {\n const G = group(I, (i) => Z[i]);\n if (z === undefined && G.size > I.length >> 1) {\n warn(\n `Warning: the implicit z channel has high cardinality. This may occur when the fill or stroke channel is associated with quantitative data rather than ordinal or categorical data. You can suppress this warning by setting the z option explicitly; if this data represents a single series, set z to null.`\n );\n }\n return G.values();\n}\n\nexport function* groupIndex(I, position, {z}, channels) {\n const {z: Z} = channels; // group channel\n const A = groupAesthetics(channels); // aesthetic channels\n const C = [...position, ...A]; // all channels\n\n // Group the current index by Z (if any).\n for (const G of Z ? groupZ(I, Z, z) : [I]) {\n let Ag; // the A-values (aesthetics) of the current group, if any\n let Gg; // the current group index (a subset of G, and I), if any\n out: for (const i of G) {\n // If any channel has an undefined value for this index, skip it.\n for (const c of C) {\n if (!defined(c[i])) {\n if (Gg) Gg.push(-1);\n continue out;\n }\n }\n\n // Otherwise, if this is a new group, record the aesthetics for this\n // group. Yield the current group and start a new one.\n if (Ag === undefined) {\n if (Gg) yield Gg;\n (Ag = A.map((c) => keyof(c[i]))), (Gg = [i]);\n continue;\n }\n\n // Otherwise, add the current index to the current group. Then, if any of\n // the aesthetics don’t match the current group, yield the current group\n // and start a new group of the current index.\n Gg.push(i);\n for (let j = 0; j < A.length; ++j) {\n const k = keyof(A[j][i]);\n if (k !== Ag[j]) {\n yield Gg;\n (Ag = A.map((c) => keyof(c[i]))), (Gg = [i]);\n continue out;\n }\n }\n }\n\n // Yield the current group, if any.\n if (Gg) yield Gg;\n }\n}\n\n// TODO Accept other types of clips (paths, urls, x, y, other marks…)?\n// https://github.com/observablehq/plot/issues/181\nexport function maybeClip(clip) {\n if (clip === true) clip = \"frame\";\n else if (clip === false) clip = null;\n return maybeKeyword(clip, \"clip\", [\"frame\", \"sphere\"]);\n}\n\n// Note: may mutate selection.node!\nfunction applyClip(selection, mark, dimensions, context) {\n let clipUrl;\n switch (mark.clip) {\n case \"frame\": {\n const {width, height, marginLeft, marginRight, marginTop, marginBottom} = dimensions;\n const id = getClipId();\n clipUrl = `url(#${id})`;\n selection = create(\"svg:g\", context)\n .call((g) =>\n g\n .append(\"svg:clipPath\")\n .attr(\"id\", id)\n .append(\"rect\")\n .attr(\"x\", marginLeft)\n .attr(\"y\", marginTop)\n .attr(\"width\", width - marginRight - marginLeft)\n .attr(\"height\", height - marginTop - marginBottom)\n )\n .each(function () {\n this.appendChild(selection.node());\n selection.node = () => this; // Note: mutation!\n });\n break;\n }\n case \"sphere\": {\n const {projection} = context;\n if (!projection) throw new Error(`the \"sphere\" clip option requires a projection`);\n const id = getClipId();\n clipUrl = `url(#${id})`;\n selection\n .append(\"clipPath\")\n .attr(\"id\", id)\n .append(\"path\")\n .attr(\"d\", geoPath(projection)({type: \"Sphere\"}));\n break;\n }\n }\n // Here we’re careful to apply the ARIA attributes to the outer G element when\n // clipping is applied, and to apply the ARIA attributes before any other\n // attributes (for readability).\n applyAttr(selection, \"aria-label\", mark.ariaLabel);\n applyAttr(selection, \"aria-description\", mark.ariaDescription);\n applyAttr(selection, \"aria-hidden\", mark.ariaHidden);\n applyAttr(selection, \"clip-path\", clipUrl);\n}\n\n// Note: may mutate selection.node!\nexport function applyIndirectStyles(selection, mark, dimensions, context) {\n applyClip(selection, mark, dimensions, context);\n applyAttr(selection, \"fill\", mark.fill);\n applyAttr(selection, \"fill-opacity\", mark.fillOpacity);\n applyAttr(selection, \"stroke\", mark.stroke);\n applyAttr(selection, \"stroke-width\", mark.strokeWidth);\n applyAttr(selection, \"stroke-opacity\", mark.strokeOpacity);\n applyAttr(selection, \"stroke-linejoin\", mark.strokeLinejoin);\n applyAttr(selection, \"stroke-linecap\", mark.strokeLinecap);\n applyAttr(selection, \"stroke-miterlimit\", mark.strokeMiterlimit);\n applyAttr(selection, \"stroke-dasharray\", mark.strokeDasharray);\n applyAttr(selection, \"stroke-dashoffset\", mark.strokeDashoffset);\n applyAttr(selection, \"shape-rendering\", mark.shapeRendering);\n applyAttr(selection, \"paint-order\", mark.paintOrder);\n applyAttr(selection, \"pointer-events\", mark.pointerEvents);\n}\n\nexport function applyDirectStyles(selection, mark) {\n applyStyle(selection, \"mix-blend-mode\", mark.mixBlendMode);\n applyAttr(selection, \"opacity\", mark.opacity);\n}\n\nfunction applyHref(selection, href, target) {\n selection.each(function (i) {\n const h = href(i);\n if (h != null) {\n const a = this.ownerDocument.createElementNS(namespaces.svg, \"a\");\n a.setAttribute(\"fill\", \"inherit\");\n a.setAttributeNS(namespaces.xlink, \"href\", h);\n if (target != null) a.setAttribute(\"target\", target);\n this.parentNode.insertBefore(a, this).appendChild(this);\n }\n });\n}\n\nexport function applyAttr(selection, name, value) {\n if (value != null) selection.attr(name, value);\n}\n\nexport function applyStyle(selection, name, value) {\n if (value != null) selection.style(name, value);\n}\n\nexport function applyTransform(selection, mark, {x, y}, tx = offset, ty = offset) {\n tx += mark.dx;\n ty += mark.dy;\n if (x?.bandwidth) tx += x.bandwidth() / 2;\n if (y?.bandwidth) ty += y.bandwidth() / 2;\n if (tx || ty) selection.attr(\"transform\", `translate(${tx},${ty})`);\n}\n\nexport function impliedString(value, impliedValue) {\n if ((value = string(value)) !== impliedValue) return value;\n}\n\nexport function impliedNumber(value, impliedValue) {\n if ((value = number(value)) !== impliedValue) return value;\n}\n\n// https://www.w3.org/TR/CSS21/grammar.html\nconst validClassName =\n /^-?([_a-z]|[\\240-\\377]|\\\\[0-9a-f]{1,6}(\\r\\n|[ \\t\\r\\n\\f])?|\\\\[^\\r\\n\\f0-9a-f])([_a-z0-9-]|[\\240-\\377]|\\\\[0-9a-f]{1,6}(\\r\\n|[ \\t\\r\\n\\f])?|\\\\[^\\r\\n\\f0-9a-f])*$/i;\n\nexport function maybeClassName(name) {\n // The default should be changed whenever the default styles are changed, so\n // as to avoid conflict when multiple versions of Plot are on the page.\n if (name === undefined) return \"plot-d6a7b5\";\n name = `${name}`;\n if (!validClassName.test(name)) throw new Error(`invalid class name: ${name}`);\n return name;\n}\n\nexport function applyInlineStyles(selection, style) {\n if (typeof style === \"string\") {\n selection.property(\"style\", style);\n } else if (style != null) {\n for (const element of selection) {\n Object.assign(element.style, style);\n }\n }\n}\n\nexport function applyFrameAnchor({frameAnchor}, {width, height, marginTop, marginRight, marginBottom, marginLeft}) {\n return [\n /left$/.test(frameAnchor)\n ? marginLeft\n : /right$/.test(frameAnchor)\n ? width - marginRight\n : (marginLeft + width - marginRight) / 2,\n /^top/.test(frameAnchor)\n ? marginTop\n : /^bottom/.test(frameAnchor)\n ? height - marginBottom\n : (marginTop + height - marginBottom) / 2\n ];\n}\n","import {format, utcFormat} from \"d3\";\nimport {formatIsoDate} from \"./format.js\";\nimport {constant, isTemporal, string} from \"./options.js\";\nimport {isOrdinalScale} from \"./scales.js\";\n\nexport function inferFontVariant(scale) {\n return isOrdinalScale(scale) && scale.interval === undefined ? undefined : \"tabular-nums\";\n}\n\n// D3 doesn’t provide a tick format for ordinal scales; we want shorthand when\n// an ordinal domain is numbers or dates, and we want null to mean the empty\n// string, not the default identity format. TODO Remove this in favor of the\n// axis mark’s inferTickFormat.\nexport function maybeAutoTickFormat(tickFormat, domain) {\n return tickFormat === undefined\n ? isTemporal(domain)\n ? formatIsoDate\n : string\n : typeof tickFormat === \"function\"\n ? tickFormat\n : (typeof tickFormat === \"string\" ? (isTemporal(domain) ? utcFormat : format) : constant)(tickFormat);\n}\n","import {pathRound as path} from \"d3\";\nimport {inferFontVariant, maybeAutoTickFormat} from \"../axes.js\";\nimport {createContext, create} from \"../context.js\";\nimport {isNoneish, maybeColorChannel, maybeNumberChannel} from \"../options.js\";\nimport {isOrdinalScale, isThresholdScale} from \"../scales.js\";\nimport {applyInlineStyles, impliedString, maybeClassName} from \"../style.js\";\n\nfunction maybeScale(scale, key) {\n if (key == null) return key;\n const s = scale(key);\n if (!s) throw new Error(`scale not found: ${key}`);\n return s;\n}\n\nexport function legendSwatches(color, {opacity, ...options} = {}) {\n if (!isOrdinalScale(color) && !isThresholdScale(color))\n throw new Error(`swatches legend requires ordinal or threshold color scale (not ${color.type})`);\n return legendItems(color, options, (selection, scale, width, height) =>\n selection\n .append(\"svg\")\n .attr(\"width\", width)\n .attr(\"height\", height)\n .attr(\"fill\", scale.scale)\n .attr(\"fill-opacity\", maybeNumberChannel(opacity)[1])\n .append(\"rect\")\n .attr(\"width\", \"100%\")\n .attr(\"height\", \"100%\")\n );\n}\n\nexport function legendSymbols(\n symbol,\n {\n fill = symbol.hint?.fill !== undefined ? symbol.hint.fill : \"none\",\n fillOpacity = 1,\n stroke = symbol.hint?.stroke !== undefined ? symbol.hint.stroke : isNoneish(fill) ? \"currentColor\" : \"none\",\n strokeOpacity = 1,\n strokeWidth = 1.5,\n r = 4.5,\n ...options\n } = {},\n scale\n) {\n const [vf, cf] = maybeColorChannel(fill);\n const [vs, cs] = maybeColorChannel(stroke);\n const sf = maybeScale(scale, vf);\n const ss = maybeScale(scale, vs);\n const size = r * r * Math.PI;\n fillOpacity = maybeNumberChannel(fillOpacity)[1];\n strokeOpacity = maybeNumberChannel(strokeOpacity)[1];\n strokeWidth = maybeNumberChannel(strokeWidth)[1];\n return legendItems(symbol, options, (selection, scale, width, height) =>\n selection\n .append(\"svg\")\n .attr(\"viewBox\", \"-8 -8 16 16\")\n .attr(\"width\", width)\n .attr(\"height\", height)\n .attr(\"fill\", vf === \"color\" ? (d) => sf.scale(d) : cf)\n .attr(\"fill-opacity\", fillOpacity)\n .attr(\"stroke\", vs === \"color\" ? (d) => ss.scale(d) : cs)\n .attr(\"stroke-opacity\", strokeOpacity)\n .attr(\"stroke-width\", strokeWidth)\n .append(\"path\")\n .attr(\"d\", (d) => {\n const p = path();\n symbol.scale(d).draw(p, size);\n return p;\n })\n );\n}\n\nfunction legendItems(scale, options = {}, swatch) {\n let {\n columns,\n tickFormat,\n fontVariant = inferFontVariant(scale),\n // TODO label,\n swatchSize = 15,\n swatchWidth = swatchSize,\n swatchHeight = swatchSize,\n marginLeft = 0,\n className,\n style,\n width\n } = options;\n const context = createContext(options);\n className = maybeClassName(className);\n tickFormat = maybeAutoTickFormat(tickFormat, scale.domain);\n\n const swatches = create(\"div\", context).attr(\n \"class\",\n `${className}-swatches ${className}-swatches-${columns != null ? \"columns\" : \"wrap\"}`\n );\n\n let extraStyle;\n\n if (columns != null) {\n extraStyle = `.${className}-swatches-columns .${className}-swatch {\n display: flex;\n align-items: center;\n break-inside: avoid;\n padding-bottom: 1px;\n}\n.${className}-swatches-columns .${className}-swatch::before {\n flex-shrink: 0;\n}\n.${className}-swatches-columns .${className}-swatch-label {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}`;\n\n swatches\n .style(\"columns\", columns)\n .selectAll()\n .data(scale.domain)\n .enter()\n .append(\"div\")\n .attr(\"class\", `${className}-swatch`)\n .call(swatch, scale, swatchWidth, swatchHeight)\n .call((item) =>\n item.append(\"div\").attr(\"class\", `${className}-swatch-label`).attr(\"title\", tickFormat).text(tickFormat)\n );\n } else {\n extraStyle = `.${className}-swatches-wrap {\n display: flex;\n align-items: center;\n min-height: 33px;\n flex-wrap: wrap;\n}\n.${className}-swatches-wrap .${className}-swatch {\n display: inline-flex;\n align-items: center;\n margin-right: 1em;\n}`;\n\n swatches\n .selectAll()\n .data(scale.domain)\n .enter()\n .append(\"span\")\n .attr(\"class\", `${className}-swatch`)\n .call(swatch, scale, swatchWidth, swatchHeight)\n .append(function () {\n return this.ownerDocument.createTextNode(tickFormat.apply(this, arguments));\n });\n }\n\n return swatches\n .call((div) =>\n div.insert(\"style\", \"*\").text(\n `.${className}-swatches {\n font-family: system-ui, sans-serif;\n font-size: 10px;\n margin-bottom: 0.5em;\n}\n.${className}-swatch > svg {\n margin-right: 0.5em;\n overflow: visible;\n}\n${extraStyle}`\n )\n )\n .style(\"margin-left\", marginLeft ? `${+marginLeft}px` : null)\n .style(\"width\", width === undefined ? null : `${+width}px`)\n .style(\"font-variant\", impliedString(fontVariant, \"normal\"))\n .call(applyInlineStyles, style)\n .node();\n}\n","import {rgb} from \"d3\";\nimport {createContext} from \"./context.js\";\nimport {legendRamp} from \"./legends/ramp.js\";\nimport {legendSwatches, legendSymbols} from \"./legends/swatches.js\";\nimport {inherit, isScaleOptions} from \"./options.js\";\nimport {normalizeScale} from \"./scales.js\";\n\nconst legendRegistry = new Map([\n [\"symbol\", legendSymbols],\n [\"color\", legendColor],\n [\"opacity\", legendOpacity]\n]);\n\nexport function legend(options = {}) {\n for (const [key, value] of legendRegistry) {\n const scale = options[key];\n if (isScaleOptions(scale)) {\n // e.g., ignore {color: \"red\"}\n const context = createContext(options);\n let hint;\n // For symbol legends, pass a hint to the symbol scale.\n if (key === \"symbol\") {\n const {fill, stroke = fill === undefined && isScaleOptions(options.color) ? \"color\" : undefined} = options;\n hint = {fill, stroke};\n }\n return value(normalizeScale(key, scale, hint), legendOptions(context, scale, options), (key) =>\n isScaleOptions(options[key]) ? normalizeScale(key, options[key]) : null\n );\n }\n }\n throw new Error(\"unknown legend type; no scale found\");\n}\n\nexport function exposeLegends(scales, context, defaults = {}) {\n return (key, options) => {\n if (!legendRegistry.has(key)) throw new Error(`unknown legend type: ${key}`);\n if (!(key in scales)) return;\n return legendRegistry.get(key)(scales[key], legendOptions(context, defaults[key], options), (key) => scales[key]);\n };\n}\n\nfunction legendOptions({className, ...context}, {label, ticks, tickFormat} = {}, options) {\n return inherit(options, {className, ...context}, {label, ticks, tickFormat});\n}\n\nfunction legendColor(color, {legend = true, ...options}) {\n if (legend === true) legend = color.type === \"ordinal\" ? \"swatches\" : \"ramp\";\n if (color.domain === undefined) return;\n switch (`${legend}`.toLowerCase()) {\n case \"swatches\":\n return legendSwatches(color, options);\n case \"ramp\":\n return legendRamp(color, options);\n default:\n throw new Error(`unknown legend type: ${legend}`);\n }\n}\n\nfunction legendOpacity({type, interpolate, ...scale}, {legend = true, color = rgb(0, 0, 0), ...options}) {\n if (!interpolate) throw new Error(`${type} opacity scales are not supported`);\n if (legend === true) legend = \"ramp\";\n if (`${legend}`.toLowerCase() !== \"ramp\") throw new Error(`${legend} opacity legends are not supported`);\n return legendColor({type, ...scale, interpolate: interpolateOpacity(color)}, {legend, ...options});\n}\n\nfunction interpolateOpacity(color) {\n const {r, g, b} = rgb(color) || rgb(0, 0, 0); // treat invalid color as black\n return (t) => `rgba(${r},${g},${b},${t})`;\n}\n\nexport function createLegends(scales, context, options) {\n const legends = [];\n for (const [key, value] of legendRegistry) {\n const o = options[key];\n if (o?.legend && key in scales) {\n const legend = value(scales[key], legendOptions(context, scales[key], o), (key) => scales[key]);\n if (legend != null) legends.push(legend);\n }\n }\n return legends;\n}\n","import {quantize, interpolateNumber, piecewise, format, scaleBand, scaleLinear, axisBottom} from \"d3\";\nimport {inferFontVariant} from \"../axes.js\";\nimport {createContext, create} from \"../context.js\";\nimport {map, maybeNumberChannel} from \"../options.js\";\nimport {interpolatePiecewise} from \"../scales/quantitative.js\";\nimport {applyInlineStyles, impliedString, maybeClassName} from \"../style.js\";\n\nexport function legendRamp(color, options) {\n let {\n label = color.label,\n tickSize = 6,\n width = 240,\n height = 44 + tickSize,\n marginTop = 18,\n marginRight = 0,\n marginBottom = 16 + tickSize,\n marginLeft = 0,\n style,\n ticks = (width - marginLeft - marginRight) / 64,\n tickFormat,\n fontVariant = inferFontVariant(color),\n round = true,\n opacity,\n className\n } = options;\n const context = createContext(options);\n className = maybeClassName(className);\n opacity = maybeNumberChannel(opacity)[1];\n if (tickFormat === null) tickFormat = () => null;\n\n const svg = create(\"svg\", context)\n .attr(\"class\", `${className}-ramp`)\n .attr(\"font-family\", \"system-ui, sans-serif\")\n .attr(\"font-size\", 10)\n .attr(\"width\", width)\n .attr(\"height\", height)\n .attr(\"viewBox\", `0 0 ${width} ${height}`)\n .call((svg) =>\n // Warning: if you edit this, change defaultClassName.\n svg.append(\"style\").text(\n `.${className}-ramp {\n display: block;\n background: white;\n height: auto;\n height: intrinsic;\n max-width: 100%;\n overflow: visible;\n}\n.${className}-ramp text {\n white-space: pre;\n}`\n )\n )\n .call(applyInlineStyles, style);\n\n let tickAdjust = (g) => g.selectAll(\".tick line\").attr(\"y1\", marginTop + marginBottom - height);\n\n let x;\n\n // Some D3 scales use scale.interpolate, some scale.interpolator, and some\n // scale.round; this normalizes the API so it works with all scale types.\n const applyRange = round ? (x, range) => x.rangeRound(range) : (x, range) => x.range(range);\n\n const {type, domain, range, interpolate, scale, pivot} = color;\n\n // Continuous\n if (interpolate) {\n // Often interpolate is a “fixed” interpolator on the [0, 1] interval, as\n // with a built-in color scheme, but sometimes it is a function that takes\n // two arguments and is used in conjunction with the range.\n const interpolator =\n range === undefined\n ? interpolate\n : piecewise(interpolate.length === 1 ? interpolatePiecewise(interpolate) : interpolate, range);\n\n // Construct a D3 scale of the same type, but with a range that evenly\n // divides the horizontal extent of the legend. (In the common case, the\n // domain.length is two, and so the range is simply the extent.) For a\n // diverging scale, we need an extra point in the range for the pivot such\n // that the pivot is always drawn in the middle.\n x = applyRange(\n scale.copy(),\n quantize(\n interpolateNumber(marginLeft, width - marginRight),\n Math.min(domain.length + (pivot !== undefined), range === undefined ? Infinity : range.length)\n )\n );\n\n // Construct a 256×1 canvas, filling each pixel using the interpolator.\n const n = 256;\n const canvas = context.document.createElement(\"canvas\");\n canvas.width = n;\n canvas.height = 1;\n const context2 = canvas.getContext(\"2d\");\n for (let i = 0, j = n - 1; i < n; ++i) {\n context2.fillStyle = interpolator(i / j);\n context2.fillRect(i, 0, 1, 1);\n }\n\n svg\n .append(\"image\")\n .attr(\"opacity\", opacity)\n .attr(\"x\", marginLeft)\n .attr(\"y\", marginTop)\n .attr(\"width\", width - marginLeft - marginRight)\n .attr(\"height\", height - marginTop - marginBottom)\n .attr(\"preserveAspectRatio\", \"none\")\n .attr(\"xlink:href\", canvas.toDataURL());\n }\n\n // Threshold\n else if (type === \"threshold\") {\n const thresholds = domain;\n\n const thresholdFormat =\n tickFormat === undefined ? (d) => d : typeof tickFormat === \"string\" ? format(tickFormat) : tickFormat;\n\n // Construct a linear scale with evenly-spaced ticks for each of the\n // thresholds; the domain extends one beyond the threshold extent.\n x = applyRange(scaleLinear().domain([-1, range.length - 1]), [marginLeft, width - marginRight]);\n\n svg\n .append(\"g\")\n .attr(\"fill-opacity\", opacity)\n .selectAll()\n .data(range)\n .enter()\n .append(\"rect\")\n .attr(\"x\", (d, i) => x(i - 1))\n .attr(\"y\", marginTop)\n .attr(\"width\", (d, i) => x(i) - x(i - 1))\n .attr(\"height\", height - marginTop - marginBottom)\n .attr(\"fill\", (d) => d);\n\n ticks = map(thresholds, (_, i) => i);\n tickFormat = (i) => thresholdFormat(thresholds[i], i);\n }\n\n // Ordinal (hopefully!)\n else {\n x = applyRange(scaleBand().domain(domain), [marginLeft, width - marginRight]);\n\n svg\n .append(\"g\")\n .attr(\"fill-opacity\", opacity)\n .selectAll()\n .data(domain)\n .enter()\n .append(\"rect\")\n .attr(\"x\", x)\n .attr(\"y\", marginTop)\n .attr(\"width\", Math.max(0, x.bandwidth() - 1))\n .attr(\"height\", height - marginTop - marginBottom)\n .attr(\"fill\", scale);\n\n tickAdjust = () => {};\n }\n\n svg\n .append(\"g\")\n .attr(\"transform\", `translate(0,${height - marginBottom})`)\n .call(\n axisBottom(x)\n .ticks(Array.isArray(ticks) ? null : ticks, typeof tickFormat === \"string\" ? tickFormat : undefined)\n .tickFormat(typeof tickFormat === \"function\" ? tickFormat : undefined)\n .tickSize(tickSize)\n .tickValues(Array.isArray(ticks) ? ticks : null)\n )\n .attr(\"font-size\", null)\n .attr(\"font-family\", null)\n .attr(\"font-variant\", impliedString(fontVariant, \"normal\"))\n .call(tickAdjust)\n .call((g) => g.select(\".domain\").remove());\n\n if (label !== undefined) {\n svg\n .append(\"text\")\n .attr(\"x\", marginLeft)\n .attr(\"y\", marginTop - 6)\n .attr(\"fill\", \"currentColor\") // TODO move to stylesheet?\n .attr(\"font-weight\", \"bold\")\n .text(label);\n }\n\n return svg.node();\n}\n","import { select } from 'd3-selection';\nimport { legend } from '@observablehq/plot';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport type { IPlugin, PluginOptions } from '../index';\n\ninterface LegendOptions extends PluginOptions {\n enabled: boolean;\n itemSelector: string | null;\n label: string | null;\n width: number;\n}\n\nconst DEFAULT_SELECTOR = '#ch-plugin-legend';\n\nconst defaultOptions: LegendOptions = {\n // Whether to display the legend\n enabled: true,\n\n itemSelector: null,\n\n label: null,\n\n width: 130,\n};\n\nexport default class Legend implements IPlugin {\n name = 'Legend';\n\n calendar: CalHeatmap;\n\n root: any;\n\n shown: boolean;\n\n options: LegendOptions;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n this.root = null;\n this.shown = false;\n this.options = defaultOptions;\n }\n\n setup(pluginOptions?: Partial): void {\n this.options = { ...defaultOptions, ...pluginOptions };\n }\n\n paint(): Promise {\n const scaleOptions = this.calendar.options.options.scale;\n const { enabled, itemSelector } = this.options;\n\n if (!enabled || (itemSelector && select(itemSelector).empty())) {\n return this.destroy();\n }\n\n this.shown = true;\n\n this.root = select(\n itemSelector || this.calendar.options.options.itemSelector,\n );\n\n if (this.root.select(DEFAULT_SELECTOR).empty()) {\n this.root = this.root.append('div').attr('id', DEFAULT_SELECTOR.slice(1));\n } else {\n this.root = this.root.select(DEFAULT_SELECTOR);\n }\n\n // @ts-ignore\n const node = legend({\n ...scaleOptions,\n ...this.options,\n });\n\n this.root.selectAll('*').remove();\n this.root.append(() => node);\n\n return Promise.resolve();\n }\n\n destroy(): Promise {\n if (this.root !== null) {\n this.root.remove();\n this.root = null;\n }\n\n return Promise.resolve();\n }\n}\n"],"names":["fails","exec","error","descriptors","require$$0","Object","defineProperty","get","functionBindNative","test","bind","hasOwnProperty","NATIVE_BIND","FunctionPrototype","Function","prototype","call","uncurryThisWithBind","functionUncurryThis","fn","apply","arguments","isNullOrUndefined","it","$TypeError","TypeError","requireObjectCoercible","$Object","toObject","argument","require$$1","hasOwnProperty_1","hasOwn","key","DESCRIPTORS","getDescriptor","getOwnPropertyDescriptor","EXISTS","functionName","PROPER","name","CONFIGURABLE","configurable","makeBuiltIn$3","exports","documentAll","document","all","documentAll_1","IS_HTMLDDA","undefined","isCallable","check","Math","global","globalThis","window","self","this","defineGlobalProperty","value","writable","SHARED","sharedStore","store","require$$2","functionToString","toString","inspectSource","match","version","WeakMap","weakMapBasicDetection","String","isObject","objectDefineProperty","createElement","documentCreateElement","ie8DomDefine","a","v8PrototypeDefineBug","$String","anObject","functionCall","getBuiltIn","namespace","method","length","objectIsPrototypeOf","isPrototypeOf","engineUserAgent","navigator","userAgent","process","Deno","versions","v8","split","engineV8Version","V8_VERSION","symbolConstructorDetection","getOwnPropertySymbols","symbol","Symbol","sham","useSymbolAsUid","iterator","isSymbol","require$$3","$Symbol","tryToString","aCallable","getMethod","V","P","func","shared$3","sharedModule","push","mode","copyright","license","source","uncurryThis","id","postfix","random","uid","shared","NATIVE_SYMBOL","require$$4","USE_SYMBOL_AS_UID","require$$5","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","wellKnownSymbol","ordinaryToPrimitive","input","pref","val","valueOf","TO_PRIMITIVE","toPrimitive","result","exoticToPrim","toPropertyKey","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","WRITABLE","f","O","Attributes","current","enumerable","set","has","createPropertyDescriptor","bitmap","definePropertyModule","createNonEnumerableProperty","object","keys","hiddenKeys","NATIVE_WEAK_MAP","sharedKey","require$$7","OBJECT_ALREADY_INITIALIZED","state","metadata","facade","STATE","internalState","enforce","getterFor","TYPE","type","CONFIGURABLE_FUNCTION_NAME","require$$6","enforceInternalState","getInternalState","stringSlice","slice","replace","join","CONFIGURABLE_LENGTH","TEMPLATE","makeBuiltIn","makeBuiltInModule","options","getter","setter","arity","constructor","defineBuiltInAccessor","target","descriptor","FUNCTION_NAME_EXISTS","nameRE","regExpExec","objectGetOwnPropertyDescriptor","objectPropertyIsEnumerable","$propertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","classofRaw","classof","indexedObject","IndexedObject","toIndexedObject","propertyIsEnumerableModule","defineBuiltIn","simple","unsafe","nonConfigurable","nonWritable","ceil","floor","trunc","x","n","toIntegerOrInfinity","number","max","min","toLength","lengthOfArrayLike","obj","toAbsoluteIndex","index","integer","createMethod","IS_INCLUDES","$this","el","fromIndex","arrayIncludes","includes","indexOf","objectKeysInternal","names","i","enumBugKeys","internalObjectKeys","concat","objectGetOwnPropertyNames","getOwnPropertyNames","objectGetOwnPropertySymbols","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","ownKeys","getOwnPropertyDescriptorModule","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","toLowerCase","isForced_1","copyConstructorProperties","exceptions","_export","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","forced","objectKeys","require$$8","$assign","assign","objectAssign","b","A","B","alphabet","forEach","chr","T","argumentsLength","S","j","toStringTagSupport","TO_STRING_TAG_SUPPORT","TO_STRING_TAG","CORRECT_ARGUMENTS","tag","tryGet","callee","engineIsNode","uncurryThisAccessor","aPossiblePrototype","objectSetPrototypeOf","setPrototypeOf","CORRECT_SETTER","Array","proto","__proto__","SPECIES","noop","empty","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","$location","defer","channel","port","isConstructor","called","aConstructor","functionApply","Reflect","functionBindContext","that","html","arraySlice","engineIsIos","validateArgumentsLength","passed","required","IS_IOS","require$$10","IS_NODE","require$$11","setImmediate","clear","clearImmediate","Dispatch","MessageChannel","counter","queue","ONREADYSTATECHANGE","location","run","runner","eventListener","event","globalPostMessageDefer","postMessage","protocol","host","handler","args","nextTick","now","port2","port1","onmessage","addEventListener","importScripts","appendChild","removeChild","setTimeout","task","Queue","head","tail","add","item","entry","next","notify","toggle","node","promise","then","engineIsIosPebble","Pebble","engineIsWebosWebkit","macrotask","IS_IOS_PEBBLE","IS_WEBOS_WEBKIT","MutationObserver","WebKitMutationObserver","Promise","queueMicrotaskDescriptor","microtask","flush","parent","domain","exit","enter","resolve","createTextNode","observe","characterData","microtask_1","perform","promiseNativeConstructor","engineIsDeno","engineIsBrowser","NativePromiseConstructor","IS_BROWSER","IS_DENO","require$$9","SUBCLASSING","NATIVE_PROMISE_REJECTION_EVENT","PromiseRejectionEvent","FORCED_PROMISE_CONSTRUCTOR","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","FakePromise","promiseConstructorDetection","CONSTRUCTOR","REJECTION_EVENT","newPromiseCapability$2","PromiseCapability","C","reject","$$resolve","$$reject","newPromiseCapability","Internal","OwnPromiseCapability","nativeThen","$","setToStringTag","TAG","setSpecies","CONSTRUCTOR_NAME","Constructor","anInstance","Prototype","speciesConstructor","defaultConstructor","require$$14","require$$15","hostReportErrors","console","require$$17","require$$18","InternalStateModule","require$$19","require$$20","newPromiseCapabilityModule","require$$22","PROMISE","require$$21","NATIVE_PROMISE_SUBCLASSING","getInternalPromiseState","setInternalState","NativePromisePrototype","PromiseConstructor","PromisePrototype","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","isThenable","callReaction","reaction","exited","ok","fail","rejection","onHandleUnhandled","isReject","notified","reactions","onUnhandled","reason","initEvent","isUnhandled","emit","unwrap","internalReject","done","internalResolve","wrapper","executor","onFulfilled","onRejected","PromiseWrapper","wrap","iterators","Iterators","ITERATOR","ArrayPrototype","getIteratorMethod","isArrayIteratorMethod","getIterator","usingIterator","iteratorMethod","iteratorClose","kind","innerResult","innerError","Result","stopped","ResultPrototype","iterate","iterable","unboundFunction","iterFn","step","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","stop","condition","callFn","SAFE_CLOSING","iteratorWithReturn","return","from","checkCorrectnessOfIteration","SKIP_CLOSING","ITERATION_SUPPORT","promiseStaticsIncorrectIteration","capability","$promiseResolve","values","remaining","alreadyCalled","real","catch","race","r","promiseResolve","promiseCapability","defined","Number","isNaN","ascendingDefined","ascending","finite","isFinite","NaN","positive","negative","format","date","fallback","Date","hours","getUTCHours","minutes","getUTCMinutes","seconds","getUTCSeconds","milliseconds","getUTCMilliseconds","year","getUTCFullYear","pad","getUTCMonth","getUTCDate","width","padStart","re","parse","timeIntervals","Map","timeSecond","timeMinute","timeHour","timeDay","timeWeek","timeMonth","every","timeYear","timeMonday","timeTuesday","timeWednesday","timeThursday","timeFriday","timeSaturday","timeSunday","utcIntervals","utcSecond","utcMinute","utcHour","utcDay","utcWeek","utcMonth","utcYear","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","utcSunday","maybeTimeInterval","interval","Error","maybeUtcInterval","TypedArray","getPrototypeOf","Uint8Array","objectToString","constant","coerceNumbers","map","coerceNumber","Float64Array","coerceDates","coerceDate","isoParse","maybeColorChannel","defaultValue","trim","startsWith","endsWith","color","isColor","maybeNumberChannel","arrayify","option","isScaleOptions","maybeInterval","isInteger","abs","d","offset","range","lo","hi","rangei","maybeRangeInterval","isOrdinal","isTemporal","isTemporalString","isNumericString","isNoneish","isNone","orderof","first","last","descending","position","radius","opacity","registry","sqrt4_3","sqrt","symbolHexagon","draw","context","size","rx","PI","ry","hy","moveTo","lineTo","closePath","symbols","symbolAsterisk","symbolCircle","symbolCross","symbolDiamond","symbolDiamond2","symbolPlus","symbolSquare","symbolSquare2","symbolStar","symbolTimes","symbolTriangle","symbolTriangle2","symbolWye","maybeSymbol","isSymbolObject","warn","message","pi","tau","createProjection","projection","inset","globalInset","insetTop","insetRight","insetBottom","insetLeft","dimensions","stream","clip","scaleProjection","geoAlbersUsa","conicProjection","geoAlbers","geoAzimuthalEqualArea","geoAzimuthalEquidistant","geoConicConformal","geoConicEqualArea","geoConicEquidistant","geoEqualEarth","geoEquirectangular","geoGnomonic","identity","reflectY","geoMercator","geoOrthographic","geoStereographic","geoTransverseMercator","namedProjection","height","marginLeft","marginRight","marginTop","marginBottom","dx","dy","x1","y1","x2","y2","s","geoClipRectangle","maybePostClip","transform","tx","ty","x0","y0","geoPath","bounds","k","geoTransform","point","y","kx","ky","rotate","precision","clipAngle","scale","translate","aspectRatio","parallels","fitSize","createContext","className","create","select","creator","documentElement","ordinalSchemes","schemeAccent","schemeCategory10","schemeDark2","schemePaired","schemePastel1","schemePastel2","schemeSet1","schemeSet2","schemeSet3","schemeTableau10","scheme11","schemeBrBG","interpolateBrBG","schemePRGn","interpolatePRGn","schemePiYG","interpolatePiYG","schemePuOr","interpolatePuOr","schemeRdBu","interpolateRdBu","schemeRdGy","interpolateRdGy","schemeRdYlBu","interpolateRdYlBu","schemeRdYlGn","interpolateRdYlGn","schemeSpectral","interpolateSpectral","scheme11r","scheme9","schemeBlues","interpolateBlues","schemeGreens","interpolateGreens","schemeGreys","interpolateGreys","schemeOranges","interpolateOranges","schemePurples","interpolatePurples","schemeReds","interpolateReds","schemei","interpolateTurbo","interpolateViridis","interpolateMagma","interpolateInferno","interpolatePlasma","interpolateCividis","interpolateCubehelixDefault","interpolateWarm","interpolateCool","schemeBuGn","interpolateBuGn","schemeBuPu","interpolateBuPu","schemeGnBu","interpolateGnBu","schemeOrRd","interpolateOrRd","schemePuBu","interpolatePuBu","schemePuBuGn","interpolatePuBuGn","schemePuRd","interpolatePuRd","schemeRdPu","interpolateRdPu","schemeYlGn","interpolateYlGn","schemeYlGnBu","interpolateYlGnBu","schemeYlOrBr","interpolateYlOrBr","schemeYlOrRd","interpolateYlOrRd","schemeicyclical","interpolateRainbow","interpolateSinebow","scheme","interpolate","quantize","t","reverse","ordinalScheme","ordinalRange","quantitativeSchemes","quantitativeScheme","divergingSchemes","Set","isDivergingScheme","flip","unit","interpolators","interpolateNumber","interpolateRgb","interpolateHsl","interpolateHcl","interpolateLab","maybeInterpolator","createScaleQ","channels","nice","clamp","zero","inferAutoDomain","unknown","round","inferRadialRange","inferLengthRange","interpolateRound","_","interpolatePiecewise","extent","sign","reverseof","maybeNiceInterval","maybeNice","createScalePow","exponent","scalePow","createScaleThreshold","isOrdered","scaleThreshold","inferDomain","inferZeroDomain","hint","find","h25","quantile","h50","median","inferLogDomain","v","inferQuantileDomain","createScaleD","pivot","symmetric","piecewise","mid","mindelta","maxdelta","invert","interpolator","createScaleDivergingPow","scaleDivergingPow","transformSqrt","pow","transformPow","createScaleDivergingSymlog","scaleDivergingSymlog","log1p","expm1","transformSymlog","transformIdentity","transformLog","log","exp","createScaleT","ordinalImplicit","createScaleO","createScaleOrdinal","fill","inferHint","stroke","inferSymbolHint","symbolsStroke","symbolsFill","inferSymbolRange","maybeBooleanRange","t0","scaleImplicit","scaleOrdinal","maybeRound","InternSet","sort","candidate","normalizeScale","typeProjection","some","asOrdinalType","filter","inferScaleType","isOrdinalScale","formatScaleType","coerceType","coerceSymbols","scaleDiverging","createScaleDiverging","createScaleDivergingSqrt","base","scaleDivergingLog","createScaleDivergingLog","scaleLinear","createScaleLinear","createScaleSqrt","quantiles","scaleQuantile","createScaleQuantile","thresholds","ticks","splice","pop","createScaleQuantize","scaleLog","createScaleLog","scaleSymlog","createScaleSymlog","scaleUtc","createScaleUtc","scaleTime","createScaleTime","align","padding","scalePoint","createScalePoint","paddingInner","paddingOuter","scaleBand","createScaleBand","scaleIdentity","createScale","description","coerceValues","c","numberFormat","compute","cacheValue","cacheKeys","memoize1","locale","Intl","NumberFormat","formatIsoDate","isoFormat","impliedString","impliedValue","formatNumber","formatAuto","validClassName","maybeClassName","applyInlineStyles","selection","style","property","element","inferFontVariant","maybeScale","legendItems","swatch","columns","tickFormat","fontVariant","swatchSize","swatchWidth","swatchHeight","utcFormat","maybeAutoTickFormat","swatches","attr","extraStyle","selectAll","append","text","ownerDocument","div","insert","legendRegistry","fillOpacity","strokeOpacity","strokeWidth","vf","cf","vs","cs","sf","ss","p","path","legendColor","legend","rgb","interpolateOpacity","legendOptions","label","rest","o","defaults","inherit","isThresholdScale","legendSwatches","tickSize","svg","tickAdjust","g","applyRange","rangeRound","copy","Infinity","canvas","context2","getContext","fillStyle","fillRect","toDataURL","thresholdFormat","bandwidth","axisBottom","isArray","tickValues","remove","legendRamp","DEFAULT_SELECTOR","defaultOptions","enabled","itemSelector","Legend","calendar","_classCallCheck","root","shown","pluginOptions","scaleOptions","_this$options","destroy"],"mappings":"k7BACAA,EAAiB,SAAUC,GACzB,IACE,QAASA,GACV,CAAC,MAAOC,GACP,OAAO,CACR,CACH,ECHAC,GAHYC,GAGY,WAEtB,OAA+E,IAAxEC,OAAOC,eAAe,GAAI,EAAG,CAAEC,IAAK,WAAc,OAAO,CAAI,IAAI,EAC1E,ICJAC,GAFYJ,GAEY,WAEtB,IAAIK,EAAO,WAA4B,EAAEC,OAEzC,MAAsB,mBAARD,GAAsBA,EAAKE,eAAe,YAC1D,ICPIC,EAAcR,EAEdS,EAAoBC,SAASC,UAC7BC,EAAOH,EAAkBG,KACzBC,EAAsBL,GAAeC,EAAkBH,KAAKA,KAAKM,EAAMA,GAE3EE,EAAiBN,EAAcK,EAAsB,SAAUE,GAC7D,OAAO,WACL,OAAOH,EAAKI,MAAMD,EAAIE,UAC1B,CACA,ECRAC,EAAiB,SAAUC,GACzB,OAAOA,OACT,ECJID,EAAoBlB,EAEpBoB,EAAaC,UAIjBC,EAAiB,SAAUH,GACzB,GAAID,EAAkBC,GAAK,MAAM,IAAIC,EAAW,wBAA0BD,GAC1E,OAAOA,CACT,ECTIG,EAAyBtB,EAEzBuB,EAAUtB,OAIduB,EAAiB,SAAUC,GACzB,OAAOF,EAAQD,EAAuBG,GACxC,ECPID,EAAWE,EAEXnB,EAHcP,EAGe,GAAGO,gBAKpCoB,EAAiB1B,OAAO2B,QAAU,SAAgBT,EAAIU,GACpD,OAAOtB,EAAeiB,EAASL,GAAKU,EACtC,ECVIC,EAAc9B,EACd4B,EAASF,EAETjB,EAAoBC,SAASC,UAE7BoB,EAAgBD,GAAe7B,OAAO+B,yBAEtCC,EAASL,EAAOnB,EAAmB,QAKvCyB,EAAiB,CACfD,OAAQA,EACRE,OALWF,GAA0D,cAAhD,WAAqC,EAAEG,KAM5DC,aALiBJ,KAAYH,GAAgBA,GAAeC,EAActB,EAAmB,QAAQ6B,eCVvGC,EAAA,CAAAC,QAAA,CAAA,GAAIC,EAAiC,iBAAZC,UAAwBA,SAASC,IAM1DC,EAAiB,CACfD,IAAKF,EACLI,gBAJqC,IAAfJ,QAA8CK,IAAhBL,GCFlDA,EAFezC,EAEY2C,IAI/BI,EANmB/C,EAMW6C,WAAa,SAAUpB,GACnD,MAA0B,mBAAZA,GAA0BA,IAAagB,CACvD,EAAI,SAAUhB,GACZ,MAA0B,mBAAZA,CAChB,ECVIuB,EAAQ,SAAU7B,GACpB,OAAOA,GAAMA,EAAG8B,OAASA,MAAQ9B,CACnC,EAGA+B,EAEEF,EAA2B,iBAAdG,YAA0BA,aACvCH,EAAuB,iBAAVI,QAAsBA,SAEnCJ,EAAqB,iBAARK,MAAoBA,OACjCL,EAAuB,iBAAVE,GAAsBA,IACnCF,EAAqB,iBAARM,GAAoBA,IAEjC,WAAe,OAAOA,IAAO,CAA7B,IAAoC5C,SAAS,cAATA,GCdlCwC,EAASlD,EAGTE,EAAiBD,OAAOC,eAE5BqD,EAAiB,SAAU1B,EAAK2B,GAC9B,IACEtD,EAAegD,EAAQrB,EAAK,CAAE2B,MAAOA,EAAOlB,cAAc,EAAMmB,UAAU,GAC3E,CAAC,MAAO3D,GACPoD,EAAOrB,GAAO2B,CACf,CAAC,OAAOA,CACX,ECVID,EAAuB7B,EAEvBgC,EAAS,qBAGbC,EANa3D,EAIM0D,IAAWH,EAAqBG,EAAQ,CAAA,GCHvDX,EAAarB,EACbkC,EAAQC,EAERC,EAJc9D,EAIiBU,SAASqD,UAGvChB,EAAWa,EAAMI,iBACpBJ,EAAMI,cAAgB,SAAU7C,GAC9B,OAAO2C,EAAiB3C,EAC5B,OCHI8C,EAAOC,EDMXF,EAAiBJ,EAAMI,cEZnBjB,EAAarB,EAEbyC,EAHSnE,EAGQmE,QAErBC,EAAiBrB,EAAWoB,IAAY,cAAc9D,KAAKgE,OAAOF,ICL9DpB,EAAa/C,EAGbyC,EAFef,EAEYiB,IAE/B2B,EAJmB5C,EAIWmB,WAAa,SAAU1B,GACnD,MAAoB,iBAANA,EAAwB,OAAPA,EAAc4B,EAAW5B,IAAOA,IAAOsB,CACxE,EAAI,SAAUtB,GACZ,MAAoB,iBAANA,EAAwB,OAAPA,EAAc4B,EAAW5B,EAC1D,ECTAoD,EAAA,CAAA,EACID,GAAW5C,EAEXgB,GAHS1C,EAGS0C,SAElBT,GAASqC,GAAS5B,KAAa4B,GAAS5B,GAAS8B,eAErDC,GAAiB,SAAUtD,GACzB,OAAOc,GAASS,GAAS8B,cAAcrD,GAAM,CAAA,CAC/C,ECPIqD,GAAgBX,GAGpBa,IALkB1E,IACN0B,GAI4B,WAEtC,OAES,IAFFzB,OAAOC,eAAesE,GAAc,OAAQ,IAAK,CACtDrE,IAAK,WAAc,OAAO,CAAI,IAC7BwE,CACL,ICLAC,GALkB5E,GACN0B,GAI0B,WAEpC,OAGiB,KAHVzB,OAAOC,gBAAe,WAAY,GAAiB,YAAa,CACrEsD,MAAO,GACPC,UAAU,IACT9C,SACL,ICXI2D,GAAWtE,EAEX6E,GAAUR,OACVjD,GAAaC,UAGjByD,GAAiB,SAAUrD,GACzB,GAAI6C,GAAS7C,GAAW,OAAOA,EAC/B,MAAM,IAAIL,GAAWyD,GAAQpD,GAAY,oBAC3C,ECTIjB,GAAcR,EAEdY,GAAOF,SAASC,UAAUC,KAE9BmE,GAAiBvE,GAAcI,GAAKN,KAAKM,IAAQ,WAC/C,OAAOA,GAAKI,MAAMJ,GAAMK,UAC1B,ECNIiC,GAASlD,EACT+C,GAAarB,EAMjBsD,GAAiB,SAAUC,EAAWC,GACpC,OAAOjE,UAAUkE,OAAS,GALF1D,EAKgByB,GAAO+B,GAJxClC,GAAWtB,GAAYA,OAAWqB,GAIoBI,GAAO+B,IAAc/B,GAAO+B,GAAWC,GALtF,IAAUzD,CAM1B,ECPA2D,GAFkBpF,EAEW,CAAE,EAACqF,eCFhCC,GAAqC,oBAAbC,WAA4BlB,OAAOkB,UAAUC,YAAc,GVA/EtC,GAASlD,EACTwF,GAAY9D,GAEZ+D,GAAUvC,GAAOuC,QACjBC,GAAOxC,GAAOwC,KACdC,GAAWF,IAAWA,GAAQE,UAAYD,IAAQA,GAAKxB,QACvD0B,GAAKD,IAAYA,GAASC,GAG1BA,KAIF1B,GAHAD,EAAQ2B,GAAGC,MAAM,MAGD,GAAK,GAAK5B,EAAM,GAAK,EAAI,IAAMA,EAAM,GAAKA,EAAM,MAK7DC,GAAWsB,OACdvB,EAAQuB,GAAUvB,MAAM,iBACVA,EAAM,IAAM,MACxBA,EAAQuB,GAAUvB,MAAM,oBACbC,GAAWD,EAAM,IAIhC,IAAA6B,GAAiB5B,EWzBb6B,GAAa/F,GACbJ,GAAQ8B,EAGRmD,GAFShB,EAEQQ,OAGrB2B,KAAmB/F,OAAOgG,wBAA0BrG,IAAM,WACxD,IAAIsG,EAASC,OAAO,oBAKpB,OAAQtB,GAAQqB,MAAajG,OAAOiG,aAAmBC,UAEpDA,OAAOC,MAAQL,IAAcA,GAAa,EAC/C,ICdAM,GAFoBrG,KAGdmG,OAAOC,MACkB,iBAAnBD,OAAOG,SCLftB,GAAahF,GACb+C,GAAarB,EACb2D,GAAgBxB,GAGhBtC,GAAUtB,OAEdsG,GAJwBC,GAIa,SAAUrF,GAC7C,MAAoB,iBAANA,CAChB,EAAI,SAAUA,GACZ,IAAIsF,EAAUzB,GAAW,UACzB,OAAOjC,GAAW0D,IAAYpB,GAAcoB,EAAQ9F,UAAWY,GAAQJ,GACzE,ECZI0D,GAAUR,OAEdqC,GAAiB,SAAUjF,GACzB,IACE,OAAOoD,GAAQpD,EAChB,CAAC,MAAO3B,GACP,MAAO,QACR,CACH,ECRIiD,GAAa/C,EACb0G,GAAchF,GAEdN,GAAaC,UAGjBsF,GAAiB,SAAUlF,GACzB,GAAIsB,GAAWtB,GAAW,OAAOA,EACjC,MAAM,IAAIL,GAAWsF,GAAYjF,GAAY,qBAC/C,ECTIkF,GAAY3G,GACZkB,GAAoBQ,EAIxBkF,GAAiB,SAAUC,EAAGC,GAC5B,IAAIC,EAAOF,EAAEC,GACb,OAAO5F,GAAkB6F,QAAQjE,EAAY6D,GAAUI,EACzD,ECRInG,GAAOZ,GACP+C,GAAarB,EACb4C,GAAWT,EAEXzC,GAAaC,UCHjB2F,GAAA,CAAAxE,QAAA,CAAA,GAAIoB,GAAQlC,GAEXuF,WAAiB,SAAUpF,EAAK2B,GAC/B,OAAOI,GAAM/B,KAAS+B,GAAM/B,QAAiBiB,IAAVU,EAAsBA,EAAQ,CAAA,EACnE,GAAG,WAAY,IAAI0D,KAAK,CACtBhD,QAAS,SACTiD,KAAyB,SACzBC,UAAW,4CACXC,QAAS,2DACTC,OAAQ,0DCVNC,GAAcvH,EAEdwH,GAAK,EACLC,GAAUxE,KAAKyE,SACf3D,GAAWwD,GAAY,GAAIxD,UAE/B4D,GAAiB,SAAU9F,GACzB,MAAO,gBAAqBiB,IAARjB,EAAoB,GAAKA,GAAO,KAAOkC,KAAWyD,GAAKC,GAAS,GACtF,ECPIG,GAASlG,GACTE,GAASiC,EACT8D,GAAMnB,GACNqB,GAAgBC,GAChBC,GAAoBC,GAEpB7B,GAPSnG,EAOOmG,OAChB8B,GAAwBL,GAAO,OAC/BM,GAAwBH,GAAoB5B,GAAY,KAAKA,GAASA,IAAUA,GAAOgC,eAAiBR,GAE5GS,GAAiB,SAAUhG,GAKvB,OAJGR,GAAOqG,GAAuB7F,KACjC6F,GAAsB7F,GAAQyF,IAAiBjG,GAAOuE,GAAQ/D,GAC1D+D,GAAO/D,GACP8F,GAAsB,UAAY9F,IAC/B6F,GAAsB7F,EACjC,ECjBIxB,GAAOZ,GACPsE,GAAW5C,EACX6E,GAAW1C,GACX+C,GAAYJ,GACZ6B,GJIa,SAAUC,EAAOC,GAChC,IAAIxH,EAAIyH,EACR,GAAa,WAATD,GAAqBxF,GAAWhC,EAAKuH,EAAMvE,YAAcO,GAASkE,EAAM5H,GAAKG,EAAIuH,IAAS,OAAOE,EACrG,GAAIzF,GAAWhC,EAAKuH,EAAMG,WAAanE,GAASkE,EAAM5H,GAAKG,EAAIuH,IAAS,OAAOE,EAC/E,GAAa,WAATD,GAAqBxF,GAAWhC,EAAKuH,EAAMvE,YAAcO,GAASkE,EAAM5H,GAAKG,EAAIuH,IAAS,OAAOE,EACrG,MAAM,IAAIpH,GAAW,0CACvB,EIPIA,GAAaC,UACbqH,GAHkBV,GAGa,eCR/BW,GDYa,SAAUL,EAAOC,GAChC,IAAKjE,GAASgE,IAAU/B,GAAS+B,GAAQ,OAAOA,EAChD,IACIM,EADAC,EAAejC,GAAU0B,EAAOI,IAEpC,GAAIG,EAAc,CAGhB,QAFa/F,IAATyF,IAAoBA,EAAO,WAC/BK,EAAShI,GAAKiI,EAAcP,EAAOC,IAC9BjE,GAASsE,IAAWrC,GAASqC,GAAS,OAAOA,EAClD,MAAM,IAAIxH,GAAW,0CACtB,CAED,YADa0B,IAATyF,IAAoBA,EAAO,UACxBF,GAAoBC,EAAOC,EACpC,ECvBIhC,GAAW7E,GAIfoH,GAAiB,SAAUrH,GACzB,IAAII,EAAM8G,GAAYlH,EAAU,UAChC,OAAO8E,GAAS1E,GAAOA,EAAMA,EAAM,EACrC,ECRIC,GAAc9B,EACd+I,GAAiBrH,GACjBsH,GAA0BnF,GAC1BiB,GAAW0B,GACXsC,GAAgBhB,GAEhB1G,GAAaC,UAEb4H,GAAkBhJ,OAAOC,eAEzBgJ,GAA4BjJ,OAAO+B,yBACnCmH,GAAa,aACb9G,GAAe,eACf+G,GAAW,WAIf7E,EAAA8E,EAAYvH,GAAckH,GAA0B,SAAwBM,EAAGxC,EAAGyC,GAIhF,GAHAzE,GAASwE,GACTxC,EAAIgC,GAAchC,GAClBhC,GAASyE,GACQ,mBAAND,GAA0B,cAANxC,GAAqB,UAAWyC,GAAcH,MAAYG,IAAeA,EAAWH,IAAW,CAC5H,IAAII,EAAUN,GAA0BI,EAAGxC,GACvC0C,GAAWA,EAAQJ,MACrBE,EAAExC,GAAKyC,EAAW/F,MAClB+F,EAAa,CACXjH,aAAcD,MAAgBkH,EAAaA,EAAWlH,IAAgBmH,EAAQnH,IAC9EoH,WAAYN,MAAcI,EAAaA,EAAWJ,IAAcK,EAAQL,IACxE1F,UAAU,GAGf,CAAC,OAAOwF,GAAgBK,EAAGxC,EAAGyC,EACjC,EAAIN,GAAkB,SAAwBK,EAAGxC,EAAGyC,GAIlD,GAHAzE,GAASwE,GACTxC,EAAIgC,GAAchC,GAClBhC,GAASyE,GACLR,GAAgB,IAClB,OAAOE,GAAgBK,EAAGxC,EAAGyC,EACjC,CAAI,MAAOzJ,GAAsB,CAC/B,GAAI,QAASyJ,GAAc,QAASA,EAAY,MAAM,IAAInI,GAAW,2BAErE,MADI,UAAWmI,IAAYD,EAAExC,GAAKyC,EAAW/F,OACtC8F,CACT,EC1CA,ICYII,GAAKvJ,GAAKwJ,GDZdC,GAAiB,SAAUC,EAAQrG,GACjC,MAAO,CACLiG,aAAuB,EAATI,GACdvH,eAAyB,EAATuH,GAChBpG,WAAqB,EAAToG,GACZrG,MAAOA,EAEX,EENIsG,GAAuBpI,EACvBkI,GAA2B/F,GAE/BkG,GAJkB/J,EAIa,SAAUgK,EAAQnI,EAAK2B,GACpD,OAAOsG,GAAqBT,EAAEW,EAAQnI,EAAK+H,GAAyB,EAAGpG,GACzE,EAAI,SAAUwG,EAAQnI,EAAK2B,GAEzB,OADAwG,EAAOnI,GAAO2B,EACPwG,CACT,ECRIrC,GAAMjG,GAENuI,GAHSjK,GAGK,QCHlBkK,GAAiB,CAAA,EHAbC,GAAkBnK,EAClBkD,GAASxB,EACT4C,GAAWT,EACXkG,GAA8BvD,GAC9B5E,GAASkG,EACTF,GAASI,EACToC,GEDa,SAAUvI,GACzB,OAAOoI,GAAKpI,KAASoI,GAAKpI,GAAO8F,GAAI9F,GACvC,EFAIqI,GAAaG,GAEbC,GAA6B,6BAC7BjJ,GAAY6B,GAAO7B,UACnB8C,GAAUjB,GAAOiB,QAgBrB,GAAIgG,IAAmBvC,GAAO2C,MAAO,CACnC,IAAI3G,GAAQgE,GAAO2C,QAAU3C,GAAO2C,MAAQ,IAAIpG,IAEhDP,GAAMzD,IAAMyD,GAAMzD,IAClByD,GAAM+F,IAAM/F,GAAM+F,IAClB/F,GAAM8F,IAAM9F,GAAM8F,IAElBA,GAAM,SAAUvI,EAAIqJ,GAClB,GAAI5G,GAAM+F,IAAIxI,GAAK,MAAM,IAAIE,GAAUiJ,IAGvC,OAFAE,EAASC,OAAStJ,EAClByC,GAAM8F,IAAIvI,EAAIqJ,GACPA,CACX,EACErK,GAAM,SAAUgB,GACd,OAAOyC,GAAMzD,IAAIgB,IAAO,CAAA,CAC5B,EACEwI,GAAM,SAAUxI,GACd,OAAOyC,GAAM+F,IAAIxI,EACrB,CACA,KAAO,CACL,IAAIuJ,GAAQN,GAAU,SACtBF,GAAWQ,KAAS,EACpBhB,GAAM,SAAUvI,EAAIqJ,GAClB,GAAI5I,GAAOT,EAAIuJ,IAAQ,MAAM,IAAIrJ,GAAUiJ,IAG3C,OAFAE,EAASC,OAAStJ,EAClB4I,GAA4B5I,EAAIuJ,GAAOF,GAChCA,CACX,EACErK,GAAM,SAAUgB,GACd,OAAOS,GAAOT,EAAIuJ,IAASvJ,EAAGuJ,IAAS,EAC3C,EACEf,GAAM,SAAUxI,GACd,OAAOS,GAAOT,EAAIuJ,GACtB,CACA,CAEA,IAAAC,GAAiB,CACfjB,IAAKA,GACLvJ,IAAKA,GACLwJ,IAAKA,GACLiB,QArDY,SAAUzJ,GACtB,OAAOwI,GAAIxI,GAAMhB,GAAIgB,GAAMuI,GAAIvI,EAAI,CAAA,EACrC,EAoDE0J,UAlDc,SAAUC,GACxB,OAAO,SAAU3J,GACf,IAAIoJ,EACJ,IAAKjG,GAASnD,KAAQoJ,EAAQpK,GAAIgB,IAAK4J,OAASD,EAC9C,MAAM,IAAIzJ,GAAU,0BAA4ByJ,EAAO,aACvD,OAAOP,CACb,CACA,GIzBIhD,GAAcvH,EACdJ,GAAQ8B,EACRqB,GAAac,EACbjC,GAAS4E,EACT1E,GAAcgG,EACdkD,GAA6BhD,EAAsC3F,aACnE2B,GAAgBiH,EAGhBC,GAFsBb,GAEqBO,QAC3CO,GAHsBd,GAGiBlK,IACvC0E,GAAUR,OAEVnE,GAAiBD,OAAOC,eACxBkL,GAAc7D,GAAY,GAAG8D,OAC7BC,GAAU/D,GAAY,GAAG+D,SACzBC,GAAOhE,GAAY,GAAGgE,MAEtBC,GAAsB1J,KAAgBlC,IAAM,WAC9C,OAAsF,IAA/EM,IAAe,WAA2B,GAAE,SAAU,CAAEsD,MAAO,IAAK2B,MAC7E,IAEIsG,GAAWpH,OAAOA,QAAQwB,MAAM,UAEhC6F,GAAcC,EAAAnJ,QAAiB,SAAUgB,EAAOpB,EAAMwJ,GACf,YAArCR,GAAYvG,GAAQzC,GAAO,EAAG,KAChCA,EAAO,IAAMkJ,GAAQzG,GAAQzC,GAAO,qBAAsB,MAAQ,KAEhEwJ,GAAWA,EAAQC,SAAQzJ,EAAO,OAASA,GAC3CwJ,GAAWA,EAAQE,SAAQ1J,EAAO,OAASA,KAC1CR,GAAO4B,EAAO,SAAYwH,IAA8BxH,EAAMpB,OAASA,KACtEN,GAAa5B,GAAesD,EAAO,OAAQ,CAAEA,MAAOpB,EAAME,cAAc,IACvEkB,EAAMpB,KAAOA,GAEhBoJ,IAAuBI,GAAWhK,GAAOgK,EAAS,UAAYpI,EAAM2B,SAAWyG,EAAQG,OACzF7L,GAAesD,EAAO,SAAU,CAAEA,MAAOoI,EAAQG,QAEnD,IACMH,GAAWhK,GAAOgK,EAAS,gBAAkBA,EAAQI,YACnDlK,IAAa5B,GAAesD,EAAO,YAAa,CAAEC,UAAU,IAEvDD,EAAM7C,YAAW6C,EAAM7C,eAAYmC,EAClD,CAAI,MAAOhD,GAAsB,CAC/B,IAAIyK,EAAQW,GAAqB1H,GAG/B,OAFG5B,GAAO2I,EAAO,YACjBA,EAAMjD,OAASiE,GAAKE,GAAyB,iBAARrJ,EAAmBA,EAAO,KACxDoB,CACX,EAIA9C,SAASC,UAAUoD,SAAW2H,IAAY,WACxC,OAAO3I,GAAWO,OAAS6H,GAAiB7H,MAAMgE,QAAUtD,GAAcV,KAC5E,GAAG,6BCrDCoI,GAAc1L,GACdE,GAAiBwB,EAErBuK,GAAiB,SAAUC,EAAQ9J,EAAM+J,GAGvC,OAFIA,EAAWhM,KAAKuL,GAAYS,EAAWhM,IAAKiC,EAAM,CAAEyJ,QAAQ,IAC5DM,EAAWzC,KAAKgC,GAAYS,EAAWzC,IAAKtH,EAAM,CAAE0J,QAAQ,IACzD5L,GAAemJ,EAAE6C,EAAQ9J,EAAM+J,EACxC,ECPIrK,GAAc9B,EACdoM,GAAuB1K,EAAsCO,OAC7DsF,GAAc1D,EACdoI,GAAwBzF,GAExB/F,GAAoBC,SAASC,UAC7BmD,GAAmByD,GAAY9G,GAAkBsD,UACjDsI,GAAS,mEACTC,GAAa/E,GAAY8E,GAAOxM,MAKhCiC,KAAgBsK,IAClBH,GAAsBxL,GALb,OAKsC,CAC7C6B,cAAc,EACdnC,IAAK,WACH,IACE,OAAOmM,GAAWD,GAAQvI,GAAiBR,OAAO,EACnD,CAAC,MAAOxD,GACP,MAAO,EACR,CACF,IAEL,IAAAyM,GAAA,CAAA,EAAAC,GAAA,CAAA,ECxBIC,GAAwB,CAAE,EAACC,qBAE3B1K,GAA2B/B,OAAO+B,yBAGlC2K,GAAc3K,KAA6ByK,GAAsB7L,KAAK,CAAE,EAAG,GAAK,GAIpF4L,GAAAnD,EAAYsD,GAAc,SAA8B9F,GACtD,IAAIsF,EAAanK,GAAyBsB,KAAMuD,GAChD,QAASsF,GAAcA,EAAW1C,UACpC,EAAIgD,GCZJ,IAAIlF,GAAcvH,EAEd+D,GAAWwD,GAAY,GAAGxD,UAC1BqH,GAAc7D,GAAY,GAAG8D,OAEjCuB,GAAiB,SAAUzL,GACzB,OAAOiK,GAAYrH,GAAS5C,GAAK,GAAI,EACvC,ECNIvB,GAAQ8B,EACRmL,GAAUhJ,GAEVtC,GAAUtB,OACV4F,GALc7F,EAKM,GAAG6F,OAG3BiH,GAAiBlN,IAAM,WAGrB,OAAQ2B,GAAQ,KAAKmL,qBAAqB,EAC5C,IAAK,SAAUvL,GACb,MAAuB,WAAhB0L,GAAQ1L,GAAmB0E,GAAM1E,EAAI,IAAMI,GAAQJ,EAC5D,EAAII,GCbAwL,GAAgB/M,GAChBsB,GAAyBI,EAE7BsL,GAAiB,SAAU7L,GACzB,OAAO4L,GAAczL,GAAuBH,GAC9C,ECNIW,GAAc9B,EACdY,GAAOc,GACPuL,GAA6BpJ,GAC7B+F,GAA2BpD,GAC3BwG,GAAkBlF,GAClBgB,GAAgBd,GAChBpG,GAASqJ,EACTlC,GAAiBsB,GAGjBnB,GAA4BjJ,OAAO+B,yBAI9BuK,GAAAlD,EAAGvH,GAAcoH,GAA4B,SAAkCI,EAAGxC,GAGzF,GAFAwC,EAAI0D,GAAgB1D,GACpBxC,EAAIgC,GAAchC,GACdiC,GAAgB,IAClB,OAAOG,GAA0BI,EAAGxC,EACxC,CAAI,MAAOhH,GAAsB,CAC/B,GAAI8B,GAAO0H,EAAGxC,GAAI,OAAO8C,IAA0BhJ,GAAKqM,GAA2B5D,EAAGC,EAAGxC,GAAIwC,EAAExC,GACjG,ECrBA,IAAI/D,GAAa/C,EACb8J,GAAuBpI,EACvBgK,GAAc7H,GACdN,GAAuBiD,EAE3B0G,GAAiB,SAAU5D,EAAGzH,EAAK2B,EAAOoI,GACnCA,IAASA,EAAU,IACxB,IAAIuB,EAASvB,EAAQnC,WACjBrH,OAAwBU,IAAjB8I,EAAQxJ,KAAqBwJ,EAAQxJ,KAAOP,EAEvD,GADIkB,GAAWS,IAAQkI,GAAYlI,EAAOpB,EAAMwJ,GAC5CA,EAAQ1I,OACNiK,EAAQ7D,EAAEzH,GAAO2B,EAChBD,GAAqB1B,EAAK2B,OAC1B,CACL,IACOoI,EAAQwB,OACJ9D,EAAEzH,KAAMsL,GAAS,UADE7D,EAAEzH,EAEpC,CAAM,MAAO/B,GAAsB,CAC3BqN,EAAQ7D,EAAEzH,GAAO2B,EAChBsG,GAAqBT,EAAEC,EAAGzH,EAAK,CAClC2B,MAAOA,EACPiG,YAAY,EACZnH,cAAesJ,EAAQyB,gBACvB5J,UAAWmI,EAAQ0B,aAEtB,CAAC,OAAOhE,CACX,QC1BIiE,GAAOtK,KAAKsK,KACZC,GAAQvK,KAAKuK,MCDbC,GDMaxK,KAAKwK,OAAS,SAAeC,GAC5C,IAAIC,GAAKD,EACT,OAAQC,EAAI,EAAIH,GAAQD,IAAMI,EAChC,ECLAC,GAAiB,SAAUnM,GACzB,IAAIoM,GAAUpM,EAEd,OAAOoM,GAAWA,GAAqB,IAAXA,EAAe,EAAIJ,GAAMI,EACvD,ECRID,GAAsB5N,GAEtB8N,GAAM7K,KAAK6K,IACXC,GAAM9K,KAAK8K,ICHXH,GAAsB5N,GAEtB+N,GAAM9K,KAAK8K,ICFXC,GDMa,SAAUvM,GACzB,OAAOA,EAAW,EAAIsM,GAAIH,GAAoBnM,GAAW,kBAAoB,CAC/E,ECJAwM,GAAiB,SAAUC,GACzB,OAAOF,GAASE,EAAI/I,OACtB,ECNI6H,GAAkBhN,GAClBmO,GHOa,SAAUC,EAAOjJ,GAChC,IAAIkJ,EAAUT,GAAoBQ,GAClC,OAAOC,EAAU,EAAIP,GAAIO,EAAUlJ,EAAQ,GAAK4I,GAAIM,EAASlJ,EAC/D,EGTI8I,GAAoBpK,GAGpByK,GAAe,SAAUC,GAC3B,OAAO,SAAUC,EAAOC,EAAIC,GAC1B,IAGIlL,EAHA8F,EAAI0D,GAAgBwB,GACpBrJ,EAAS8I,GAAkB3E,GAC3B8E,EAAQD,GAAgBO,EAAWvJ,GAIvC,GAAIoJ,GAAeE,GAAOA,GAAI,KAAOtJ,EAASiJ,GAG5C,IAFA5K,EAAQ8F,EAAE8E,OAEI5K,EAAO,OAAO,OAEvB,KAAM2B,EAASiJ,EAAOA,IAC3B,IAAKG,GAAeH,KAAS9E,IAAMA,EAAE8E,KAAWK,EAAI,OAAOF,GAAeH,GAAS,EACnF,OAAQG,IAAgB,CAC9B,CACA,EAEAI,GAAiB,CAGfC,SAAUN,IAAa,GAGvBO,QAASP,IAAa,IC7BpB1M,GAASF,EACTsL,GAAkBnJ,GAClBgL,GAAUrI,GAAuCqI,QACjD3E,GAAapC,GAEbZ,GANclH,EAMK,GAAGkH,MAE1B4H,GAAiB,SAAU9E,EAAQ+E,GACjC,IAGIlN,EAHAyH,EAAI0D,GAAgBhD,GACpBgF,EAAI,EACJpG,EAAS,GAEb,IAAK/G,KAAOyH,GAAI1H,GAAOsI,GAAYrI,IAAQD,GAAO0H,EAAGzH,IAAQqF,GAAK0B,EAAQ/G,GAE1E,KAAOkN,EAAM5J,OAAS6J,GAAOpN,GAAO0H,EAAGzH,EAAMkN,EAAMC,SAChDH,GAAQjG,EAAQ/G,IAAQqF,GAAK0B,EAAQ/G,IAExC,OAAO+G,CACT,EClBAqG,GAAiB,CACf,cACA,iBACA,gBACA,uBACA,iBACA,WACA,WCREC,GAAqBlP,GAGrBkK,GAFcxI,GAEWyN,OAAO,SAAU,aAKrCC,GAAA/F,EAAGpJ,OAAOoP,qBAAuB,SAA6B/F,GACrE,OAAO4F,GAAmB5F,EAAGY,GAC/B,ECVA,IAAAoF,GAAA,CAAA,EACSA,GAAAjG,EAAGpJ,OAAOgG,sBCDnB,IAAIjB,GAAahF,GAEbuP,GAA4B1L,GAC5B2L,GAA8BhJ,GAC9B1B,GAAWgD,GAEXqH,GALczN,EAKO,GAAGyN,QAG5BM,GAAiBzK,GAAW,UAAW,YAAc,SAAiB7D,GACpE,IAAI8I,EAAOsF,GAA0BlG,EAAEvE,GAAS3D,IAC5C8E,EAAwBuJ,GAA4BnG,EACxD,OAAOpD,EAAwBkJ,GAAOlF,EAAMhE,EAAsB9E,IAAO8I,CAC3E,ECbIrI,GAAS5B,EACTyP,GAAU/N,GACVgO,GAAiC7L,GACjCiG,GAAuBtD,ECHvB5G,GAAQI,EACR+C,GAAarB,EAEbiO,GAAc,kBAEdC,GAAW,SAAUC,EAASC,GAChC,IAAItM,EAAQuM,GAAKC,GAAUH,IAC3B,OAAOrM,IAAUyM,IACbzM,IAAU0M,KACVnN,GAAW+M,GAAalQ,GAAMkQ,KAC5BA,EACR,EAEIE,GAAYJ,GAASI,UAAY,SAAUG,GAC7C,OAAO9L,OAAO8L,GAAQ7E,QAAQqE,GAAa,KAAKS,aAClD,EAEIL,GAAOH,GAASG,KAAO,GACvBG,GAASN,GAASM,OAAS,IAC3BD,GAAWL,GAASK,SAAW,IAEnCI,GAAiBT,GCrBb1M,GAASlD,EACTgC,GAA2BN,GAA2D2H,EACtFU,GAA8BlG,GAC9BqJ,GAAgB1G,GAChBjD,GAAuBuE,EACvBwI,GFAa,SAAUpE,EAAQ5E,EAAQiJ,GAIzC,IAHA,IAAItG,EAAOwF,GAAQnI,GACfpH,EAAiB4J,GAAqBT,EACtCrH,EAA2B0N,GAA+BrG,EACrD2F,EAAI,EAAGA,EAAI/E,EAAK9E,OAAQ6J,IAAK,CACpC,IAAInN,EAAMoI,EAAK+E,GACVpN,GAAOsK,EAAQrK,IAAU0O,GAAc3O,GAAO2O,EAAY1O,IAC7D3B,EAAegM,EAAQrK,EAAKG,EAAyBsF,EAAQzF,GAEhE,CACH,EETI+N,GAAW3E,GAiBfuF,GAAiB,SAAU5E,EAAStE,GAClC,IAGY4E,EAAQrK,EAAK4O,EAAgBC,EAAgBvE,EAHrDwE,EAAS/E,EAAQM,OACjB0E,EAAShF,EAAQ1I,OACjB2N,EAASjF,EAAQkF,KASrB,GANE5E,EADE0E,EACO1N,GACA2N,EACA3N,GAAOyN,IAAWpN,GAAqBoN,EAAQ,CAAA,IAE9CzN,GAAOyN,IAAW,CAAA,GAAIhQ,UAEtB,IAAKkB,KAAOyF,EAAQ,CAQ9B,GAPAoJ,EAAiBpJ,EAAOzF,GAGtB4O,EAFE7E,EAAQmF,gBACV5E,EAAanK,GAAyBkK,EAAQrK,KACfsK,EAAW3I,MACpB0I,EAAOrK,IACtB+N,GAASgB,EAAS/O,EAAM8O,GAAUE,EAAS,IAAM,KAAOhP,EAAK+J,EAAQoF,cAE5ClO,IAAnB2N,EAA8B,CAC3C,UAAWC,UAAyBD,EAAgB,SACpDH,GAA0BI,EAAgBD,EAC3C,EAEG7E,EAAQxF,MAASqK,GAAkBA,EAAerK,OACpD2D,GAA4B2G,EAAgB,QAAQ,GAEtDxD,GAAchB,EAAQrK,EAAK6O,EAAgB9E,EAC5C,CACH,ECrDIsD,GAAqBlP,GACrBiP,GAAcvN,GAKlBuP,GAAiBhR,OAAOgK,MAAQ,SAAcX,GAC5C,OAAO4F,GAAmB5F,EAAG2F,GAC/B,ECRInN,GAAc9B,EACduH,GAAc7F,EACdd,GAAOiD,GACPjE,GAAQ4G,EACRyK,GAAanJ,GACb0H,GAA8BxH,GAC9BiF,GAA6BhC,GAC7BzJ,GAAW6I,EACX0C,GAAgBmE,GAGhBC,GAAUlR,OAAOmR,OAEjBlR,GAAiBD,OAAOC,eACxBiP,GAAS5H,GAAY,GAAG4H,QAI5BkC,IAAkBF,IAAWvR,IAAM,WAEjC,GAAIkC,IAQiB,IARFqP,GAAQ,CAAEG,EAAG,GAAKH,GAAQjR,GAAe,CAAE,EAAE,IAAK,CACnEuJ,YAAY,EACZtJ,IAAK,WACHD,GAAeoD,KAAM,IAAK,CACxBE,MAAO,EACPiG,YAAY,GAEf,IACC,CAAE6H,EAAG,KAAMA,EAAS,OAAO,EAE/B,IAAIC,EAAI,CAAA,EACJC,EAAI,CAAA,EAEJtL,EAASC,OAAO,oBAChBsL,EAAW,uBAGf,OAFAF,EAAErL,GAAU,EACZuL,EAAS5L,MAAM,IAAI6L,SAAQ,SAAUC,GAAOH,EAAEG,GAAOA,CAAM,IACzB,IAA3BR,GAAQ,CAAA,EAAII,GAAGrL,IAAiB+K,GAAWE,GAAQ,CAAA,EAAIK,IAAIjG,KAAK,MAAQkG,CACjF,IAAK,SAAgBvF,EAAQ5E,GAM3B,IALA,IAAIsK,EAAIpQ,GAAS0K,GACb2F,EAAkB5Q,UAAUkE,OAC5BiJ,EAAQ,EACRnI,EAAwBuJ,GAA4BnG,EACpDqD,EAAuBO,GAA2B5D,EAC/CwI,EAAkBzD,GAMvB,IALA,IAIIvM,EAJAiQ,EAAI/E,GAAc9L,UAAUmN,MAC5BnE,EAAOhE,EAAwBkJ,GAAO8B,GAAWa,GAAI7L,EAAsB6L,IAAMb,GAAWa,GAC5F3M,EAAS8E,EAAK9E,OACd4M,EAAI,EAED5M,EAAS4M,GACdlQ,EAAMoI,EAAK8H,KACNjQ,KAAelB,GAAK8L,EAAsBoF,EAAGjQ,KAAM+P,EAAE/P,GAAOiQ,EAAEjQ,IAErE,OAAO+P,CACX,EAAIT,GCtDAC,GAAS1P,GADL1B,GAMN,CAAEkM,OAAQ,SAAU4E,MAAM,EAAM/E,MAAO,EAAGiF,OAAQ/Q,OAAOmR,SAAWA,IAAU,CAC9EA,OAAQA,KCPV,IAGI/Q,GAAO,CAAA,EAEXA,GALsBL,GAEc,gBAGd,IAEtB,IAAAgS,GAAkC,eAAjB3N,OAAOhE,ICPpB4R,GAAwBjS,GACxB+C,GAAarB,EACbkL,GAAa/I,GAGbqO,GAFkB1L,GAEc,eAChCjF,GAAUtB,OAGVkS,GAAwE,cAApDvF,GAAW,WAAc,OAAO3L,SAAY,CAAjC,IAUnC4L,GAAiBoF,GAAwBrF,GAAa,SAAUzL,GAC9D,IAAImI,EAAG8I,EAAKxJ,EACZ,YAAc9F,IAAP3B,EAAmB,YAAqB,OAAPA,EAAc,OAEO,iBAAjDiR,EAXD,SAAUjR,EAAIU,GACzB,IACE,OAAOV,EAAGU,EACd,CAAI,MAAO/B,GAAsB,CACjC,CAOoBuS,CAAO/I,EAAI/H,GAAQJ,GAAK+Q,KAA8BE,EAEpED,GAAoBvF,GAAWtD,GAEF,YAA5BV,EAASgE,GAAWtD,KAAoBvG,GAAWuG,EAAEgJ,QAAU,YAAc1J,CACpF,EC3BIiE,GAAUnL,GCCVqC,GDFwB/D,GAKa,CAAA,EAAG+D,SAAW,WACrD,MAAO,WAAa8I,GAAQvJ,MAAQ,GACtC,ECP4BtD,IACR0B,GAMJzB,OAAOU,UAAW,WAAYoD,GAAU,CAAEqJ,QAAQ,ICPlE,IAGAmF,GAA6C,YAF/B7Q,GADD1B,EAGmByF,SCH5B8B,GAAcvH,EACd2G,GAAYjF,GCDZqB,GAAa/C,EAEb6E,GAAUR,OACVjD,GAAaC,UCFbmR,GFEa,SAAUxI,EAAQnI,EAAKqD,GACtC,IAEE,OAAOqC,GAAYZ,GAAU1G,OAAO+B,yBAAyBgI,EAAQnI,GAAKqD,IAC9E,CAAI,MAAOpF,GAAsB,CACjC,EENIgF,GAAWpD,GACX+Q,GDEa,SAAUhR,GACzB,GAAuB,iBAAZA,GAAwBsB,GAAWtB,GAAW,OAAOA,EAChE,MAAM,IAAIL,GAAW,aAAeyD,GAAQpD,GAAY,kBAC1D,ECCAiR,GAAiBzS,OAAO0S,iBAAmB,aAAe,CAAE,EAAG,WAC7D,IAEI7G,EAFA8G,GAAiB,EACjBvS,EAAO,CAAA,EAEX,KACEyL,EAAS0G,GAAoBvS,OAAOU,UAAW,YAAa,QACrDN,EAAM,IACbuS,EAAiBvS,aAAgBwS,KACrC,CAAI,MAAO/S,GAAsB,CAC/B,OAAO,SAAwBwJ,EAAGwJ,GAKhC,OAJAhO,GAASwE,GACTmJ,GAAmBK,GACfF,EAAgB9G,EAAOxC,EAAGwJ,GACzBxJ,EAAEyJ,UAAYD,EACZxJ,CACX,CACA,CAhB+D,QAgBzDxG,GCzBF5C,GAAiBF,EAA+CqJ,EAChEzH,GAASF,EAGTwQ,GAFkBrO,GAEc,eCJhCmB,GAAahF,GACbiM,GAAwBvK,GAExBI,GAAc0E,EAEdwM,GAHkBnP,GAGQ,WCL1BwB,GAAgBrF,GAEhBoB,GAAaC,UCFbkG,GAAcvH,EACdJ,GAAQ8B,EACRqB,GAAac,EACbgJ,GAAUrG,GAEVxC,GAAgBgE,EAEhBiL,GAAO,WAAY,EACnBC,GAAQ,GACRC,GALarL,GAKU,UAAW,aAClCsL,GAAoB,2BACpBvT,GAAO0H,GAAY6L,GAAkBvT,MACrCwT,IAAuBD,GAAkB/S,KAAK4S,IAE9CK,GAAsB,SAAuB7R,GAC/C,IAAKsB,GAAWtB,GAAW,OAAO,EAClC,IAEE,OADA0R,GAAUF,GAAMC,GAAOzR,IAChB,CACR,CAAC,MAAO3B,GACP,OAAO,CACR,CACH,EAEIyT,GAAsB,SAAuB9R,GAC/C,IAAKsB,GAAWtB,GAAW,OAAO,EAClC,OAAQoL,GAAQpL,IACd,IAAK,gBACL,IAAK,oBACL,IAAK,yBAA0B,OAAO,EAExC,IAIE,OAAO4R,MAAyBxT,GAAKuT,GAAmBpP,GAAcvC,GACvE,CAAC,MAAO3B,GACP,OAAO,CACR,CACH,EAEAyT,GAAoBnN,MAAO,EAI3B,ICtBIoN,GAAWC,GAAOC,GAASC,GDsB/BC,IAAkBT,IAAavT,IAAM,WACnC,IAAIiU,EACJ,OAAOP,GAAoBA,GAAoB1S,QACzC0S,GAAoBrT,UACpBqT,IAAoB,WAAcO,GAAS,CAAK,KACjDA,CACP,IAAKN,GAAsBD,GEnDvBM,GAAgB5T,GAChB0G,GAAchF,GAEdN,GAAaC,UCHbyD,GAAW9E,GACX8T,GDKa,SAAUrS,GACzB,GAAImS,GAAcnS,GAAW,OAAOA,EACpC,MAAM,IAAIL,GAAWsF,GAAYjF,GAAY,wBAC/C,ECPIP,GAAoB2C,EAGpBmP,GAFkBxM,GAEQ,WCL1BhG,GAAcR,EAEdS,GAAoBC,SAASC,UAC7BK,GAAQP,GAAkBO,MAC1BJ,GAAOH,GAAkBG,KAG7BmT,GAAmC,iBAAXC,SAAuBA,QAAQhT,QAAUR,GAAcI,GAAKN,KAAKU,IAAS,WAChG,OAAOJ,GAAKI,MAAMA,GAAOC,UAC3B,GCTI2L,GAAa5M,GACbuH,GAAc7F,ECDd6F,GDGa,SAAUxG,GAIzB,GAAuB,aAAnB6L,GAAW7L,GAAoB,OAAOwG,GAAYxG,EACxD,ECPI4F,GAAYjF,GACZlB,GAAcqD,EAEdvD,GAAOiH,GAAYA,GAAYjH,MAGnC2T,GAAiB,SAAUlT,EAAImT,GAE7B,OADAvN,GAAU5F,QACM+B,IAAToR,EAAqBnT,EAAKP,GAAcF,GAAKS,EAAImT,GAAQ,WAC9D,OAAOnT,EAAGC,MAAMkT,EAAMjT,UAC1B,CACA,ECVAkT,GAFiBnU,GAEW,WAAY,mBCAxCoU,GAFkBpU,EAEW,GAAGqL,OCF5BjK,GAAaC,UCGjBgT,GAAiB,qCAAqChU,KAHtCL,ITAZkD,GAASlD,EACTgB,GAAQU,GACRpB,GAAOuD,GACPd,GAAayD,EACb5E,GAASkG,EACTlI,GAAQoI,EACRmM,GAAOlJ,GACPmJ,GAAa/J,GACb7F,GAAgB0M,GAChBoD,GQPa,SAAUC,EAAQC,GACjC,GAAID,EAASC,EAAU,MAAM,IAAIpT,GAAW,wBAC5C,OAAOmT,CACT,ERKIE,GAASC,GACTC,GAAUC,GAEVlL,GAAMxG,GAAO2R,aACbC,GAAQ5R,GAAO6R,eACftP,GAAUvC,GAAOuC,QACjBuP,GAAW9R,GAAO8R,SAClBtU,GAAWwC,GAAOxC,SAClBuU,GAAiB/R,GAAO+R,eACxB5Q,GAASnB,GAAOmB,OAChB6Q,GAAU,EACVC,GAAQ,CAAA,EACRC,GAAqB,qBAGzBxV,IAAM,WAEJ4T,GAAYtQ,GAAOmS,QACrB,IAEA,IAAIC,GAAM,SAAU9N,GAClB,GAAI5F,GAAOuT,GAAO3N,GAAK,CACrB,IAAIzG,EAAKoU,GAAM3N,UACR2N,GAAM3N,GACbzG,GACD,CACH,EAEIwU,GAAS,SAAU/N,GACrB,OAAO,WACL8N,GAAI9N,EACR,CACA,EAEIgO,GAAgB,SAAUC,GAC5BH,GAAIG,EAAM1F,KACZ,EAEI2F,GAAyB,SAAUlO,GAErCtE,GAAOyS,YAAYtR,GAAOmD,GAAKgM,GAAUoC,SAAW,KAAOpC,GAAUqC,KACvE,EAGKnM,IAAQoL,KACXpL,GAAM,SAAsBoM,GAC1BxB,GAAwBrT,UAAUkE,OAAQ,GAC1C,IAAIpE,EAAKgC,GAAW+S,GAAWA,EAAUpV,GAASoV,GAC9CC,EAAO3B,GAAWnT,UAAW,GAKjC,OAJAkU,KAAQD,IAAW,WACjBlU,GAAMD,OAAI+B,EAAWiT,EAC3B,EACItC,GAAMyB,IACCA,EACX,EACEJ,GAAQ,SAAwBtN,UACvB2N,GAAM3N,EACjB,EAEMmN,GACFlB,GAAQ,SAAUjM,GAChB/B,GAAQuQ,SAAST,GAAO/N,GAC9B,EAEawN,IAAYA,GAASiB,IAC9BxC,GAAQ,SAAUjM,GAChBwN,GAASiB,IAAIV,GAAO/N,GAC1B,EAGayN,KAAmBR,IAE5Bd,IADAD,GAAU,IAAIuB,IACCiB,MACfxC,GAAQyC,MAAMC,UAAYZ,GAC1B/B,GAAQnT,GAAKqT,GAAKgC,YAAahC,KAI/BzQ,GAAOmT,kBACPtT,GAAWG,GAAOyS,eACjBzS,GAAOoT,eACR9C,IAAoC,UAAvBA,GAAUoC,WACtBhW,GAAM8V,KAEPjC,GAAQiC,GACRxS,GAAOmT,iBAAiB,UAAWb,IAAe,IAGlD/B,GADS2B,MAAsB5Q,GAAc,UACrC,SAAUgD,GAChB2M,GAAKoC,YAAY/R,GAAc,WAAW4Q,IAAsB,WAC9DjB,GAAKqC,YAAYlT,MACjBgS,GAAI9N,EACZ,CACA,EAGY,SAAUA,GAChBiP,WAAWlB,GAAO/N,GAAK,EAC7B,GAIA,IAAAkP,GAAiB,CACfhN,IAAKA,GACLoL,MAAOA,IUlHL6B,GAAQ,WACVrT,KAAKsT,KAAO,KACZtT,KAAKuT,KAAO,IACd,EAEAF,GAAMhW,UAAY,CAChBmW,IAAK,SAAUC,GACb,IAAIC,EAAQ,CAAED,KAAMA,EAAME,KAAM,MAC5BJ,EAAOvT,KAAKuT,KACZA,EAAMA,EAAKI,KAAOD,EACjB1T,KAAKsT,KAAOI,EACjB1T,KAAKuT,KAAOG,CACb,EACD7W,IAAK,WACH,IAAI6W,EAAQ1T,KAAKsT,KACjB,GAAII,EAGF,OADa,QADF1T,KAAKsT,KAAOI,EAAMC,QACV3T,KAAKuT,KAAO,MACxBG,EAAMD,IAEhB,GAGH,ICNIG,GAAQC,GAAQC,GAAMC,GAASC,GDMnCnC,GAAiBwB,GErBjBY,GAAiB,oBAAoBlX,KAFrBL,KAEyD,oBAAVwX,OCA/DC,GAAiB,qBAAqBpX,KAFtBL,IFAZkD,GAASlD,EACTM,GAAOoB,GACPM,GAA2B6B,GAA2DwF,EACtFqO,GAAYlR,GAA6BkD,IACzCiN,GAAQ7O,GACR2M,GAASzM,GACT2P,GAAgB1M,GAChB2M,GAAkBvN,GAClBsK,GAAUzD,GAEV2G,GAAmB3U,GAAO2U,kBAAoB3U,GAAO4U,uBACrDpV,GAAWQ,GAAOR,SAClB+C,GAAUvC,GAAOuC,QACjBsS,GAAU7U,GAAO6U,QAEjBC,GAA2BhW,GAAyBkB,GAAQ,kBAC5D+U,GAAYD,IAA4BA,GAAyBxU,MAIrE,IAAKyU,GAAW,CACd,IAAI9C,GAAQ,IAAIwB,GAEZuB,GAAQ,WACV,IAAIC,EAAQpX,EAEZ,IADI4T,KAAYwD,EAAS1S,GAAQ2S,SAASD,EAAOE,OAC1CtX,EAAKoU,GAAMhV,WAChBY,GACD,CAAC,MAAOjB,GAEP,MADIqV,GAAMyB,MAAMM,KACVpX,CACP,CACGqY,GAAQA,EAAOG,OACvB,EAIO7D,IAAWE,IAAYiD,KAAmBC,KAAoBnV,IAQvDiV,IAAiBI,IAAWA,GAAQQ,UAE9ClB,GAAUU,GAAQQ,aAAQzV,IAElBkJ,YAAc+L,GACtBT,GAAOhX,GAAK+W,GAAQC,KAAMD,IAC1BH,GAAS,WACPI,GAAKY,GACX,GAEavD,GACTuC,GAAS,WACPzR,GAAQuQ,SAASkC,GACvB,GASIR,GAAYpX,GAAKoX,GAAWxU,IAC5BgU,GAAS,WACPQ,GAAUQ,GAChB,IAhCIf,IAAS,EACTC,GAAO1U,GAAS8V,eAAe,IAC/B,IAAIX,GAAiBK,IAAOO,QAAQrB,GAAM,CAAEsB,eAAe,IAC3DxB,GAAS,WACPE,GAAKrH,KAAOoH,IAAUA,EAC5B,GA8BEc,GAAY,SAAUlX,GACfoU,GAAMyB,MAAMM,KACjB/B,GAAM2B,IAAI/V,EACd,CACA,CAEA,IAAA4X,GAAiBV,GG/EjBW,GAAiB,SAAU/Y,GACzB,IACE,MAAO,CAAEC,OAAO,EAAO0D,MAAO3D,IAC/B,CAAC,MAAOC,GACP,MAAO,CAAEA,OAAO,EAAM0D,MAAO1D,EAC9B,CACH,ECJA+Y,GAFa7Y,EAEW+X,QCDxBe,GAAgC,iBAARpT,MAAoBA,MAA+B,iBAAhBA,KAAKxB,QCEhE6U,IAHc/Y,KACA0B,IAGQ,iBAAV0B,QACY,iBAAZV,SCLRQ,GAASlD,EACTgZ,GAA2BtX,GAC3BqB,GAAac,EACb+L,GAAWpJ,GACXxC,GAAgB8D,EAChBM,GAAkBJ,GAClBiR,GAAahO,GACbiO,GAAU7O,GAEVtE,GAAaoT,GAEYH,IAA4BA,GAAyBrY,UAClF,IAAIqS,GAAU5K,GAAgB,WAC1BgR,IAAc,EACdC,GAAiCtW,GAAWG,GAAOoW,uBAEnDC,GAA6B3J,GAAS,WAAW,WACnD,IAAI4J,EAA6BxV,GAAcgV,IAC3CS,EAAyBD,IAA+BnV,OAAO2U,IAInE,IAAKS,GAAyC,KAAf1T,GAAmB,OAAO,EAMzD,IAAKA,IAAcA,GAAa,KAAO,cAAc1F,KAAKmZ,GAA6B,CAErF,IAAInC,EAAU,IAAI2B,IAAyB,SAAUT,GAAWA,EAAQ,EAAG,IACvEmB,EAAc,SAAU7Z,GAC1BA,GAAK,WAAY,IAAiB,WAAY,GACpD,EAII,IAHkBwX,EAAQrL,YAAc,IAC5BgH,IAAW0G,IACvBN,GAAc/B,EAAQC,MAAK,WAA2B,cAAaoC,GACjD,OAAO,CAE7B,CAAI,OAAQD,IAA2BR,IAAcC,MAAaG,EAClE,IAEAM,GAAiB,CACfC,YAAaL,GACbM,gBAAiBR,GACjBD,YAAaA,IC7CfU,GAAA,CAAA,EAAInT,GAAY3G,GAEZoB,GAAaC,UAEb0Y,GAAoB,SAAUC,GAChC,IAAIzB,EAAS0B,EACb3W,KAAK+T,QAAU,IAAI2C,GAAE,SAAUE,EAAWC,GACxC,QAAgBrX,IAAZyV,QAAoCzV,IAAXmX,EAAsB,MAAM,IAAI7Y,GAAW,2BACxEmX,EAAU2B,EACVD,EAASE,CACb,IACE7W,KAAKiV,QAAU5R,GAAU4R,GACzBjV,KAAK2W,OAAStT,GAAUsT,EAC1B,EAIgBG,GAAA/Q,EAAG,SAAU2Q,GAC3B,OAAO,IAAID,GAAkBC,EAC/B,ECnBA,IAgDIK,GAAUC,GAAsCC,GAhDhDC,GAAIxa,GAEJ2U,GAAU9Q,GACVX,GAASsD,EACT5F,GAAOkH,GACPoF,GAAgBlF,GAChB2K,GAAiB1H,GACjBwP,GxBDa,SAAUvO,EAAQwO,EAAK7J,GAClC3E,IAAW2E,IAAQ3E,EAASA,EAAOvL,WACnCuL,IAAWtK,GAAOsK,EAAQgG,KAC5BhS,GAAegM,EAAQgG,GAAe,CAAE5P,cAAc,EAAMkB,MAAOkX,GAEvE,EwBHIC,GvBDa,SAAUC,GACzB,IAAIC,EAAc7V,GAAW4V,GAEzB9Y,IAAe+Y,IAAgBA,EAAY7H,KAC7C/G,GAAsB4O,EAAa7H,GAAS,CAC1C1Q,cAAc,EACdnC,IAAK,WAAc,OAAOmD,IAAO,GAGvC,EuBPIqD,GAAYwS,GACZpW,GAAa2R,EACbpQ,GAAWsQ,EACXkG,GtBRa,SAAU3Z,EAAI4Z,GAC7B,GAAI1V,GAAc0V,EAAW5Z,GAAK,OAAOA,EACzC,MAAM,IAAIC,GAAW,uBACvB,EsBMI4Z,GlBJa,SAAU1R,EAAG2R,GAC5B,IACInJ,EADAkI,EAAIlV,GAASwE,GAAG0C,YAEpB,YAAalJ,IAANkX,GAAmB9Y,GAAkB4Q,EAAIhN,GAASkV,GAAGhH,KAAYiI,EAAqBnH,GAAahC,EAC5G,EkBCI4E,GAAOwE,GAA6BxR,IACpCuO,GAAYkD,GACZC,GChBa,SAAUzW,EAAG2M,GAC5B,IAEuB,IAArBrQ,UAAUkE,OAAekW,QAAQvb,MAAM6E,GAAK0W,QAAQvb,MAAM6E,EAAG2M,EACjE,CAAI,MAAOxR,GAAsB,CACjC,EDYI8Y,GAAU0C,GACV3E,GAAQ4E,GACRC,GAAsBC,GACtBzC,GAA2B0C,GAE3BC,GAA6BC,GAE7BC,GAAU,UACVtC,GAJ8BuC,GAI2BlC,YACzDP,GAL8ByC,GAK+BjC,gBAC7DkC,GAN8BD,GAM2B1C,YACzD4C,GAA0BR,GAAoB3Q,UAAUgR,IACxDI,GAAmBT,GAAoB9R,IACvCwS,GAAyBlD,IAA4BA,GAAyBrY,UAC9Ewb,GAAqBnD,GACrBoD,GAAmBF,GACnB7a,GAAY6B,GAAO7B,UACnBqB,GAAWQ,GAAOR,SAClB+C,GAAUvC,GAAOuC,QACjB2U,GAAuBuB,GAA2BtS,EAClDgT,GAA8BjC,GAE9BkC,MAAoB5Z,IAAYA,GAAS6Z,aAAerZ,GAAOsZ,eAC/DC,GAAsB,qBAWtBC,GAAa,SAAUvb,GACzB,IAAImW,EACJ,SAAOhT,GAASnD,KAAO4B,GAAWuU,EAAOnW,EAAGmW,QAAQA,CACtD,EAEIqF,GAAe,SAAUC,EAAUrS,GACrC,IAMI3B,EAAQ0O,EAAMuF,EANdrZ,EAAQ+G,EAAM/G,MACdsZ,EAfU,IAeLvS,EAAMA,MACXuL,EAAUgH,EAAKF,EAASE,GAAKF,EAASG,KACtCxE,EAAUqE,EAASrE,QACnB0B,EAAS2C,EAAS3C,OAClB7B,EAASwE,EAASxE,OAEtB,IACMtC,GACGgH,IApBK,IAqBJvS,EAAMyS,WAAyBC,GAAkB1S,GACrDA,EAAMyS,UAvBA,IAyBQ,IAAZlH,EAAkBlN,EAASpF,GAEzB4U,GAAQA,EAAOE,QACnB1P,EAASkN,EAAQtS,GACb4U,IACFA,EAAOC,OACPwE,GAAS,IAGTjU,IAAWgU,EAASvF,QACtB4C,EAAO,IAAI5Y,GAAU,yBACZiW,EAAOoF,GAAW9T,IAC3BhI,GAAK0W,EAAM1O,EAAQ2P,EAAS0B,GACvB1B,EAAQ3P,IACVqR,EAAOzW,EACf,CAAC,MAAO1D,GACHsY,IAAWyE,GAAQzE,EAAOC,OAC9B4B,EAAOna,EACR,CACH,EAEIoX,GAAS,SAAU3M,EAAO2S,GACxB3S,EAAM4S,WACV5S,EAAM4S,UAAW,EACjBlF,IAAU,WAGR,IAFA,IACI2E,EADAQ,EAAY7S,EAAM6S,UAEfR,EAAWQ,EAAUjd,OAC1Bwc,GAAaC,EAAUrS,GAEzBA,EAAM4S,UAAW,EACbD,IAAa3S,EAAMyS,WAAWK,GAAY9S,EAClD,IACA,EAEIiS,GAAgB,SAAUpa,EAAMiV,EAASiG,GAC3C,IAAI7H,EAAOK,EACPwG,KACF7G,EAAQ/S,GAAS6Z,YAAY,UACvBlF,QAAUA,EAChB5B,EAAM6H,OAASA,EACf7H,EAAM8H,UAAUnb,GAAM,GAAO,GAC7Bc,GAAOsZ,cAAc/G,IAChBA,EAAQ,CAAE4B,QAASA,EAASiG,OAAQA,IACtCjE,KAAmCvD,EAAU5S,GAAO,KAAOd,IAAQ0T,EAAQL,GACvErT,IAASqa,IAAqBrB,GAAiB,8BAA+BkC,EACzF,EAEID,GAAc,SAAU9S,GAC1B3J,GAAK8V,GAAMxT,IAAQ,WACjB,IAGI0F,EAHAyO,EAAU9M,EAAME,OAChBjH,EAAQ+G,EAAM/G,MAGlB,GAFmBga,GAAYjT,KAG7B3B,EAASgQ,IAAQ,WACXjE,GACFlP,GAAQgY,KAAK,qBAAsBja,EAAO6T,GACrCmF,GAAcC,GAAqBpF,EAAS7T,EAC3D,IAEM+G,EAAMyS,UAAYrI,IAAW6I,GAAYjT,GArF/B,EADF,EAuFJ3B,EAAO9I,OAAO,MAAM8I,EAAOpF,KAErC,GACA,EAEIga,GAAc,SAAUjT,GAC1B,OA7FY,IA6FLA,EAAMyS,YAA0BzS,EAAM4N,MAC/C,EAEI8E,GAAoB,SAAU1S,GAChC3J,GAAK8V,GAAMxT,IAAQ,WACjB,IAAImU,EAAU9M,EAAME,OAChBkK,GACFlP,GAAQgY,KAAK,mBAAoBpG,GAC5BmF,GAzGa,mBAyGoBnF,EAAS9M,EAAM/G,MAC3D,GACA,EAEIlD,GAAO,SAAUS,EAAIwJ,EAAOmT,GAC9B,OAAO,SAAUla,GACfzC,EAAGwJ,EAAO/G,EAAOka,EACrB,CACA,EAEIC,GAAiB,SAAUpT,EAAO/G,EAAOka,GACvCnT,EAAMqT,OACVrT,EAAMqT,MAAO,EACTF,IAAQnT,EAAQmT,GACpBnT,EAAM/G,MAAQA,EACd+G,EAAMA,MArHO,EAsHb2M,GAAO3M,GAAO,GAChB,EAEIsT,GAAkB,SAAUtT,EAAO/G,EAAOka,GAC5C,IAAInT,EAAMqT,KAAV,CACArT,EAAMqT,MAAO,EACTF,IAAQnT,EAAQmT,GACpB,IACE,GAAInT,EAAME,SAAWjH,EAAO,MAAM,IAAInC,GAAU,oCAChD,IAAIiW,EAAOoF,GAAWlZ,GAClB8T,EACFW,IAAU,WACR,IAAI6F,EAAU,CAAEF,MAAM,GACtB,IACEhd,GAAK0W,EAAM9T,EACTlD,GAAKud,GAAiBC,EAASvT,GAC/BjK,GAAKqd,GAAgBG,EAASvT,GAEjC,CAAC,MAAOzK,GACP6d,GAAeG,EAAShe,EAAOyK,EAChC,CACT,KAEMA,EAAM/G,MAAQA,EACd+G,EAAMA,MA/II,EAgJV2M,GAAO3M,GAAO,GAEjB,CAAC,MAAOzK,GACP6d,GAAe,CAAEC,MAAM,GAAS9d,EAAOyK,EACxC,CAzBsB,CA0BzB,EAGA,GAAIgP,KAcF6C,IAZAD,GAAqB,SAAiB4B,GACpCjD,GAAWxX,KAAM8Y,IACjBzV,GAAUoX,GACVnd,GAAKyZ,GAAU/W,MACf,IAAIiH,EAAQyR,GAAwB1Y,MACpC,IACEya,EAASzd,GAAKud,GAAiBtT,GAAQjK,GAAKqd,GAAgBpT,GAC7D,CAAC,MAAOzK,GACP6d,GAAepT,EAAOzK,EACvB,CACL,GAEwCa,WAGtC0Z,GAAW,SAAiB0D,GAC1B9B,GAAiB3Y,KAAM,CACrByH,KAAM8Q,GACN+B,MAAM,EACNT,UAAU,EACVhF,QAAQ,EACRiF,UAAW,IAAIzG,GACfqG,WAAW,EACXzS,MAlLQ,EAmLR/G,WAAOV,GAEb,GAIWnC,UAAYuM,GAAckP,GAAkB,QAAQ,SAAc4B,EAAaC,GACtF,IAAI1T,EAAQyR,GAAwB1Y,MAChCsZ,EAAWxC,GAAqBY,GAAmB1X,KAAM6Y,KAS7D,OARA5R,EAAM4N,QAAS,EACfyE,EAASE,IAAK/Z,GAAWib,IAAeA,EACxCpB,EAASG,KAAOha,GAAWkb,IAAeA,EAC1CrB,EAASxE,OAASzD,GAAUlP,GAAQ2S,YAAStV,EA/LnC,IAgMNyH,EAAMA,MAAmBA,EAAM6S,UAAUtG,IAAI8F,GAC5C3E,IAAU,WACb0E,GAAaC,EAAUrS,EAC7B,IACWqS,EAASvF,OACpB,IAEEiD,GAAuB,WACrB,IAAIjD,EAAU,IAAIgD,GACd9P,EAAQyR,GAAwB3E,GACpC/T,KAAK+T,QAAUA,EACf/T,KAAKiV,QAAUjY,GAAKud,GAAiBtT,GACrCjH,KAAK2W,OAAS3Z,GAAKqd,GAAgBpT,EACvC,EAEEoR,GAA2BtS,EAAI+Q,GAAuB,SAAUJ,GAC9D,OAAOA,IAAMmC,IA1MmB+B,YA0MGlE,EAC/B,IAAIM,GAAqBN,GACzBqC,GAA4BrC,EACpC,EAEkBjX,GAAWiW,KAA6BkD,KAA2Bjc,OAAOU,WAAW,CACnG4Z,GAAa2B,GAAuB5E,KAE/ByE,IAEH7O,GAAcgP,GAAwB,QAAQ,SAAc8B,EAAaC,GACvE,IAAI/J,EAAO5Q,KACX,OAAO,IAAI6Y,IAAmB,SAAU5D,EAAS0B,GAC/CrZ,GAAK2Z,GAAYrG,EAAMqE,EAAS0B,EACjC,IAAE3C,KAAK0G,EAAaC,EAE7B,GAAS,CAAE7Q,QAAQ,IAIf,WACS8O,GAAuBlQ,WACpC,CAAM,MAAOlM,GAAsB,CAG3B6S,IACFA,GAAeuJ,GAAwBE,GAE1C,CAGH5B,GAAE,CAAEtX,QAAQ,EAAM8I,aAAa,EAAMmS,MAAM,EAAMnN,OAAQuI,IAA8B,CACrFxB,QAASoE,KAGX1B,GAAe0B,GAAoBN,IAAS,GAC5ClB,GAAWkB,IE9RX,IAAAuC,GAAiB,CAAA,ECCbC,GAAY3c,GAEZ4c,GAHkBte,GAGS,YAC3Bue,GAAiB1L,MAAMlS,UCJvBkM,GAAU7M,GACV4G,GAAYlF,GACZR,GAAoB2C,EACpBwa,GAAY7X,GAGZ8X,GAFkBxW,GAES,YAE/B0W,GAAiB,SAAUrd,GACzB,IAAKD,GAAkBC,GAAK,OAAOyF,GAAUzF,EAAImd,KAC5C1X,GAAUzF,EAAI,eACdkd,GAAUxR,GAAQ1L,GACzB,ECZIP,GAAOZ,GACP2G,GAAYjF,GACZoD,GAAWjB,GACX6C,GAAcF,GACdgY,GAAoB1W,GAEpB1G,GAAaC,UCNbT,GAAOZ,GACP8E,GAAWpD,GACXkF,GAAY/C,GCFZvD,GAAON,GACPY,GAAOc,GACPoD,GAAWjB,GACX6C,GAAcF,GACdiY,GJGa,SAAUtd,GACzB,YAAc2B,IAAP3B,IAAqBkd,GAAUxL,QAAU1R,GAAMod,GAAeD,MAAcnd,EACrF,EIJI8M,GAAoBjG,GACpB3C,GAAgB4F,GAChByT,GFCa,SAAUjd,EAAUkd,GACnC,IAAIC,EAAiB3d,UAAUkE,OAAS,EAAIqZ,GAAkB/c,GAAYkd,EAC1E,GAAIhY,GAAUiY,GAAiB,OAAO9Z,GAASlE,GAAKge,EAAgBnd,IACpE,MAAM,IAAIL,GAAWsF,GAAYjF,GAAY,mBAC/C,EEJI+c,GAAoBtN,GACpB2N,GDLa,SAAUvY,EAAUwY,EAAMtb,GACzC,IAAIub,EAAaC,EACjBla,GAASwB,GACT,IAEE,KADAyY,EAAcnY,GAAUN,EAAU,WAChB,CAChB,GAAa,UAATwY,EAAkB,MAAMtb,EAC5B,OAAOA,CACR,CACDub,EAAcne,GAAKme,EAAazY,EACjC,CAAC,MAAOxG,GACPkf,GAAa,EACbD,EAAcjf,CACf,CACD,GAAa,UAATgf,EAAkB,MAAMtb,EAC5B,GAAIwb,EAAY,MAAMD,EAEtB,OADAja,GAASia,GACFvb,CACT,ECXIpC,GAAaC,UAEb4d,GAAS,SAAUC,EAAStW,GAC9BtF,KAAK4b,QAAUA,EACf5b,KAAKsF,OAASA,CAChB,EAEIuW,GAAkBF,GAAOte,UAE7Bye,GAAiB,SAAUC,EAAUC,EAAiB1T,GACpD,IAMItF,EAAUiZ,EAAQnR,EAAOjJ,EAAQyD,EAAQqO,EAAMuI,EAN/CtL,EAAOtI,GAAWA,EAAQsI,KAC1BuL,KAAgB7T,IAAWA,EAAQ6T,YACnCC,KAAe9T,IAAWA,EAAQ8T,WAClCC,KAAiB/T,IAAWA,EAAQ+T,aACpCC,KAAiBhU,IAAWA,EAAQgU,aACpC7e,EAAKT,GAAKgf,EAAiBpL,GAG3B2L,EAAO,SAAUC,GAEnB,OADIxZ,GAAUuY,GAAcvY,EAAU,SAAUwZ,GACzC,IAAIb,IAAO,EAAMa,EAC5B,EAEMC,EAAS,SAAUvc,GACrB,OAAIic,GACF3a,GAAStB,GACFoc,EAAc7e,EAAGyC,EAAM,GAAIA,EAAM,GAAIqc,GAAQ9e,EAAGyC,EAAM,GAAIA,EAAM,KAChEoc,EAAc7e,EAAGyC,EAAOqc,GAAQ9e,EAAGyC,EAChD,EAEE,GAAIkc,EACFpZ,EAAW+Y,EAAS/Y,cACf,GAAIqZ,EACTrZ,EAAW+Y,MACN,CAEL,KADAE,EAASf,GAAkBa,IACd,MAAM,IAAIje,GAAWsF,GAAY2Y,GAAY,oBAE1D,GAAIZ,GAAsBc,GAAS,CACjC,IAAKnR,EAAQ,EAAGjJ,EAAS8I,GAAkBoR,GAAWla,EAASiJ,EAAOA,IAEpE,IADAxF,EAASmX,EAAOV,EAASjR,MACX/I,GAAc8Z,GAAiBvW,GAAS,OAAOA,EAC7D,OAAO,IAAIqW,IAAO,EACrB,CACD3Y,EAAWoY,GAAYW,EAAUE,EAClC,CAGD,IADAtI,EAAOyI,EAAYL,EAASpI,KAAO3Q,EAAS2Q,OACnCuI,EAAO5e,GAAKqW,EAAM3Q,IAAWsX,MAAM,CAC1C,IACEhV,EAASmX,EAAOP,EAAKhc,MACtB,CAAC,MAAO1D,GACP+e,GAAcvY,EAAU,QAASxG,EAClC,CACD,GAAqB,iBAAV8I,GAAsBA,GAAUvD,GAAc8Z,GAAiBvW,GAAS,OAAOA,CAC9F,CAAI,OAAO,IAAIqW,IAAO,EACtB,ECjEIX,GAFkBte,GAES,YAC3BggB,IAAe,EAEnB,IACE,IAAInM,GAAS,EACToM,GAAqB,CACvBhJ,KAAM,WACJ,MAAO,CAAE2G,OAAQ/J,KAClB,EACDqM,OAAU,WACRF,IAAe,CAChB,GAEHC,GAAmB3B,IAAY,WAC7B,OAAOhb,IACX,EAEEuP,MAAMsN,KAAKF,IAAoB,WAAc,MAAM,CAAE,GACvD,CAAE,MAAOngB,GAAsB,CAE/B,ICtBIkZ,GAA2BhZ,GAC3BogB,GDqBa,SAAUvgB,EAAMwgB,GAC/B,IACE,IAAKA,IAAiBL,GAAc,OAAO,CAC5C,CAAC,MAAOlgB,GAAS,OAAO,CAAQ,CACjC,IAAIwgB,GAAoB,EACxB,IACE,IAAItW,EAAS,CAAA,EACbA,EAAOsU,IAAY,WACjB,MAAO,CACLrH,KAAM,WACJ,MAAO,CAAE2G,KAAM0C,GAAoB,EACpC,EAET,EACIzgB,EAAKmK,EACT,CAAI,MAAOlK,GAAsB,CAC/B,OAAOwgB,CACT,ECnCAC,GAFiC1c,GAAsD+V,cAEvCwG,IAA4B,SAAUf,GACpFrG,GAAyBrW,IAAI0c,GAAU/H,UAAKxU,GAAW,WAAY,GACrE,ICLIlC,GAAOc,GACPiF,GAAY9C,GACZ8X,GAA6BnV,GAC7BoS,GAAU9Q,GACVsX,GAAUpX,GALNhI,GAUN,CAAEkM,OAAQ,UAAW4E,MAAM,EAAME,OAJO/F,IAIwC,CAChFtI,IAAK,SAAa0c,GAChB,IAAIrF,EAAI1W,KACJkd,EAAa7E,GAA2BtS,EAAE2Q,GAC1CzB,EAAUiI,EAAWjI,QACrB0B,EAASuG,EAAWvG,OACpBrR,EAASgQ,IAAQ,WACnB,IAAI6H,EAAkB9Z,GAAUqT,EAAEzB,SAC9BmI,EAAS,GACTxL,EAAU,EACVyL,EAAY,EAChBvB,GAAQC,GAAU,SAAUhI,GAC1B,IAAIjJ,EAAQ8G,IACR0L,GAAgB,EACpBD,IACA/f,GAAK6f,EAAiBzG,EAAG3C,GAASC,MAAK,SAAU9T,GAC3Cod,IACJA,GAAgB,EAChBF,EAAOtS,GAAS5K,IACdmd,GAAapI,EAAQmI,GACxB,GAAEzG,EACX,MACQ0G,GAAapI,EAAQmI,EAC7B,IAEI,OADI9X,EAAO9I,OAAOma,EAAOrR,EAAOpF,OACzBgd,EAAWnJ,OACnB,ICpCH,IAAImD,GAAIxa,GAEJuZ,GAA6B1V,GAAsD+V,YACnFZ,GAA2BxS,GAC3BxB,GAAa8C,GACb/E,GAAaiF,EACbkF,GAAgBjC,GAEhBiR,GAAyBlD,IAA4BA,GAAyBrY,UAWlF,GAPA6Z,GAAE,CAAEtO,OAAQ,UAAW4G,OAAO,EAAM9B,OAAQuI,GAA4BsH,MAAM,GAAQ,CACpFC,MAAS,SAAU7C,GACjB,OAAO3a,KAAKgU,UAAKxU,EAAWmb,EAC7B,IAIalb,GAAWiW,IAA2B,CACpD,IAAI9T,GAASF,GAAW,WAAWrE,UAAiB,MAChDub,GAA8B,QAAMhX,IACtCgI,GAAcgP,GAAwB,QAAShX,GAAQ,CAAEkI,QAAQ,GAErE,CCxBA,IACIxM,GAAOc,GACPiF,GAAY9C,GACZ8X,GAA6BnV,GAC7BoS,GAAU9Q,GACVsX,GAAUpX,GALNhI,GAUN,CAAEkM,OAAQ,UAAW4E,MAAM,EAAME,OAJO/F,IAIwC,CAChF8V,KAAM,SAAc1B,GAClB,IAAIrF,EAAI1W,KACJkd,EAAa7E,GAA2BtS,EAAE2Q,GAC1CC,EAASuG,EAAWvG,OACpBrR,EAASgQ,IAAQ,WACnB,IAAI6H,EAAkB9Z,GAAUqT,EAAEzB,SAClC6G,GAAQC,GAAU,SAAUhI,GAC1BzW,GAAK6f,EAAiBzG,EAAG3C,GAASC,KAAKkJ,EAAWjI,QAAS0B,EACnE,GACA,IAEI,OADIrR,EAAO9I,OAAOma,EAAOrR,EAAOpF,OACzBgd,EAAWnJ,OACnB,ICvBH,IACIzW,GAAOc,GACPia,GAA6B9X,GAFzB7D,GAON,CAAEkM,OAAQ,UAAW4E,MAAM,EAAME,OAJFxK,GAAsDoT,aAId,CACvEK,OAAQ,SAAgB+G,GACtB,IAAIR,EAAa7E,GAA2BtS,EAAE/F,MAE9C,OADA1C,GAAK4f,EAAWvG,YAAQnX,EAAWke,GAC5BR,EAAWnJ,OACnB,ICZH,IAAIvS,GAAW9E,GACXsE,GAAW5C,EACX0Y,GAAuBvW,GCFvB2W,GAAIxa,GAIJuZ,GAA6BzR,GAAsD8R,YACnFqH,GDDa,SAAUjH,EAAGtM,GAE5B,GADA5I,GAASkV,GACL1V,GAASoJ,IAAMA,EAAE1B,cAAgBgO,EAAG,OAAOtM,EAC/C,IAAIwT,EAAoB9G,GAAqB/Q,EAAE2Q,GAG/C,OADAzB,EADc2I,EAAkB3I,SACxB7K,GACDwT,EAAkB7J,OAC3B,EEVO,SAAS8J,GAAQzT,GACtB,OAAY,MAALA,IAAc0T,OAAOC,MAAM3T,EACpC,CAEO,SAAS4T,GAAiB3c,EAAG2M,GAClC,OAAQ6P,GAAQ7P,IAAM6P,GAAQxc,IAAM4c,EAASA,UAAC5c,EAAG2M,EACnD,CAUO,SAASkQ,GAAO9T,GACrB,OAAO+T,SAAS/T,GAAKA,EAAIgU,GAC3B,CAEO,SAASC,GAASjU,GACvB,OAAOA,EAAI,GAAK+T,SAAS/T,GAAKA,EAAIgU,GACpC,CAEO,SAASE,GAASlU,GACvB,OAAOA,EAAI,GAAK+T,SAAS/T,GAAKA,EAAIgU,GACpC,CC5Be,SAASG,GAAOC,EAAMC,GAEnC,GADMD,aAAgBE,OAAOF,EAAO,IAAIE,MAAMF,IAC1CT,MAAMS,GAAO,MAA2B,mBAAbC,EAA0BA,EAASD,GAAQC,EAC1E,MAAME,EAAQH,EAAKI,cACbC,EAAUL,EAAKM,gBACfC,EAAUP,EAAKQ,gBACfC,EAAeT,EAAKU,qBAC1B,MAAO,GASWC,EATGX,EAAKY,iBAUnBD,EAAO,EAAI,IAAIE,IAAKF,EAAM,KAC7BA,EAAO,KAAO,IAAIE,GAAIF,EAAM,KAC5BE,GAAIF,EAAM,MAZoCE,GAAIb,EAAKc,cAAgB,EAAG,MAAMD,GAAIb,EAAKe,aAAc,KACzGZ,GAASE,GAAWE,GAAWE,EAAe,IAAII,GAAIV,EAAO,MAAMU,GAAIR,EAAS,KAC9EE,GAAWE,EAAe,IAAII,GAAIN,EAAS,KACzCE,EAAe,IAAII,GAAIJ,EAAc,KAAO,KACzC,MACD,KAIV,IAAoBE,CAFpB,CAQA,SAASE,GAAInf,EAAOsf,GAClB,MAAO,GAAGtf,IAAQuf,SAASD,EAAO,IACpC,CFtBiBphB,GAM0B,WAK3C8Y,GAAE,CAAEtO,OAAQ,UAAW4E,MAAM,EAAME,OAAmBuI,IAA8B,CAClFhB,QAAS,SAAiB7K,GACxB,OAAOuT,GAAgG3d,KAAMoK,EAC9G,IGhBH,MAAMsV,GAAK,6GAEI,SAASC,GAAM9S,EAAQ4R,GACpC,OAAKiB,GAAG3iB,KAAK8P,GAAU,IAChB,IAAI6R,KAAK7R,GADuC,mBAAb4R,EAA0BA,EAAS5R,GAAU4R,CAEzF,CCAA,MAAMmB,GAAgB,IAAIC,IAAI,CAC5B,CAAC,SAAUC,EAAAA,YACX,CAAC,SAAUC,EAAAA,YACX,CAAC,OAAQC,EAAAA,UACT,CAAC,MAAOC,EAAAA,SACR,CAAC,OAAQC,EAAAA,UACT,CAAC,QAASC,EAAAA,WACV,CAAC,UAAWA,EAAAA,UAAUC,MAAM,IAC5B,CAAC,OAAQD,EAAAA,UAAUC,MAAM,IACzB,CAAC,OAAQC,EAAAA,UACT,CAAC,SAAUC,EAAAA,YACX,CAAC,UAAWC,EAAAA,aACZ,CAAC,YAAaC,EAAAA,eACd,CAAC,WAAYC,EAAAA,cACb,CAAC,SAAUC,EAAAA,YACX,CAAC,WAAYC,EAAAA,cACb,CAAC,SAAUC,EAAAA,cAGPC,GAAe,IAAIhB,IAAI,CAC3B,CAAC,SAAUiB,EAAAA,WACX,CAAC,SAAUC,EAAAA,WACX,CAAC,OAAQC,EAAAA,SACT,CAAC,MAAOC,EAAAA,QACR,CAAC,OAAQC,EAAAA,SACT,CAAC,QAASC,EAAAA,UACV,CAAC,UAAWA,EAAAA,SAASf,MAAM,IAC3B,CAAC,OAAQe,EAAAA,SAASf,MAAM,IACxB,CAAC,OAAQgB,EAAAA,SACT,CAAC,SAAUC,EAAAA,WACX,CAAC,UAAWC,EAAAA,YACZ,CAAC,YAAaC,EAAAA,cACd,CAAC,WAAYC,EAAAA,aACb,CAAC,SAAUC,EAAAA,WACX,CAAC,WAAYC,EAAAA,aACb,CAAC,SAAUC,EAAAA,aAGN,SAASC,GAAkBC,GAChC,MAAMnW,EAAIkU,GAAc/iB,IAAI,GAAGglB,IAAW/U,eAC1C,IAAKpB,EAAG,MAAM,IAAIoW,MAAM,qBAAqBD,KAC7C,OAAOnW,CACT,CAEO,SAASqW,GAAiBF,GAC/B,MAAMnW,EAAImV,GAAahkB,IAAI,GAAGglB,IAAW/U,eACzC,IAAKpB,EAAG,MAAM,IAAIoW,MAAM,qBAAqBD,KAC7C,OAAOnW,CACT,CChDO,MAAMsW,GAAarlB,OAAOslB,eAAeC,YAC1CC,GAAiBxlB,OAAOU,UAAUoD,SAuC3BoM,GAAUzC,GAAY,MAALA,EAAYA,EAAI,GAAGA,IAMpCgY,GAAYhY,GAAM,IAAMA,EAU9B,SAASiY,GAAcjF,GAC5B,OAAOA,aAAkB4E,GAAa5E,EAASkF,GAAIlF,EAAQmF,GAAcC,aAC3E,CAKA,SAASD,GAAanY,GACpB,OAAY,MAALA,EAAYgU,IAAMN,OAAO1T,EAClC,CAEO,SAASqY,GAAYrF,GAC1B,OAAOkF,GAAIlF,EAAQsF,GACrB,CAQO,SAASA,GAAWtY,GACzB,OAAOA,aAAasU,OAASX,MAAM3T,GAC/BA,EACa,iBAANA,EACPuY,GAASvY,GACJ,MAALA,GAAa2T,MAAO3T,GAAKA,QACzB5K,EACA,IAAIkf,KAAKtU,EACf,CAQO,SAASwY,GAAkB1iB,EAAO2iB,GAEvC,YADcrjB,IAAVU,IAAqBA,EAAQ2iB,GAChB,OAAV3iB,EAAiB,MAACV,EAAW,QAsT/B,SAAiBU,GACtB,MAAqB,iBAAVA,IACXA,EAAQA,EAAM4M,cAAcgW,OAEhB,SAAV5iB,GACU,iBAAVA,GACCA,EAAM6iB,WAAW,SAAW7iB,EAAM8iB,SAAS,MAC3C9iB,EAAM6iB,WAAW,SAAW7iB,EAAM8iB,SAAS,MAC3B,OAAjBC,EAAKA,MAAC/iB,GAEV,CAhUgDgjB,CAAQhjB,GAAS,MAACV,EAAWU,GAAS,CAACA,OAAOV,EAC9F,CAIO,SAAS2jB,GAAmBjjB,EAAO2iB,GAExC,YADcrjB,IAAVU,IAAqBA,EAAQ2iB,GAChB,OAAV3iB,GAAmC,iBAAVA,EAAqB,MAACV,EAAWU,GAAS,CAACA,OAAOV,EACpF,CAeO,SAAS4jB,GAAS3W,GACvB,OAAe,MAARA,GAAgBA,aAAgB8C,OAAS9C,aAAgBuV,GAAavV,EAAO8C,MAAMsN,KAAKpQ,EACjG,CAIO,SAAS6V,GAAIlF,EAAQrX,EAAG0B,EAAO8H,OACpC,OAAiB,MAAV6N,EAAiBA,EAASA,aAAkB3V,EAAO2V,EAAOkF,IAAIvc,GAAK0B,EAAKoV,KAAKO,EAAQrX,EAC9F,CASO,SAAS/E,GAASqiB,GACvB,OAAOA,GAAQ5iB,WAAa0hB,EAC9B,CAOO,SAASmB,GAAeD,GAC7B,OAAOriB,GAASqiB,UAA4B7jB,IAAhB6jB,EAAO5b,WAAwCjI,IAAlB6jB,EAAOvO,OAClE,CA2HO,SAASyO,GAAc1B,EAAUpa,GACtC,GAAgB,MAAZoa,EAAJ,CACA,GAAwB,iBAAbA,EAAuB,CAC5B,EAAIA,GAAYA,EAAW,GAAK/D,OAAO0F,UAAU,EAAI3B,KAAWA,GAAY,EAAIA,GACpF,MAAMxX,EAAI1K,KAAK8jB,IAAI5B,GACnB,OAAOA,EAAW,EACd,CACE3X,MAAQwZ,GAAM/jB,KAAKuK,MAAMwZ,EAAIrZ,GAAKA,EAClCsZ,OAASD,IAAOA,EAAIrZ,EAAI,GAAKA,EAC7BuZ,MAAO,CAACC,EAAIC,IAAOC,EAAAA,MAAOpkB,KAAKsK,KAAK4Z,EAAKxZ,GAAIyZ,EAAKzZ,GAAGiY,KAAKlY,GAAMA,EAAIC,KAEtE,CACEH,MAAQwZ,GAAM/jB,KAAKuK,MAAMwZ,EAAIrZ,GAAKA,EAClCsZ,OAASD,GAAMA,EAAIrZ,EACnBuZ,MAAO,CAACC,EAAIC,IAAOC,EAAAA,MAAOpkB,KAAKsK,KAAK4Z,EAAKxZ,GAAIyZ,EAAKzZ,GAAGiY,KAAKlY,GAAMA,EAAIC,IAE3E,CACD,GAAwB,iBAAbwX,EAAuB,OAAiB,SAATpa,EAAkBma,GAAoBG,IAAkBF,GAClG,GAA8B,mBAAnBA,EAAS3X,MAAsB,MAAM,IAAI4X,MAAM,0CAC1D,GAA+B,mBAApBD,EAAS8B,OAAuB,MAAM,IAAI7B,MAAM,2CAC3D,OAAOD,CAnBsB,CAoB/B,CAGO,SAASmC,GAAmBnC,EAAUpa,GAE3C,IADAoa,EAAW0B,GAAc1B,EAAUpa,KACO,mBAAnBoa,EAAS+B,MAAsB,MAAM,IAAI9B,MAAM,0CACtE,OAAOD,CACT,CA6CO,SAASoC,GAAU7G,GACxB,IAAK,MAAMld,KAASkd,EAAQ,CAC1B,GAAa,MAATld,EAAe,SACnB,MAAMuH,SAAcvH,EACpB,MAAgB,WAATuH,GAA8B,YAATA,CAC7B,CACH,CAEO,SAASyc,GAAW9G,GACzB,IAAK,MAAMld,KAASkd,EAClB,GAAa,MAATld,EACJ,OAAOA,aAAiBwe,IAE5B,CAMO,SAASyF,GAAiB/G,GAC/B,IAAK,MAAMld,KAASkd,EAClB,GAAa,MAATld,EACJ,MAAwB,iBAAVA,GAAsB6d,MAAM7d,IAAUyiB,GAASziB,EAEjE,CAIO,SAASkkB,GAAgBhH,GAC9B,IAAK,MAAMld,KAASkd,EAClB,GAAa,MAATld,EAAJ,CACA,GAAqB,iBAAVA,EAAoB,OAAO,EACtC,GAAKA,EAAM4iB,OACX,OAAQ/E,MAAM7d,EAHc,CAKhC,CA4CO,SAASmkB,GAAUnkB,GACxB,OAAgB,MAATA,GAGF,SAAgBA,GACrB,MAAO,gBAAgBnD,KAAKmD,EAC9B,CAL0BokB,CAAOpkB,EACjC,CA2BO,SAASqkB,GAAQnH,GACtB,GAAc,MAAVA,EAAgB,OACpB,MAAMoH,EAAQpH,EAAO,GACfqH,EAAOrH,EAAOA,EAAOvb,OAAS,GACpC,OAAO6iB,EAAUA,WAACF,EAAOC,EAC3B,CC1cO,MAAME,GAAW9hB,OAAO,YAKlBogB,GAAQpgB,OAAO,SAIf+hB,GAAS/hB,OAAO,UAIhBhB,GAASgB,OAAO,UAIhBgiB,GAAUhiB,OAAO,WAGjBD,GAASC,OAAO,UAKhBiiB,GAAW,IAAIjF,IAAI,CAC9B,CAAC,IAAK8E,IACN,CAAC,IAAKA,IACN,CAAC,KAAMA,IACP,CAAC,KAAMA,IACP,CAAC,IAAKC,IACN,CAAC,QAAS3B,IACV,CAAC,UAAW4B,IACZ,CAAC,SAAUjiB,IACX,CAAC,SAAUf,MChCAkjB,GAAU,EADFplB,KAAKqlB,KAAK,GAGzBC,GAAgB,CACpBC,KAAKC,EAASC,GACZ,MAAMC,EAAK1lB,KAAKqlB,KAAKI,EAAOzlB,KAAK2lB,IAC/BC,EAAKF,EAAKN,GACVS,EAAKD,EAAK,EACZJ,EAAQM,OAAO,EAAGF,GAClBJ,EAAQO,OAAOL,EAAIG,GACnBL,EAAQO,OAAOL,GAAKG,GACpBL,EAAQO,OAAO,GAAIH,GACnBJ,EAAQO,QAAQL,GAAKG,GACrBL,EAAQO,QAAQL,EAAIG,GACpBL,EAAQQ,WACT,GAGGC,GAAU,IAAI/F,IAAI,CACtB,CAAC,WAAYgG,EAAAA,gBACb,CAAC,SAAUC,EAAAA,cACX,CAAC,QAASC,EAAAA,aACV,CAAC,UAAWC,EAAAA,eACZ,CAAC,WAAYC,EAAAA,gBACb,CAAC,UAAWhB,IACZ,CAAC,OAAQiB,EAAAA,YACT,CAAC,SAAUC,EAAAA,cACX,CAAC,UAAWC,EAAAA,eACZ,CAAC,OAAQC,EAAAA,YACT,CAAC,QAASC,EAAAA,aACV,CAAC,WAAYC,EAAAA,gBACb,CAAC,YAAaC,EAAAA,iBACd,CAAC,MAAOC,EAAAA,aAaH,SAASC,GAAY9jB,GAC1B,GAAc,MAAVA,GAXN,SAAwB1C,GACtB,OAAOA,GAA+B,mBAAfA,EAAMglB,IAC/B,CASwByB,CAAe/jB,GAAS,OAAOA,EACrD,MAAM1C,EAAQ0lB,GAAQ/oB,IAAI,GAAG+F,IAASkK,eACtC,GAAI5M,EAAO,OAAOA,EAClB,MAAM,IAAI4hB,MAAM,mBAAmBlf,IACrC,CC7CO,SAASgkB,GAAKC,GACnB9O,QAAQ6O,KAAKC,EAEf,CCYA,MAAMC,GAAKnnB,KAAK2lB,GACVyB,GAAM,EAAID,GAGT,SAASE,IACdC,WACEA,EACAC,MAAOC,EAAc,EAACC,SACtBA,EAAWD,EAAWE,WACtBA,EAAaF,EAAWG,YACxBA,EAAcH,EAAWI,UACzBA,EAAYJ,GACV,CAAE,EACNK,GAEA,GAAkB,MAAdP,EAAoB,OACxB,GAAiC,mBAAtBA,EAAWQ,OAAuB,OAAOR,EACpD,IAAI3e,EACAwM,EACA4S,EAAO,QAMX,GAAI1mB,GAASimB,GAAa,CACxB,IAAIC,EAYJ,KAVEzf,KAAMwf,EACNnS,SACAoS,QACAE,iBAAqB5nB,IAAV0nB,EAAsBA,EAAQE,GACzCC,mBAAuB7nB,IAAV0nB,EAAsBA,EAAQG,GAC3CC,oBAAwB9nB,IAAV0nB,EAAsBA,EAAQI,GAC5CC,kBAAsB/nB,IAAV0nB,EAAsBA,EAAQK,GAC1CG,OAAOA,KACJpf,GACD2e,GACc,MAAdA,EAAoB,MACzB,CAGyB,mBAAfA,KAA6Bxf,KAAMwf,GA8ChD,SAAyBA,GACvB,OAAQ,GAAGA,IAAana,eACtB,IAAK,aACH,OAAO6a,GAAgBC,EAAAA,aAAc,MAAQ,OAC/C,IAAK,SACH,OAAOC,GAAgBC,EAAAA,UAAW,MAAQ,OAC5C,IAAK,uBACH,OAAOH,GAAgBI,EAAAA,sBAAuB,EAAG,GACnD,IAAK,wBACH,OAAOJ,GAAgBK,EAAAA,wBAAyBjB,GAAKA,IACvD,IAAK,kBACH,OAAOc,GAAgBI,EAAAA,kBAAmBlB,GAAKA,IACjD,IAAK,mBACH,OAAOc,GAAgBK,EAAAA,kBAAmB,OAAQ,QACpD,IAAK,oBACH,OAAOL,GAAgBM,EAAAA,oBAAqB,MAAO,QACrD,IAAK,cACH,OAAOR,GAAgBS,EAAAA,cAAe,OAAQ,QAChD,IAAK,kBACH,OAAOT,GAAgBU,EAAAA,mBAAoBtB,GAAKD,IAClD,IAAK,WACH,OAAOa,GAAgBW,EAAAA,YAAa,OAAQ,QAC9C,IAAK,WACH,MAAO,CAAC7gB,KAAM8gB,IAChB,IAAK,YACH,MAAO,CAAC9gB,KAAM+gB,IAChB,IAAK,WACH,OAAOb,GAAgBc,EAAAA,YAAa1B,GAAKA,IAC3C,IAAK,eACH,OAAOY,GAAgBe,EAAAA,gBAAiB,EAAG,GAC7C,IAAK,gBACH,OAAOf,GAAgBgB,EAAAA,iBAAkB,EAAG,GAC9C,IAAK,sBACH,OAAOhB,GAAgBiB,EAAAA,sBAAuB7B,GAAKA,IACrD,QACE,MAAM,IAAIjF,MAAM,4BAA4BmF,KAElD,CAnF8D4B,CAAgB5B,IAG5E,MAAMzH,MAACA,EAAKsJ,OAAEA,EAAMC,WAAEA,EAAUC,YAAEA,EAAWC,UAAEA,EAASC,aAAEA,GAAgB1B,EACpE2B,EAAK3J,EAAQuJ,EAAaC,EAAczB,EAAYF,EACpD+B,EAAKN,EAASG,EAAYC,EAAe9B,EAAWE,EAI1D,GAHAL,EAAaA,IAAa,CAACzH,MAAO2J,EAAIL,OAAQM,EAAI1B,UAASpf,IAGzC,MAAd2e,EAAoB,OACxBS,EA2EF,SAAuBA,EAAM2B,EAAIC,EAAIC,EAAIC,GACvC,IAAa,IAAT9B,GAA0B,MAARA,GAAgC,iBAATA,EAAmB,OAAQ+B,GAAMA,GACjE,IAAT/B,IAAeA,EAAO,SAC1B,GACO,UADC,GAAGA,IAAO5a,cAEd,OAAO4c,EAAgBA,iBAACL,EAAIC,EAAIC,EAAIC,GAEpC,MAAM,IAAI1H,MAAM,iCAAiC4F,IAEvD,CApFSiC,CAAcjC,EAAMqB,EAAYE,EAAWzJ,EAAQwJ,EAAaF,EAASI,GAGhF,IAEIU,EAFAC,EAAKd,EAAaxB,EAClBuC,EAAKb,EAAY7B,EAIrB,GAAc,MAAVtS,EAAgB,CAClB,OAAQiV,EAAIC,IAAMX,EAAIC,IAAOW,EAAOA,QAAChD,GAAYiD,OAAOpV,GAClDqV,EAAIxqB,KAAK8K,IAAI0e,GAAME,EAAKU,GAAKX,GAAME,EAAKU,IAC1CG,EAAI,GACNN,IAAOM,GAAKJ,EAAKV,GAAMF,GAAM,EAC7BW,IAAOK,GAAKH,EAAKV,GAAMF,GAAM,EAC7BQ,EAAYQ,EAAAA,aAAa,CACvBC,MAAMjgB,EAAGkgB,GACPtqB,KAAKynB,OAAO4C,MAAMjgB,EAAI+f,EAAIN,EAAIS,EAAIH,EAAIL,EACvC,KAGHlD,GAAK,6FAER,CAWD,OATAgD,IACS,IAAPC,GAAmB,IAAPC,EACRvB,KACA6B,eAAa,CACXC,MAAMjgB,EAAGkgB,GACPtqB,KAAKynB,OAAO4C,MAAMjgB,EAAIyf,EAAIS,EAAIR,EAC/B,IAGF,CAACrC,OAASgC,GAAMxC,EAAWQ,OAAOmC,EAAUnC,OAAOC,EAAK+B,KACjE,CAoDA,SAAS9B,GAAgBX,EAAkBuD,EAAIC,GAC7C,MAAO,CACL/iB,KAAM,EAAE+X,QAAOsJ,SAAQ2B,SAAQC,YAAY,IAAMhD,WAC/C,MAAMT,EAAaD,IAMnB,OALiB,MAAb0D,GAAmBzD,EAAWyD,YAAYA,GAChC,MAAVD,GAAgBxD,EAAWwD,SAASA,GACpB,iBAAT/C,GAAmBT,EAAW0D,YAAYjD,GACrDT,EAAW2D,MAAMjrB,KAAK8K,IAAI+U,EAAQ+K,EAAIzB,EAAS0B,IAC/CvD,EAAW4D,UAAU,CAACrL,EAAQ,EAAGsJ,EAAS,IACnC7B,CAAU,EAEnB6D,YAAaN,EAAKD,EAEtB,CAEA,SAAS1C,GAAgBb,EAAkBuD,EAAIC,GAC7C,MAAM/iB,KAACA,EAAIqjB,YAAEA,GAAenD,GAAgBX,EAAkBuD,EAAIC,GAClE,MAAO,CACL/iB,KAAOa,IACL,MAAMyiB,UAACA,EAASjW,OAAEA,EAAM0K,MAAEA,EAAKsJ,OAAEA,GAAUxgB,EACrC2e,EAAaxf,EAAKa,GAOxB,OANiB,MAAbyiB,IACF9D,EAAW8D,UAAUA,QACNvrB,IAAXsV,GACFmS,EAAW+D,QAAQ,CAACxL,EAAOsJ,GAAS,CAACrhB,KAAM,YAGxCwf,CAAU,EAEnB6D,cAEJ,CAEA,MAAMvC,GAAWnG,GAAS,CAACqF,OAASA,GAAWA,IAEzCe,GAAWpG,GACfgI,eAAa,CACXC,MAAMjgB,EAAGkgB,GACPtqB,KAAKynB,OAAO4C,MAAMjgB,GAAIkgB,EACvB,KCrME,SAASW,GAAc3iB,EAAU,CAAA,EAAIkf,EAAY0D,GACtD,MAAM9rB,SAACA,GAA6B,oBAAXU,OAAyBA,OAAOV,cAAWI,IAAa8I,EACjF,MAAO,CAAClJ,WAAU8rB,YAAWjE,WAAYD,GAAiB1e,EAASkf,GACrE,CAEO,SAAS2D,GAAOrsB,GAAMM,SAACA,IAC5B,OAAOgsB,EAAAA,OAAOC,EAAAA,QAAQvsB,GAAMxB,KAAK8B,EAASksB,iBAC5C,CCqEA,MAAMC,GAAiB,IAAI1L,IAAI,CAE7B,CAAC,SAAU2L,EAAAA,cACX,CAAC,aAAcC,EAAAA,kBACf,CAAC,QAASC,EAAAA,aACV,CAAC,SAAUC,EAAAA,cACX,CAAC,UAAWC,EAAAA,eACZ,CAAC,UAAWC,EAAAA,eACZ,CAAC,OAAQC,EAAAA,YACT,CAAC,OAAQC,EAAAA,YACT,CAAC,OAAQC,EAAAA,YACT,CAAC,YAAaC,EAAAA,iBAGd,CAAC,OAAQC,GAASC,EAAUA,WAAEC,EAAeA,kBAC7C,CAAC,OAAQF,GAASG,EAAUA,WAAEC,EAAeA,kBAC7C,CAAC,OAAQJ,GAASK,EAAUA,WAAEC,EAAeA,kBAC7C,CAAC,OAAQN,GAASO,EAAUA,WAAEC,EAAeA,kBAC7C,CAAC,OAAQR,GAASS,EAAUA,WAAEC,EAAeA,kBAC7C,CAAC,OAAQV,GAASW,EAAUA,WAAEC,EAAeA,kBAC7C,CAAC,SAAUZ,GAASa,EAAYA,aAAEC,EAAiBA,oBACnD,CAAC,SAAUd,GAASe,EAAYA,aAAEC,EAAiBA,oBACnD,CAAC,WAAYhB,GAASiB,EAAcA,eAAEC,EAAmBA,sBAGzD,CAAC,OAAQC,GAAUV,EAAUA,WAAEC,EAAeA,kBAC9C,CAAC,SAAUS,GAAUN,EAAYA,aAAEC,EAAiBA,oBAGpD,CAAC,QAASM,GAAQC,EAAWA,YAAEC,EAAgBA,mBAC/C,CAAC,SAAUF,GAAQG,EAAYA,aAAEC,EAAiBA,oBAClD,CAAC,QAASJ,GAAQK,EAAWA,YAAEC,EAAgBA,mBAC/C,CAAC,UAAWN,GAAQO,EAAaA,cAAEC,EAAkBA,qBACrD,CAAC,UAAWR,GAAQS,EAAaA,cAAEC,EAAkBA,qBACrD,CAAC,OAAQV,GAAQW,EAAUA,WAAEC,EAAeA,kBAG5C,CAAC,QAASC,GAAQC,EAAAA,mBAClB,CAAC,UAAWD,GAAQE,EAAAA,qBACpB,CAAC,QAASF,GAAQG,EAAAA,mBAClB,CAAC,UAAWH,GAAQI,EAAAA,qBACpB,CAAC,SAAUJ,GAAQK,EAAAA,oBACnB,CAAC,UAAWL,GAAQM,EAAAA,qBACpB,CAAC,YAAaN,GAAQO,EAAAA,8BACtB,CAAC,OAAQP,GAAQQ,EAAAA,kBACjB,CAAC,OAAQR,GAAQS,EAAAA,kBACjB,CAAC,OAAQtB,GAAQuB,EAAUA,WAAEC,EAAeA,kBAC5C,CAAC,OAAQxB,GAAQyB,EAAUA,WAAEC,EAAeA,kBAC5C,CAAC,OAAQ1B,GAAQ2B,EAAUA,WAAEC,EAAeA,kBAC5C,CAAC,OAAQ5B,GAAQ6B,EAAUA,WAAEC,EAAeA,kBAC5C,CAAC,OAAQ9B,GAAQ+B,EAAUA,WAAEC,EAAeA,kBAC5C,CAAC,SAAUhC,GAAQiC,EAAYA,aAAEC,EAAiBA,oBAClD,CAAC,OAAQlC,GAAQmC,EAAUA,WAAEC,EAAeA,kBAC5C,CAAC,OAAQpC,GAAQqC,EAAUA,WAAEC,EAAeA,kBAC5C,CAAC,OAAQtC,GAAQuC,EAAUA,WAAEC,EAAeA,kBAC5C,CAAC,SAAUxC,GAAQyC,EAAYA,aAAEC,EAAiBA,oBAClD,CAAC,SAAU1C,GAAQ2C,EAAYA,aAAEC,EAAiBA,oBAClD,CAAC,SAAU5C,GAAQ6C,EAAYA,aAAEC,EAAiBA,oBAGlD,CAAC,UAAWC,GAAgBC,EAAAA,qBAC5B,CAAC,UAAWD,GAAgBE,EAAAA,uBAG9B,SAASjD,GAAQkD,EAAQC,GACvB,MAAO,EAAE5uB,OAAQwI,KACL,IAANA,EAAgB,CAACmmB,EAAO,GAAG,IACrB,IAANnmB,EAAgB,CAACmmB,EAAO,GAAG,GAAIA,EAAO,GAAG,KAC7CnmB,EAAI1K,KAAK6K,IAAI,EAAG7K,KAAKuK,MAAMG,KAChB,EAAIqmB,WAASD,EAAapmB,GAAKmmB,EAAOnmB,EAErD,CAEA,SAAS6hB,GAASsE,EAAQC,GACxB,MAAO,EAAE5uB,OAAQwI,KACL,IAANA,EAAgB,CAACmmB,EAAO,GAAG,GAAIA,EAAO,GAAG,KAC7CnmB,EAAI1K,KAAK6K,IAAI,EAAG7K,KAAKuK,MAAMG,KAChB,GAAKqmB,WAASD,EAAapmB,GAAKmmB,EAAOnmB,EAEtD,CAEA,SAASgjB,GAAUmD,EAAQC,GACzB,MAAO,EAAE5uB,OAAQwI,KACL,IAANA,EAAgB,CAACmmB,EAAO,GAAG,GAAIA,EAAO,GAAG,KAC7CnmB,EAAI1K,KAAK6K,IAAI,EAAG7K,KAAKuK,MAAMG,KAChB,GAAKqmB,EAAAA,UAAUC,GAAMF,EAAY,EAAIE,IAAItmB,GAAKmmB,EAAOnmB,GAAGtC,QAAQ6oB,SAE/E,CAEA,SAASzC,GAAQsC,GACf,MAAO,EAAE5uB,OAAQwI,KAAOqmB,EAAAA,SAASD,EAAa9wB,KAAK6K,IAAI,EAAG7K,KAAKuK,MAAMG,IACvE,CAEA,SAASgmB,GAAgBI,GACvB,MAAO,EAAE5uB,OAAQwI,KAAOqmB,EAAQA,SAACD,EAAa9wB,KAAKuK,MAAMG,GAAK,GAAGtC,MAAM,GAAI,EAC7E,CAEO,SAAS8oB,GAAcL,GAC5B,MAAM/G,EAAI,GAAG+G,IAAS1jB,cACtB,IAAKye,GAAellB,IAAIojB,GAAI,MAAM,IAAI3H,MAAM,2BAA2B2H,KACvE,OAAO8B,GAAe1uB,IAAI4sB,EAC5B,CAEO,SAASqH,GAAaN,EAAQ3uB,GACnC,MAAM4nB,EAAIoH,GAAcL,GAClB9S,EAAiB,mBAAN+L,EAAmBA,EAAE,CAAC5nB,WAAW4nB,EAClD,OAAO/L,EAAE7b,SAAWA,EAAS6b,EAAE3V,MAAM,EAAGlG,GAAU6b,CACpD,CAiBA,MAAMqT,GAAsB,IAAIlR,IAAI,CAElC,CAAC,OAAQuM,EAAAA,iBACT,CAAC,OAAQE,EAAAA,iBACT,CAAC,OAAQE,EAAAA,iBACT,CAAC,OAAQE,EAAAA,iBACT,CAAC,OAAQE,EAAAA,iBACT,CAAC,OAAQE,EAAAA,iBACT,CAAC,SAAUE,EAAAA,mBACX,CAAC,SAAUE,EAAAA,mBACX,CAAC,WAAYE,EAAAA,qBAGb,CAAC,OAASuD,GAAM/D,EAAeA,gBAAC,EAAI+D,IACpC,CAAC,SAAWA,GAAM3D,EAAiBA,kBAAC,EAAI2D,IAGxC,CAAC,QAASnD,EAAAA,kBACV,CAAC,SAAUE,EAAAA,mBACX,CAAC,QAASE,EAAAA,kBACV,CAAC,UAAWI,EAAAA,oBACZ,CAAC,OAAQE,EAAAA,iBACT,CAAC,UAAWJ,EAAAA,oBAGZ,CAAC,QAASM,EAAAA,kBACV,CAAC,UAAWC,EAAAA,oBACZ,CAAC,QAASC,EAAAA,kBACV,CAAC,UAAWC,EAAAA,oBACZ,CAAC,SAAUC,EAAAA,mBACX,CAAC,UAAWC,EAAAA,oBACZ,CAAC,YAAaC,EAAAA,6BACd,CAAC,OAAQC,EAAAA,iBACT,CAAC,OAAQC,EAAAA,iBACT,CAAC,OAAQE,EAAAA,iBACT,CAAC,OAAQE,EAAAA,iBACT,CAAC,OAAQE,EAAAA,iBACT,CAAC,OAAQE,EAAAA,iBACT,CAAC,SAAUI,EAAAA,mBACX,CAAC,OAAQF,EAAAA,iBACT,CAAC,OAAQI,EAAAA,iBACT,CAAC,OAAQE,EAAAA,iBACT,CAAC,SAAUI,EAAAA,mBACX,CAAC,OAAQF,EAAAA,iBACT,CAAC,SAAUI,EAAAA,mBACX,CAAC,SAAUE,EAAAA,mBAGX,CAAC,UAAWE,EAAAA,oBACZ,CAAC,UAAWC,EAAAA,sBAGP,SAASS,GAAmBR,GACjC,MAAM/G,EAAI,GAAG+G,IAAS1jB,cACtB,IAAKikB,GAAoB1qB,IAAIojB,GAAI,MAAM,IAAI3H,MAAM,gCAAgC2H,KACjF,OAAOsH,GAAoBl0B,IAAI4sB,EACjC,CAEA,MAAMwH,GAAmB,IAAIC,IAAI,CAC/B,OACA,OACA,OACA,OACA,OACA,OACA,SACA,SACA,WACA,OACA,WAGK,SAASC,GAAkBX,GAChC,OAAiB,MAAVA,GAAkBS,GAAiB5qB,IAAI,GAAGmqB,IAAS1jB,cAC5D,CCxPO,MAAMskB,GAAQ1lB,GAAOilB,GAAMjlB,EAAE,EAAIilB,GAClCU,GAAO,CAAC,EAAG,GAEXC,GAAgB,IAAIzR,IAAI,CAE5B,CAAC,SAAU0R,EAAAA,mBAGX,CAAC,MAAOC,EAAAA,gBACR,CAAC,MAAOC,EAAAA,gBACR,CAAC,MAAOC,EAAAA,gBACR,CAAC,MAAOC,EAAAA,kBAGH,SAASC,GAAkBnB,GAChC,MAAM/kB,EAAI,GAAG+kB,IAAc3jB,cAC3B,IAAKwkB,GAAcjrB,IAAIqF,GAAI,MAAM,IAAIoW,MAAM,yBAAyBpW,KACpE,OAAO4lB,GAAcz0B,IAAI6O,EAC3B,CAEO,SAASmmB,GACdtzB,EACAqsB,EACAkH,GACArqB,KACEA,EAAIsqB,KACJA,EAAIC,MACJA,EAAKC,KACLA,EAAInd,OACJA,EAASod,GAAgB3zB,EAAKuzB,GAASK,QACvCA,EAAOC,MACPA,EAAK5B,OACLA,EAAM3O,SACNA,EAAQ+B,MACRA,GAAQkB,GAASjoB,IAAI0B,KAASqmB,GAC1ByN,GAAiBP,EAAUhd,GAC3BgQ,GAASjoB,IAAI0B,KAASsD,GACtBywB,GAAiBR,EAAUhd,GAC3BgQ,GAASjoB,IAAI0B,KAASsmB,GACtBwM,QACA7xB,GAASixB,YACbA,GAAc3L,GAASjoB,IAAI0B,KAAS0kB,GACtB,MAAVuN,QAA4BhxB,IAAVokB,EAChB4N,EAAcA,eACdR,QAA8BxxB,IAAXgxB,EAAuBA,EAAkB,aAAT/oB,EAAsB,UAAY,SACvF2qB,EACAG,EAAgBA,iBAChBhB,EAAiBA,mBAAAX,QACrBA,IAkCF,GA/BA/O,EAAWmC,GAAmBnC,EAAUpa,GAC3B,aAATA,GAAgC,eAATA,IAAuBA,EAAO,UACzDmpB,IAAYA,EAOe,mBAAhBH,IACTA,EAAcmB,GAAkBnB,IAEP,IAAvBA,EAAY5uB,QACV+uB,IACFH,EAAcW,GAAKX,GACnBG,GAAU,QAEEpxB,IAAVokB,GAEmB,KADrBA,EAAQpB,aAAa3F,KAAK/H,GAAQ,CAAC0d,EAAG9mB,IAAMA,GAAKoJ,EAAOjT,OAAS,MACvDA,SAAc+hB,EAAQyN,IAElCzG,EAAM6F,aAAa7M,IAAUyN,GAAOjP,GAAWqQ,IAAsBhC,KAErE7F,EAAM6F,YAAYA,GAQhBwB,EAAM,CACR,MAAOxnB,EAAKD,GAAOkoB,EAAMA,OAAC5d,IACtBrK,EAAM,GAAKD,EAAM,KACnBsK,EPqBC,SAAesI,EAAQ3V,EAAO8H,OACnC,OAAO6N,aAAkB3V,EAAO2V,EAAOrV,QAAUN,EAAKoV,KAAKO,EAC7D,COvBerV,CAAM+M,GACXyP,GAAQzP,KAAYnV,KAAKgzB,KAAKloB,GAAMqK,EAAOA,EAAOjT,OAAS,GAAK,EAE/DiT,EAAO,GAAK,EAEpB,CAOD,OALI8b,IAAS9b,EAAS8d,EAAShC,QAAC9b,IAChC8V,EAAM9V,OAAOA,GAAQqd,QAAQA,GACzBJ,IAAMnH,EAAMmH,KAMlB,SAAmBA,EAAMtqB,GACvB,OAAgB,IAATsqB,OAAgBvyB,EAA4B,iBAATuyB,EAAoBA,EP+KzD,SAA2BlQ,EAAUpa,GAE1C,IADAoa,EAAWmC,GAAmBnC,EAAUpa,KACC,mBAAlBoa,EAAS5X,KAAqB,MAAM,IAAI6X,MAAM,yCACrE,OAAOD,CACT,COnLuEgR,CAAkBd,EAAMtqB,EAC/F,CARuBqrB,CAAUf,EAAMtqB,IAASqN,EAAS8V,EAAM9V,eAC/CtV,IAAVokB,GAAqBgH,EAAMhH,MAAMA,GACjCoO,GAAOpH,EAAMoH,MAAMA,GAChB,CAACvqB,OAAMqN,SAAQ8O,QAAOgH,QAAO6F,cAAa5O,WACnD,CAcO,SAASkR,GAAex0B,EAAKuzB,GAAUkB,SAACA,EAAW,KAAM1qB,IAC9D,OAAOupB,GAAatzB,EAAK00B,aAAWD,SAASA,GAAWlB,EAAU,IAAIxpB,EAASb,KAAM,OACvF,CAwEO,SAASyrB,GACd30B,EACAuzB,GACAhd,OACEA,EAAS,CAAC,GAAEqd,QACZA,EAAO3B,OACPA,EAAS,SAAQC,YACjBA,EAAW7M,MACXA,QAAwBpkB,IAAhBixB,EACJC,EAAAA,SAASD,EAAa3b,EAAOjT,OAAS,GACtCijB,GAASjoB,IAAI0B,KAAS0kB,GACtB6N,GAAaN,EAAQ1b,EAAOjT,OAAS,QACrCrC,GAASoxB,QACbA,IAIF,MAAM+B,EAAOpO,GADbzP,EAASsO,GAAStO,IAElB,IAAKiJ,MAAM4U,KAUb,SAAmB7d,EAAQ6d,GACzB,IAAK,IAAIjnB,EAAI,EAAGrB,EAAIyK,EAAOjT,OAAQ6hB,EAAI5O,EAAO,GAAIpJ,EAAIrB,IAAKqB,EAAG,CAC5D,MAAM+d,EAAI/E,EAAAA,WAAWhB,EAAIA,EAAI5O,EAAOpJ,IACpC,GAAU,IAAN+d,GAAWA,IAAMkJ,EAAM,OAAO,CACnC,CACD,OAAO,CACT,CAhBuBQ,CAAUre,EAAQ6d,GAAO,MAAM,IAAI7Q,MAAM,OAAOvjB,sCAErE,OADIqyB,IAAShN,EAAQgP,EAAShC,QAAChN,IACxB,CACLnc,KAAM,YACNmjB,MAAOwI,EAAAA,eAAeT,EAAO,EAAIC,EAAAA,QAAU9d,GAAUA,OAAkBtV,IAAVokB,EAAsB,GAAKA,GAAOuO,QAAQA,GACvGrd,SACA8O,QAEJ,CAcO,SAASyP,GAAYvB,EAAU/rB,EAAImY,IACxC,OAAO4T,EAASjwB,OACZ,CACE4I,EAAAA,IAAIqnB,GAAU,EAAE5xB,gBAAsBV,IAAVU,EAAsBA,EAAQuK,EAAGA,IAACvK,EAAO6F,KACrEyE,EAAAA,IAAIsnB,GAAU,EAAE5xB,gBAAsBV,IAAVU,EAAsBA,EAAQsK,EAAGA,IAACtK,EAAO6F,MAEvE,CAAC,EAAG,EACV,CAEA,SAASmsB,GAAgB3zB,EAAKuzB,GAC5B,MAAMrqB,EAAOqd,GAASjoB,IAAI0B,GAC1B,OAAQkJ,IAASmd,IAAUnd,IAASod,IAAWpd,IAAS5F,GAASyxB,GAAkBD,IAAavB,EAClG,CAEA,SAASwB,GAAgBxB,GACvB,MAAO,CAAC,EAAGA,EAASjwB,OAAS2I,EAAAA,IAAIsnB,GAAU,EAAE5xB,gBAAsBV,IAAVU,EAAsBA,EAAQsK,MAAItK,EAAOge,MAAY,EAChH,CAKA,SAASmU,GAAiBP,EAAUhd,GAClC,MAAMye,EAAOzB,EAAS0B,MAAK,EAAE5O,iBAAuBplB,IAAXolB,IACzC,QAAaplB,IAAT+zB,EAAoB,MAAO,CAAC,EAAGA,EAAK3O,QACxC,MAAM6O,EAAMC,EAAAA,SAAS5B,EAAU,IAAK,EAAE5xB,gBAAsBV,IAAVU,EAAsBke,IAAMsV,EAAAA,SAASxzB,EAAO,IAAMme,MAC9FuF,EAAQ9O,EAAOwN,KAAKoB,GAAM,EAAI/jB,KAAKqlB,KAAKtB,EAAI+P,KAC5CtJ,EAAI,GAAK3f,EAAGA,IAACoZ,GACnB,OAAOuG,EAAI,EAAIvG,EAAMtB,KAAK5E,GAAMA,EAAIyM,IAAKvG,CAC3C,CAKA,SAAS0O,GAAiBR,EAAUhd,GAClC,MAAM6e,EAAMC,EAAAA,OAAO9B,GAAU,EAAE5xB,gBAAsBV,IAAVU,EAAsBke,IAAMwV,EAAMA,OAAC1zB,EAAOP,KAAK8jB,OACpFG,EAAQ9O,EAAOwN,KAAKoB,GAAO,GAAKA,EAAKiQ,IACrCxJ,EAAI,GAAK3f,EAAGA,IAACoZ,GACnB,OAAOuG,EAAI,EAAIvG,EAAMtB,KAAK5E,GAAMA,EAAIyM,IAAKvG,CAC3C,CAEA,SAASiQ,GAAe/B,GACtB,IAAK,MAAM5xB,MAACA,KAAU4xB,EACpB,QAActyB,IAAVU,EACF,IAAK,IAAI4zB,KAAK5zB,EAAO,CACnB,GAAI4zB,EAAI,EAAG,OAAOT,GAAYvB,EAAUzT,IACxC,GAAIyV,EAAI,EAAG,OAAOT,GAAYvB,EAAUxT,GACzC,CAGL,MAAO,CAAC,EAAG,GACb,CAEA,SAASyV,GAAoBjC,GAC3B,MAAMhd,EAAS,GACf,IAAK,MAAM5U,MAACA,KAAU4xB,EACpB,QAActyB,IAAVU,EACJ,IAAK,MAAM4zB,KAAK5zB,EAAO4U,EAAOlR,KAAKkwB,GAErC,OAAOhf,CACT,CAEO,SAAS2d,GAAqBhC,GACnC,MAAO,CAAC/kB,EAAG+C,IAAOkiB,GAAMF,EAAY/kB,EAAIilB,GAAKliB,EAAI/C,GACnD,CC/SA,SAASsoB,GACPz1B,EACAqsB,EACAhB,EACAkI,GACArqB,KACEA,EAAIsqB,KACJA,EAAIC,MACJA,EAAKld,OACLA,EAASue,GAAYvB,GAASK,QAC9BA,EAAO8B,MACPA,EAAQ,EAACzD,OACTA,EAAM5M,MACNA,EAAKsQ,UACLA,GAAY,EAAIzD,YAChBA,GAAc3L,GAASjoB,IAAI0B,KAAS0kB,GACtB,MAAVuN,QAA4BhxB,IAAVokB,EAChB4N,EAAcA,eACdR,QAA8BxxB,IAAXgxB,EAAuBA,EAAS,QACrDe,EAAiBA,mBAAAX,QACrBA,IAGFqD,GAASA,EACT,IAAKxpB,EAAKD,GAAOsK,EAwBjB,GAvBI4P,EAAAA,WAAWja,EAAKD,GAAO,KAAKC,EAAKD,GAAO,CAACA,EAAKC,GAAQmmB,GAAWA,GACrEnmB,EAAM9K,KAAK8K,IAAIA,EAAKwpB,GACpBzpB,EAAM7K,KAAK6K,IAAIA,EAAKypB,GAOO,mBAAhBxD,IACTA,EAAcmB,GAAkBnB,SAIpBjxB,IAAVokB,IACF6M,EACyB,IAAvBA,EAAY5uB,OAAe4wB,GAAqBhC,EAArBgC,IAAqC7O,GAASuQ,EAAAA,UAAU1D,EAAa7M,IAIhGgN,IAASH,EAAcW,GAAKX,IAG5ByD,EAAW,CACb,MAAME,EAAMxK,EAAUlsB,MAAMu2B,GACtBI,EAAWD,EAAMxK,EAAUlsB,MAAM+M,GACjC6pB,EAAW1K,EAAUlsB,MAAM8M,GAAO4pB,EACpCC,EAAWC,EAAU7pB,EAAMmf,EAAU2K,OAAOH,EAAME,GAC7CD,EAAWC,IAAU9pB,EAAMof,EAAU2K,OAAOH,EAAMC,GAC5D,CAKD,OAHAzJ,EAAM9V,OAAO,CAACrK,EAAKwpB,EAAOzpB,IAAM2nB,QAAQA,GAASqC,aAAa/D,GAC1DuB,GAAOpH,EAAMoH,MAAMA,GACnBD,GAAMnH,EAAMmH,KAAKA,GACd,CAACtqB,OAAMqN,OAAQ,CAACrK,EAAKD,GAAMypB,QAAOxD,cAAa7F,QACxD,CAUO,SAAS6J,GAAwBl2B,EAAKuzB,GAAUkB,SAACA,EAAW,KAAM1qB,IACvE,OAAO0rB,GAAaz1B,EAAKm2B,EAAiBA,oBAAG1B,SAAUA,GAAYA,GAmDrE,SAAsBA,GACpB,MAAoB,KAAbA,EACH2B,GACA,CACEj3B,MAAM0M,GACGzK,KAAKgzB,KAAKvoB,GAAKzK,KAAKi1B,IAAIj1B,KAAK8jB,IAAIrZ,GAAI4oB,GAE9CuB,OAAOnqB,GACEzK,KAAKgzB,KAAKvoB,GAAKzK,KAAKi1B,IAAIj1B,KAAK8jB,IAAIrZ,GAAI,EAAI4oB,GAG1D,CA9DiF6B,CAAa7B,GAAWlB,EAAU,IAC5GxpB,EACHb,KAAM,iBAEV,CAcO,SAASqtB,GAA2Bv2B,EAAKuzB,GAAU1P,SAACA,EAAW,KAAM9Z,IAC1E,OAAO0rB,GACLz1B,EACAw2B,EAAAA,uBAAuB3S,SAAUA,GAAYA,GA2CjD,SAAyBA,GACvB,MAAO,CACL1kB,MAAM0M,GACGzK,KAAKgzB,KAAKvoB,GAAKzK,KAAKq1B,MAAMr1B,KAAK8jB,IAAIrZ,EAAIgY,IAEhDmS,OAAOnqB,GACEzK,KAAKgzB,KAAKvoB,GAAKzK,KAAKs1B,MAAMt1B,KAAK8jB,IAAIrZ,IAAMgY,EAGtD,CAnDI8S,CAAgB9S,GAChB0P,EACAxpB,EAEJ,CAEA,MAAM6sB,GAAoB,CACxBz3B,MAAM0M,GACGA,EAETmqB,OAAOnqB,GACEA,GAILgrB,GAAe,CACnB13B,MAAOiC,KAAK01B,IACZd,OAAQ50B,KAAK21B,KAGTX,GAAgB,CACpBj3B,MAAM0M,GACGzK,KAAKgzB,KAAKvoB,GAAKzK,KAAKqlB,KAAKrlB,KAAK8jB,IAAIrZ,IAE3CmqB,OAAOnqB,GACEzK,KAAKgzB,KAAKvoB,IAAMA,EAAIA,IClI/B,SAASmrB,GAAah3B,EAAKqsB,EAAOkH,EAAUxpB,GAC1C,OAAOupB,GAAatzB,EAAKqsB,EAAOkH,EAAUxpB,EAC5C,CCOO,MAAMktB,GAAkB3yB,OAAO,WAEtC,SAAS4yB,GAAal3B,EAAKqsB,EAAOkH,GAAUrqB,KAACA,EAAIoa,SAAEA,EAAQ/M,OAAEA,EAAM8O,MAAEA,EAAKgN,QAAEA,EAAO2C,KAAEA,IAWnF,OAVA1R,EAAWmC,GAAmBnC,EAAUpa,QACzBjI,IAAXsV,IAAsBA,EAASue,GAAYvB,EAAUjQ,EAAUtjB,IACtD,gBAATkJ,GAA0BA,IAAS+tB,KAAiB/tB,EAAO,WAC3DmpB,IAAS9b,EAAS8d,EAAShC,QAAC9b,IAChC8V,EAAM9V,OAAOA,QACCtV,IAAVokB,IAEmB,mBAAVA,IAAsBA,EAAQA,EAAM9O,IAC/C8V,EAAMhH,MAAMA,IAEP,CAACnc,OAAMqN,SAAQ8O,QAAOgH,QAAO2I,OAAM1R,WAC5C,CAEO,SAAS6T,GAAmBn3B,EAAKuzB,GAAUrqB,KAACA,EAAIoa,SAAEA,EAAQ/M,OAAEA,EAAM8O,MAAEA,EAAK4M,OAAEA,EAAM2B,QAAEA,KAAY7pB,IAGpG,IAAIirB,EACJ,GAHA1R,EAAWmC,GAAmBnC,EAAUpa,QACzBjI,IAAXsV,IAAsBA,EAASue,GAAYvB,EAAUjQ,EAAUtjB,IAE/DumB,GAASjoB,IAAI0B,KAASqE,GACxB2wB,EAwFJ,SAAyBzB,GACvB,MAAO,CACL6D,KAAMC,GAAU9D,EAAU,QAC1B+D,OAAQD,GAAU9D,EAAU,UAEhC,CA7FWgE,CAAgBhE,GACvBlO,OAAkBpkB,IAAVokB,EA8FZ,SAA0B2P,GACxB,OAAOlP,GAAUkP,EAAKoC,MAAQI,EAAAA,cAAgBC,EAAAA,WAChD,CAhGkCC,CAAiB1C,GAAQjR,GAAIsB,EAAO8C,SAC7D,GAAI5B,GAASjoB,IAAI0B,KAAS0kB,UACjBzjB,IAAVokB,GAAiC,YAATnc,GAAsBA,IAAS+tB,KACzD5R,EJ0JC,SAA2B9O,EAAQ0b,EAAS,SACjD,MAAM5M,EAAQ,IAAIsN,KACXnrB,EAAG4qB,GAAKG,GAAaN,EAAQ,GACpC,IAAK,MAAMtwB,KAAS4U,EAClB,GAAa,MAAT5U,EACJ,IAAc,IAAVA,EAAgB0jB,EAAMpQ,IAAImd,OACzB,KAAc,IAAVzwB,EACJ,OADqB0jB,EAAMpQ,IAAIzN,EACxB,CAEd,MAAO,IAAI6d,EACb,CIpKcsS,CAAkBphB,EAAQ0b,QACpBhxB,IAAVokB,IAAqB4M,OAAShxB,SAErBA,IAAXgxB,QAAkChxB,IAAVokB,IAC1B4M,EAAkB,YAAT/oB,EAAqB,QAAU,kBAE3BjI,IAAXgxB,GACF,QAAchxB,IAAVokB,EAAqB,CACvB,MAAM6M,EAAcO,GAAmBR,GACjC2F,EAAKvS,EAAM,GACfF,EAAIE,EAAM,GAAKA,EAAM,GACvBA,EAAQ,EAAE/hB,OAAQwI,KAAOqmB,EAAAA,UAAUC,GAAMF,EAAY0F,EAAKzS,EAAIiN,IAAItmB,EAC1E,MACQuZ,EAAQiN,GAAcL,GAI5B,GAAI2B,IAAYiE,EAAAA,cACd,MAAM,IAAItU,MAAM,uBAAuBvjB,4BAEzC,OAAOk3B,GAAal3B,EAAK83B,EAAAA,eAAelE,QAAQA,GAAUL,EAAU,IAAIxpB,EAASb,OAAMqN,SAAQ8O,QAAO2P,QACxG,CAyBA,SAAS+C,GAAW1L,EAAOkH,EAAUxpB,EAAS/J,GAC5C,IAAI6zB,MAACA,GAAS9pB,EAId,YAHc9I,IAAV4yB,GAAqBxH,EAAMwH,MAAOA,IAAUA,IAChDxH,EAAQ6K,GAAal3B,EAAKqsB,EAAOkH,EAAUxpB,IACrC8pB,MAAQA,EACPxH,CACT,CAEA,SAASyI,GAAYvB,EAAUjQ,EAAUtjB,GACvC,MAAM6e,EAAS,IAAImZ,EAAAA,UACnB,IAAK,MAAMr2B,MAACA,EAAK4U,OAAEA,KAAWgd,EAAU,CACtC,QAAetyB,IAAXsV,EAAsB,OAAOA,IACjC,QAActV,IAAVU,EACJ,IAAK,MAAM4zB,KAAK5zB,EAAOkd,EAAO5J,IAAIsgB,EACnC,CACD,QAAiBt0B,IAAbqiB,EAAwB,CAC1B,MAAOpX,EAAKD,GAAOkoB,SAAOtV,GAAQkF,IAAIT,EAAS3X,MAAO2X,GACtD,OAAOA,EAAS+B,MAAMnZ,EAAKoX,EAAS8B,OAAOnZ,GAC5C,CACD,GAAI4S,EAAOgI,KAAO,KAAQN,GAASjoB,IAAI0B,KAASomB,GAC9C,MAAM,IAAI7C,MAAM,8BAA8BvjB,uCAEhD,OAAOi4B,EAAIA,KAACpZ,EAAQY,GACtB,CAGA,SAAS4X,GAAU9D,EAAUvzB,GAC3B,IAAI2B,EACJ,IAAK,MAAMqzB,KAACA,KAASzB,EAAU,CAC7B,MAAM2E,EAAYlD,IAAOh1B,GACzB,QAAkBiB,IAAdi3B,EACJ,QAAcj3B,IAAVU,EAAqBA,EAAQu2B,OAE5B,GAAIv2B,IAAUu2B,EAAW,MAC/B,CACD,OAAOv2B,CACT,CCuHO,SAASw2B,GAAen4B,EAAKqsB,EAAO2I,GACzC,OAGF,SAAqBh1B,EAAKuzB,EAAW,GAAIxpB,EAAU,CAAA,GACjD,MAAMb,EAyIR,SAAwBlJ,EAAKuzB,GAAUrqB,KAACA,EAAIqN,OAAEA,EAAM8O,MAAEA,EAAK4M,OAAEA,EAAMyD,MAAEA,EAAKhN,WAAEA,IAE1E,GAAY,OAAR1oB,GAAwB,OAARA,EAAc,MAAO,OAK5B,MAARA,GAAuB,MAARA,GAA8B,MAAd0oB,IAAoBxf,EAAOkvB,IAK/D,IAAK,MAAOlvB,KAAMkpB,KAAMmB,EACtB,QAAUtyB,IAANmxB,EACC,QAAanxB,IAATiI,EAAoBA,EAAOkpB,OAC/B,GAAIlpB,IAASkpB,EAAG,MAAM,IAAI7O,MAAM,oCAAoCra,SAAYkpB,KAIvF,GAAIlpB,IAASkvB,GAAgB,OAC7B,QAAan3B,IAATiI,EAAoB,OAAOA,EAG/B,QAAejI,IAAXsV,IAAyBgd,EAAS8E,MAAK,EAAE12B,gBAAqBV,IAAVU,IAAsB,OAG9E,MAAMsb,EAAOsJ,GAASjoB,IAAI0B,GAC1B,GAAIid,IAASoJ,GAAQ,MAAO,OAC5B,GAAIpJ,IAASqJ,IAAWrJ,IAAS3Z,GAAQ,MAAO,SAChD,GAAI2Z,IAAS5Y,GAAQ,MAAO,UAK5B,IAAKkS,GAAU8O,GAAS,IAAI/hB,OAAS,EAAG,OAAOg1B,GAAcrb,GAO7D,QAAehc,IAAXsV,EACF,OAAImP,GAAUnP,GAAgB+hB,GAAcrb,GACxC0I,GAAWpP,GAAgB,MAC3B0G,IAASyH,IAAmB,MAATgR,IAAiB9C,GAAkBX,GACnD,SADoE,YAK7E,MAAMpT,EAAS0U,EAASxP,KAAI,EAAEpiB,WAAWA,IAAO42B,QAAQ52B,QAAoBV,IAAVU,IAClE,OAAIkd,EAAOwZ,KAAK3S,IAAmB4S,GAAcrb,GAC7C4B,EAAOwZ,KAAK1S,IAAoB,MAChC1I,IAASyH,IAAmB,MAATgR,IAAiB9C,GAAkBX,GACnD,SADoE,WAE7E,CA/LeuG,CAAex4B,EAAKuzB,EAAUxpB,GAO3C,QACmB9I,IAAjB8I,EAAQb,WACWjI,IAAnB8I,EAAQwM,aACUtV,IAAlB8I,EAAQsb,OACY,MAApBtb,EAAQuZ,UACA,OAARtjB,GACQ,OAARA,GACAy4B,GAAe,CAACvvB,SAChB,CACA,MAAM2V,EAAS0U,EAASxP,KAAI,EAAEpiB,WAAWA,IAAO42B,QAAQ52B,QAAoBV,IAAVU,IAC9Dkd,EAAOwZ,KAAK1S,IACd0C,GACE,0CAA0CroB,iGAAmG04B,GAC3IxvB,yQACsQlJ,0FAA4FA,eAAiB04B,GACnXxvB,QAGG2V,EAAOwZ,KAAKzS,IACnByC,GACE,0CAA0CroB,uNAAyN04B,GACjQxvB,8RAC2RlJ,eAAiB04B,GAC5SxvB,QAGG2V,EAAOwZ,KAAKxS,KACnBwC,GACE,0CAA0CroB,wMAA0M04B,GAClPxvB,6FAC0FlJ,+FAAiGA,eAAiB04B,GAC5MxvB,OAGP,CAMD,OAJAa,EAAQb,KAAOA,EAIPA,GACN,IAAK,YACL,IAAK,iBACL,IAAK,gBACL,IAAK,gBACL,IAAK,mBACL,IAAK,WACL,IAAK,aACL,IAAK,SACL,IAAK,OACL,IAAK,YACL,IAAK,WACL,IAAK,MACL,IAAK,MACL,IAAK,SACHa,EAAU4uB,GAAWpF,EAAUxpB,EAAS+Z,IACxC,MACF,IAAK,WACH,OAAQyC,GAASjoB,IAAI0B,IACnB,KAAKomB,GACHrc,EAAU4uB,GAAWpF,EAAUxpB,EAAS+Z,IACxC,MACF,KAAKzf,GACH0F,EAAU4uB,GAAWpF,EAAUxpB,EAAS6uB,IAG5C,MACF,IAAK,MACL,IAAK,OACH7uB,EAAU4uB,GAAWpF,EAAUxpB,EAASma,IAI5C,OAAQhb,GACN,IAAK,YACH,OHxPC,SAA8BlJ,EAAKuzB,EAAUxpB,GAClD,OAAO0rB,GAAaz1B,EAAK64B,EAAcA,iBAAIjC,GAAmBrD,EAAUxpB,EAC1E,CGsPa+uB,CAAqB94B,EAAKuzB,EAAUxpB,GAC7C,IAAK,iBACH,OHtPC,SAAkC/J,EAAKuzB,EAAUxpB,GACtD,OAAOmsB,GAAwBl2B,EAAKuzB,EAAU,IAAIxpB,EAAS0qB,SAAU,IACvE,CGoPasE,CAAyB/4B,EAAKuzB,EAAUxpB,GACjD,IAAK,gBACH,OAAOmsB,GAAwBl2B,EAAKuzB,EAAUxpB,GAChD,IAAK,gBACH,OH/OC,SACL/J,EACAuzB,GACAyF,KAACA,EAAO,GAAEtD,MAAEA,EAAQ,EAACnf,OAAEA,EAASue,GAAYvB,EAAUmC,EAAQ,EAAI3V,GAAWD,OAAc/V,IAE3F,OAAO0rB,GAAaz1B,EAAKi5B,EAAAA,oBAAoBD,KAAMA,GAAQA,GAAQnC,GAActD,EAAU,CACzFhd,SACAmf,WACG3rB,GAEP,CGqOamvB,CAAwBl5B,EAAKuzB,EAAUxpB,GAChD,IAAK,mBACH,OAAOwsB,GAA2Bv2B,EAAKuzB,EAAUxpB,GACnD,IAAK,cACL,IAAK,UACL,KAAKktB,GACH,OAAOE,GAAmBn3B,EAAKuzB,EAAUxpB,GAC3C,IAAK,WACL,IAAK,aACL,IAAK,SACH,OJhNC,SAA2B/J,EAAKuzB,EAAUxpB,GAC/C,OAAOupB,GAAatzB,EAAKm5B,EAAAA,cAAe5F,EAAUxpB,EACpD,CI8MaqvB,CAAkBp5B,EAAKuzB,EAAUxpB,GAC1C,IAAK,OACH,OJ9MC,SAAyB/J,EAAKuzB,EAAUxpB,GAC7C,OAAOyqB,GAAex0B,EAAKuzB,EAAU,IAAIxpB,EAAS0qB,SAAU,IAC9D,CI4Ma4E,CAAgBr5B,EAAKuzB,EAAUxpB,GACxC,IAAK,YACH,OAAO4qB,GAAqB30B,EAAKuzB,EAAUxpB,GAC7C,IAAK,WACH,OJlMC,SACL/J,EACAuzB,GACAlO,MACEA,EAAKiU,UACLA,QAAsBr4B,IAAVokB,EAAsB,GAAKA,EAAQ,IAAIA,IAAQ/hB,QAAMwI,EACjEA,EAAIwtB,EAASrH,OACbA,EAAS,SAAQ1b,OACjBA,EAASif,GAAoBjC,GAASK,QACtCA,EAAO1B,YACPA,EAAWG,QACXA,IAcF,YAXcpxB,IAAVokB,IACFA,OACkBpkB,IAAhBixB,EACIC,EAAQA,SAACD,EAAapmB,GACtBya,GAASjoB,IAAI0B,KAAS0kB,GACtB6N,GAAaN,EAAQnmB,QACrB7K,GAEJsV,EAAOjT,OAAS,IAClBiT,EAASgjB,EAAaA,cAAChjB,OAAkBtV,IAAVokB,EAAsB,CAAC/hB,OAAQwI,GAAKuZ,GAAOiU,aAErE3E,GAAqB30B,EAAKuzB,EAAU,CAAChd,SAAQ8O,QAAOgN,UAASuB,WACtE,CIwKa4F,CAAoBx5B,EAAKuzB,EAAUxpB,GAC5C,IAAK,WACH,OJxKC,SACL/J,EACAuzB,GACAlO,MACEA,EAAKvZ,EACLA,QAAc7K,IAAVokB,EAAsB,GAAKA,EAAQ,IAAIA,IAAQ/hB,QAAM2uB,OACzDA,EAAS,SAAQ1b,OACjBA,EAASod,GAAgB3zB,EAAKuzB,GAASK,QACvCA,EAAO1B,YACPA,EAAWG,QACXA,IAGF,MAAOnmB,EAAKD,GAAOkoB,EAAMA,OAAC5d,GAC1B,IAAIkjB,EAiBJ,YAhBcx4B,IAAVokB,GACFoU,EAAaC,EAAAA,MAAMxtB,EAAKD,EAAKH,GACzB2tB,EAAW,IAAMvtB,GAAKutB,EAAWE,OAAO,EAAG,GAC3CF,EAAWA,EAAWn2B,OAAS,IAAM2I,GAAKwtB,EAAWG,MACzD9tB,EAAI2tB,EAAWn2B,OAAS,EACxB+hB,OACkBpkB,IAAhBixB,EACIC,EAAQA,SAACD,EAAapmB,GACtBya,GAASjoB,IAAI0B,KAAS0kB,GACtB6N,GAAaN,EAAQnmB,QACrB7K,IAENw4B,EAAatH,EAAQA,SAACa,oBAAkB9mB,EAAKD,GAAMH,EAAI,GAAGtC,MAAM,GAAI,GAChE0C,aAAeiU,OAAMsZ,EAAaA,EAAW1V,KAAKlY,GAAM,IAAIsU,KAAKtU,OAEnEma,GAAQnB,GAAStO,IAAW,GAAGkjB,EAAWpH,UACvCsC,GAAqB30B,EAAKuzB,EAAU,CAAChd,OAAQkjB,EAAYpU,QAAOgN,UAASuB,WAClF,CIwIaiG,CAAoB75B,EAAKuzB,EAAUxpB,GAC5C,IAAK,MACH,OAAOyqB,GAAex0B,EAAKuzB,EAAUxpB,GACvC,IAAK,MACH,OJhNC,SAAwB/J,EAAKuzB,GAAUyF,KAACA,EAAO,GAAEziB,OAAEA,EAAS+e,GAAe/B,MAAcxpB,IAC9F,OAAOupB,GAAatzB,EAAK85B,EAAQA,WAAGd,KAAKA,GAAOzF,EAAU,IAAIxpB,EAASwM,UACzE,CI8MawjB,CAAe/5B,EAAKuzB,EAAUxpB,GACvC,IAAK,SACH,OJ9MC,SAA2B/J,EAAKuzB,GAAU1P,SAACA,EAAW,KAAM9Z,IACjE,OAAOupB,GAAatzB,EAAKg6B,gBAAcnW,SAASA,GAAW0P,EAAUxpB,EACvE,CI4MakwB,CAAkBj6B,EAAKuzB,EAAUxpB,GAC1C,IAAK,MACH,OF1VC,SAAwB/J,EAAKuzB,EAAUxpB,GAC5C,OAAOitB,GAAah3B,EAAKk6B,EAAAA,WAAY3G,EAAUxpB,EACjD,CEwVaowB,CAAen6B,EAAKuzB,EAAUxpB,GACvC,IAAK,OACH,OFhWC,SAAyB/J,EAAKuzB,EAAUxpB,GAC7C,OAAOitB,GAAah3B,EAAKo6B,EAAAA,YAAa7G,EAAUxpB,EAClD,CE8VaswB,CAAgBr6B,EAAKuzB,EAAUxpB,GACxC,IAAK,QACH,OD7SC,SAA0B/J,EAAKuzB,GAAU+G,MAACA,EAAQ,GAAGC,QAAEA,EAAU,MAAQxwB,IAC9E,OAAOguB,GAAWyC,EAAAA,aAAaF,MAAMA,GAAOC,QAAQA,GAAUhH,EAAUxpB,EAAS/J,EACnF,CC2Say6B,CAAiBz6B,EAAKuzB,EAAUxpB,GACzC,IAAK,OACH,OD3SC,SACL/J,EACAuzB,GACA+G,MACEA,EAAQ,GAAGC,QACXA,EAAU,GAAGG,aACbA,EAAeH,EAAOI,aACtBA,GAAuB,OAAR36B,GAAwB,OAARA,EAAe,EAAIu6B,MAC/CxwB,IAGL,OAAOguB,GACL6C,cAAYN,MAAMA,GAAOI,aAAaA,GAAcC,aAAaA,GACjEpH,EACAxpB,EACA/J,EAEJ,CC0Ra66B,CAAgB76B,EAAKuzB,EAAUxpB,GACxC,IAAK,WACH,OAAOwc,GAASjoB,IAAI0B,KAASomB,GJjH1B,CAACld,KAAM,WAAYmjB,MAAOyO,EAAAA,iBIiHmC,CAAC5xB,KAAM,YACzE,UAAKjI,EACH,OACF,QACE,MAAM,IAAIsiB,MAAM,uBAAuBra,KAE7C,CApIS6xB,CAAY/6B,OAAciB,IAAT+zB,OAAqB/zB,EAAY,CAAC,CAAC+zB,SAAQ,IAAI3I,GACzE,CAqIA,SAASqM,GAAgBxvB,GACvB,MAAuB,iBAATA,EAAoBA,EAAK8xB,YAAc9xB,CACvD,CAGA,MAAMkvB,GAAiB,CAACl2B,SAAU,IAAM,cA2DxC,SAASo2B,GAAcrb,GACrB,OAAQA,GACN,KAAKmJ,GACH,MAAO,QACT,KAAK1B,GACH,OAAOuS,GACT,QACE,MAAO,UAEb,CAMO,SAASwB,IAAevvB,KAACA,IAC9B,MAAgB,YAATA,GAA+B,UAATA,GAA6B,SAATA,GAAmBA,IAAS+tB,EAC/E,CA+BA,SAAS0B,GAAWpF,GAAUhd,OAACA,KAAWxM,GAAUkxB,GAClD,IAAK,MAAMC,KAAK3H,OACEtyB,IAAZi6B,EAAEv5B,QACJu5B,EAAEv5B,MAAQs5B,EAAaC,EAAEv5B,QAG7B,MAAO,CACL4U,YAAmBtV,IAAXsV,EAAuBA,EAAS0kB,EAAa1kB,MAClDxM,EAEP,CAEA,SAAS6uB,GAAc/Z,GACrB,OAAOkF,GAAIlF,EAAQsJ,GACrB,CC/eA,MAAMgT,GCJC,SAAkBC,GACvB,IAAIC,EAAYC,EAChB,MAAO,IAAIlzB,MACLkzB,GAAWh4B,SAAW8E,EAAK9E,QAAUg4B,EAAUjD,MAAK,CAACzM,EAAGze,IAAMye,IAAMxjB,EAAK+E,QAC3EmuB,EAAYlzB,EACZizB,EAAaD,KAAWhzB,IAEnBizB,EAEX,CDLqBE,EAAUC,GACtB,IAAIC,KAAKC,aAAaF,KA0BxB,SAASG,GAAc1b,GAC5B,OAAO2b,GAAU3b,EAAM,eACzB,CEuXO,SAAS4b,GAAcl6B,EAAOm6B,GACnC,IAAKn6B,EAAQ2M,GAAO3M,MAAYm6B,EAAc,OAAOn6B,CACvD,EFvXO,SAAoB65B,EAAS,SAClC,MAAMxvB,EApBD,SAAsBwvB,EAAS,SACpC,MAAMxb,EAASmb,GAAaK,GAC5B,OAAQruB,GAAY,MAALA,GAAcqS,MAAMrS,QAAwBlM,EAAnB+e,EAAOA,OAAO7S,EACxD,CAiBiB4uB,CAAaP,EAE9B,CAK6BQ,GEsX7B,MAAMC,GACJ,+JAEK,SAASC,GAAe37B,GAG7B,QAAaU,IAATV,EAAoB,MAAO,cAE/B,GADAA,EAAO,GAAGA,KACL07B,GAAez9B,KAAK+B,GAAO,MAAM,IAAIgjB,MAAM,uBAAuBhjB,KACvE,OAAOA,CACT,CAEO,SAAS47B,GAAkBC,EAAWC,GAC3C,GAAqB,iBAAVA,EACTD,EAAUE,SAAS,QAASD,QACvB,GAAa,MAATA,EACT,IAAK,MAAME,KAAWH,EACpBh+B,OAAOmR,OAAOgtB,EAAQF,MAAOA,EAGnC,CChbO,SAASG,GAAiBnQ,GAC/B,OAAOoM,GAAepM,SAA6BprB,IAAnBorB,EAAM/I,cAAyBriB,EAAY,cAC7E,CCAA,SAASw7B,GAAWpQ,EAAOrsB,GACzB,GAAW,MAAPA,EAAa,OAAOA,EACxB,MAAMkrB,EAAImB,EAAMrsB,GAChB,IAAKkrB,EAAG,MAAM,IAAI3H,MAAM,oBAAoBvjB,KAC5C,OAAOkrB,CACT,CA2DA,SAASwR,GAAYrQ,EAAOtiB,EAAU,CAAA,EAAI4yB,GACxC,IAAIC,QACFA,EAAOC,WACPA,EAAUC,YACVA,EAAcN,GAAiBnQ,GAAM0Q,WAErCA,EAAa,GAAEC,YACfA,EAAcD,EAAUE,aACxBA,EAAeF,EAAUvS,WACzBA,EAAa,EAACmC,UACdA,EAAS0P,MACTA,EAAKpb,MACLA,GACElX,EACJ,MAAM6c,EAAU8F,GAAc3iB,GAC9B4iB,EAAYuP,GAAevP,GAC3BkQ,ED1EK,SAA6BA,EAAYtmB,GAC9C,YAAsBtV,IAAf47B,EACHlX,GAAWpP,GACTolB,GACArtB,GACoB,mBAAfuuB,EACPA,GACuB,iBAAfA,EAA2BlX,GAAWpP,GAAU2mB,EAAAA,UAAYld,EAAMA,OAAI6D,IAAUgZ,EAC9F,CCkEeM,CAAoBN,EAAYxQ,EAAM9V,QAEnD,MAAM6mB,EAAWxQ,GAAO,MAAOhG,GAASyW,KACtC,QACA,GAAG1Q,cAAsBA,cAAiC,MAAXiQ,EAAkB,UAAY,UAG/E,IAAIU,EAsDJ,OApDe,MAAXV,GACFU,EAAa,IAAI3Q,uBAA+BA,6GAMjDA,uBAA+BA,8CAG/BA,uBAA+BA,+FAM9ByQ,EACGf,MAAM,UAAWO,GACjBW,YACArvB,KAAKme,EAAM9V,QACXE,QACA+mB,OAAO,OACPH,KAAK,QAAS,GAAG1Q,YACjB5tB,KAAK49B,EAAQtQ,EAAO2Q,EAAaC,GACjCl+B,MAAMmW,GACLA,EAAKsoB,OAAO,OAAOH,KAAK,QAAS,GAAG1Q,kBAA0B0Q,KAAK,QAASR,GAAYY,KAAKZ,OAGjGS,EAAa,IAAI3Q,6GAMlBA,oBAA4BA,uFAM3ByQ,EACGG,YACArvB,KAAKme,EAAM9V,QACXE,QACA+mB,OAAO,QACPH,KAAK,QAAS,GAAG1Q,YACjB5tB,KAAK49B,EAAQtQ,EAAO2Q,EAAaC,GACjCO,QAAO,WACN,OAAO/7B,KAAKi8B,cAAc/mB,eAAekmB,EAAW19B,MAAMsC,KAAMrC,WACxE,KAGSg+B,EACJr+B,MAAM4+B,GACLA,EAAIC,OAAO,QAAS,KAAKH,KACvB,IAAI9Q,yGAKTA,sEAID2Q,OAGGjB,MAAM,cAAe7R,GAAiBA,EAAJ,KAAqB,MACvD6R,MAAM,aAAmBp7B,IAAVggB,EAAsB,MAAWA,EAAJ,MAC5Cob,MAAM,eAAgBR,GAAciB,EAAa,WACjD/9B,KAAKo9B,GAAmBE,GACxB9mB,MACL,CCjKA,MAAMsoB,GAAiB,IAAIvc,IAAI,CAC7B,CAAC,SDsBI,SACLjd,GACA+yB,KACEA,QAA6Bn2B,IAAtBoD,EAAO2wB,MAAMoC,KAAqB/yB,EAAO2wB,KAAKoC,KAAO,QAAM0G,YAClEA,EAAc,EAACxG,OACfA,QAAiCr2B,IAAxBoD,EAAO2wB,MAAMsC,OAAuBjzB,EAAO2wB,KAAKsC,OAASxR,GAAUsR,GAAQ,eAAiB,QAAM2G,cAC3GA,EAAgB,EAACC,YACjBA,EAAc,IAAG7e,EACjBA,EAAI,OACDpV,GACD,CAAE,EACNsiB,GAEA,MAAO4R,EAAIC,GAAM7Z,GAAkB+S,IAC5B+G,EAAIC,GAAM/Z,GAAkBiT,GAC7B+G,EAAK5B,GAAWpQ,EAAO4R,GACvBK,EAAK7B,GAAWpQ,EAAO8R,GACvBtX,EAAO1H,EAAIA,EAAI/d,KAAK2lB,GAI1B,OAHA+W,EAAclZ,GAAmBkZ,GAAa,GAC9CC,EAAgBnZ,GAAmBmZ,GAAe,GAClDC,EAAcpZ,GAAmBoZ,GAAa,GACvCtB,GAAYr4B,EAAQ0F,GAAS,CAACqyB,EAAW/P,EAAOpL,EAAOsJ,IAC5D6R,EACGoB,OAAO,OACPH,KAAK,UAAW,eAChBA,KAAK,QAASpc,GACdoc,KAAK,SAAU9S,GACf8S,KAAK,OAAe,UAAPY,EAAkB9Y,GAAMkZ,EAAGhS,MAAMlH,GAAK+Y,GACnDb,KAAK,eAAgBS,GACrBT,KAAK,SAAiB,UAAPc,EAAkBhZ,GAAMmZ,EAAGjS,MAAMlH,GAAKiZ,GACrDf,KAAK,iBAAkBU,GACvBV,KAAK,eAAgBW,GACrBR,OAAO,QACPH,KAAK,KAAMlY,IACV,MAAMoZ,EAAIC,EAAAA,YAEV,OADAn6B,EAAOgoB,MAAMlH,GAAGwB,KAAK4X,EAAG1X,GACjB0X,CAAC,KAGhB,GC5DE,CAAC,QAASE,IACV,CAAC,UAgDH,UAAuBv1B,KAACA,EAAIgpB,YAAEA,KAAgB7F,IAAQqS,OAACA,GAAS,EAAIha,MAAEA,EAAQia,EAAAA,IAAI,EAAG,EAAG,MAAO50B,IAC7F,IAAKmoB,EAAa,MAAM,IAAI3O,MAAM,GAAGra,uCACtB,IAAXw1B,IAAiBA,EAAS,QAC9B,GAAkC,SAA9B,GAAGA,IAASnwB,cAA0B,MAAM,IAAIgV,MAAM,GAAGmb,uCAC7D,OAAOD,GAAY,CAACv1B,UAASmjB,EAAO6F,YAAa0M,GAAmBla,IAAS,CAACga,YAAW30B,GAC3F,KAtBA,SAAS80B,IAAclS,UAACA,KAAc/F,IAAUkY,MAACA,EAAKpF,MAAEA,EAAKmD,WAAEA,GAAc,CAAE,EAAE9yB,GAC/E,OjBsaK,SAAiBA,EAAU,MAAOg1B,GACvC,IAAIC,EAAIj1B,EACR,IAAK,MAAMk1B,KAAYF,EACrB,IAAK,MAAM/+B,KAAOi/B,EAChB,QAAeh+B,IAAX+9B,EAAEh/B,GAAoB,CACxB,MAAM2B,EAAQs9B,EAASj/B,GACnBg/B,IAAMj1B,EAASi1B,EAAI,IAAIA,EAAGh/B,CAACA,GAAM2B,GAChCq9B,EAAEh/B,GAAO2B,CACf,CAGL,OAAOq9B,CACT,CiBlbSE,CAAQn1B,EAAS,CAAC4iB,eAAc/F,GAAU,CAACkY,QAAOpF,QAAOmD,cAClE,CAEA,SAAS4B,GAAY/Z,GAAOga,OAACA,GAAS,KAAS30B,IAE7C,IADe,IAAX20B,IAAiBA,EAAwB,YAAfha,EAAMxb,KAAqB,WAAa,aACjDjI,IAAjByjB,EAAMnO,OACV,OAAQ,GAAGmoB,IAASnwB,eAClB,IAAK,WACH,ODpCC,SAAwBmW,GAAO4B,QAACA,KAAYvc,GAAW,CAAA,GAC5D,IAAK0uB,GAAe/T,KLybf,UAA0Bxb,KAACA,IAChC,MAAgB,cAATA,CACT,CK3biCi2B,CAAiBza,GAC9C,MAAM,IAAInB,MAAM,kEAAkEmB,EAAMxb,SAC1F,OAAOwzB,GAAYhY,EAAO3a,GAAS,CAACqyB,EAAW/P,EAAOpL,EAAOsJ,IAC3D6R,EACGoB,OAAO,OACPH,KAAK,QAASpc,GACdoc,KAAK,SAAU9S,GACf8S,KAAK,OAAQhR,EAAMA,OACnBgR,KAAK,eAAgBzY,GAAmB0B,GAAS,IACjDkX,OAAO,QACPH,KAAK,QAAS,QACdA,KAAK,SAAU,SAEtB,CCsBa+B,CAAe1a,EAAO3a,GAC/B,IAAK,OACH,OC7CC,SAAoB2a,EAAO3a,GAChC,IAAI+0B,MACFA,EAAQpa,EAAMoa,MAAKO,SACnBA,EAAW,EAACpe,MACZA,EAAQ,IAAGsJ,OACXA,EAAS,GAAK8U,EAAQ3U,UACtBA,EAAY,GAAED,YACdA,EAAc,EAACE,aACfA,EAAe,GAAK0U,EAAQ7U,WAC5BA,EAAa,EAAC6R,MACdA,EAAK3C,MACLA,GAASzY,EAAQuJ,EAAaC,GAAe,GAAEoS,WAC/CA,EAAUC,YACVA,EAAcN,GAAiB9X,GAAMmP,MACrCA,GAAQ,EAAIvN,QACZA,EAAOqG,UACPA,GACE5iB,EACJ,MAAM6c,EAAU8F,GAAc3iB,GAC9B4iB,EAAYuP,GAAevP,GAC3BrG,EAAU1B,GAAmB0B,GAAS,GACnB,OAAfuW,IAAqBA,EAAa,IAAM,MAE5C,MAAMyC,EAAM1S,GAAO,MAAOhG,GACvByW,KAAK,QAAS,GAAG1Q,UACjB0Q,KAAK,cAAe,yBACpBA,KAAK,YAAa,IAClBA,KAAK,QAASpc,GACdoc,KAAK,SAAU9S,GACf8S,KAAK,UAAW,OAAOpc,KAASsJ,KAChCxrB,MAAMugC,GAELA,EAAI9B,OAAO,SAASC,KAClB,IAAI9Q,2IAQTA,2CAKE5tB,KAAKo9B,GAAmBE,GAE3B,IAEIxwB,EAFA0zB,EAAcC,GAAMA,EAAEjC,UAAU,cAAcF,KAAK,KAAM3S,EAAYC,EAAeJ,GAMxF,MAAMkV,EAAa5L,EAAQ,CAAChoB,EAAGwZ,IAAUxZ,EAAE6zB,WAAWra,GAAS,CAACxZ,EAAGwZ,IAAUxZ,EAAEwZ,MAAMA,IAE/Enc,KAACA,EAAIqN,OAAEA,EAAM8O,MAAEA,EAAK6M,YAAEA,EAAW7F,MAAEA,EAAKqJ,MAAEA,GAAShR,EAGzD,GAAIwN,EAAa,CAIf,MAAM+D,OACMh1B,IAAVokB,EACI6M,EACA0D,YAAiC,IAAvB1D,EAAY5uB,OAAe4wB,GAAqBhC,GAAeA,EAAa7M,GAO5FxZ,EAAI4zB,EACFpT,EAAMsT,OACNxN,EAAQA,SACNa,oBAAkBxI,EAAYvJ,EAAQwJ,GACtCrpB,KAAK8K,IAAIqK,EAAOjT,aAAoBrC,IAAVy0B,QAAgCz0B,IAAVokB,EAAsBua,IAAWva,EAAM/hB,UAK3F,MAAMwI,EAAI,IACJ+zB,EAASjZ,EAAQ/lB,SAAS8B,cAAc,UAC9Ck9B,EAAO5e,MAAQnV,EACf+zB,EAAOtV,OAAS,EAChB,MAAMuV,EAAWD,EAAOE,WAAW,MACnC,IAAK,IAAI5yB,EAAI,EAAG+C,EAAIpE,EAAI,EAAGqB,EAAIrB,IAAKqB,EAClC2yB,EAASE,UAAY/J,EAAa9oB,EAAI+C,GACtC4vB,EAASG,SAAS9yB,EAAG,EAAG,EAAG,GAG7BmyB,EACG9B,OAAO,SACPH,KAAK,UAAW/W,GAChB+W,KAAK,IAAK7S,GACV6S,KAAK,IAAK3S,GACV2S,KAAK,QAASpc,EAAQuJ,EAAaC,GACnC4S,KAAK,SAAU9S,EAASG,EAAYC,GACpC0S,KAAK,sBAAuB,QAC5BA,KAAK,aAAcwC,EAAOK,YAC9B,MAGI,GAAa,cAATh3B,EAAsB,CAC7B,MAAMuwB,EAAaljB,EAEb4pB,OACWl/B,IAAf47B,EAA4B1X,GAAMA,EAA0B,iBAAf0X,EAA0B7c,EAAMA,OAAC6c,GAAcA,EAI9FhxB,EAAI4zB,EAAWtG,EAAWA,cAAG5iB,OAAO,EAAE,EAAG8O,EAAM/hB,OAAS,IAAK,CAACknB,EAAYvJ,EAAQwJ,IAElF6U,EACG9B,OAAO,KACPH,KAAK,eAAgB/W,GACrBiX,YACArvB,KAAKmX,GACL5O,QACA+mB,OAAO,QACPH,KAAK,KAAK,CAAClY,EAAGhY,IAAMtB,EAAEsB,EAAI,KAC1BkwB,KAAK,IAAK3S,GACV2S,KAAK,SAAS,CAAClY,EAAGhY,IAAMtB,EAAEsB,GAAKtB,EAAEsB,EAAI,KACrCkwB,KAAK,SAAU9S,EAASG,EAAYC,GACpC0S,KAAK,QAASlY,GAAMA,IAEvBuU,EAAQ3V,GAAI0V,GAAY,CAACxF,EAAG9mB,IAAMA,IAClC0vB,EAAc1vB,GAAMgzB,EAAgB1G,EAAWtsB,GAAIA,EACpD,MAICtB,EAAI4zB,EAAW7E,cAAYrkB,OAAOA,GAAS,CAACiU,EAAYvJ,EAAQwJ,IAEhE6U,EACG9B,OAAO,KACPH,KAAK,eAAgB/W,GACrBiX,YACArvB,KAAKqI,GACLE,QACA+mB,OAAO,QACPH,KAAK,IAAKxxB,GACVwxB,KAAK,IAAK3S,GACV2S,KAAK,QAASj8B,KAAK6K,IAAI,EAAGJ,EAAEu0B,YAAc,IAC1C/C,KAAK,SAAU9S,EAASG,EAAYC,GACpC0S,KAAK,OAAQhR,GAEhBkT,EAAa,OA6Bf,OA1BAD,EACG9B,OAAO,KACPH,KAAK,YAAa,eAAe9S,EAASI,MAC1C5rB,KACCshC,EAAAA,WAAWx0B,GACR6tB,MAAM1oB,MAAMsvB,QAAQ5G,GAAS,KAAOA,EAA6B,iBAAfmD,EAA0BA,OAAa57B,GACzF47B,WAAiC,mBAAfA,EAA4BA,OAAa57B,GAC3Do+B,SAASA,GACTkB,WAAWvvB,MAAMsvB,QAAQ5G,GAASA,EAAQ,OAE9C2D,KAAK,YAAa,MAClBA,KAAK,cAAe,MACpBA,KAAK,eAAgBxB,GAAciB,EAAa,WAChD/9B,KAAKwgC,GACLxgC,MAAMygC,GAAMA,EAAE3S,OAAO,WAAW2T,gBAErBv/B,IAAV69B,GACFQ,EACG9B,OAAO,QACPH,KAAK,IAAK7S,GACV6S,KAAK,IAAK3S,EAAY,GACtB2S,KAAK,OAAQ,gBACbA,KAAK,cAAe,QACpBI,KAAKqB,GAGHQ,EAAI/pB,MACb,CDrIakrB,CAAW/b,EAAO3a,GAC3B,QACE,MAAM,IAAIwZ,MAAM,wBAAwBmb,KAE9C,CASA,SAASE,GAAmBla,GAC1B,MAAMvF,EAACA,EAACqgB,EAAEA,EAAC/vB,EAAEA,GAAKkvB,EAAGA,IAACja,IAAUia,MAAI,EAAG,EAAG,GAC1C,OAAQvM,GAAM,QAAQjT,KAAKqgB,KAAK/vB,KAAK2iB,IACvC,CEvDA,IAAMsO,GAAmB,oBAEnBC,GAAgC,CAEpCC,SAAS,EAETC,aAAc,KAEd/B,MAAO,KAEP7d,MAAO,KAGY6f,GAAM,WAWzB,SAAAA,EAAYC,gGAAoBC,MAAAF,GAVhCr/B,KAAIlB,KAAG,SAWLkB,KAAKs/B,SAAWA,EAChBt/B,KAAKw/B,KAAO,KACZx/B,KAAKy/B,OAAQ,EACbz/B,KAAKsI,QAAU42B,EACjB,WA6CC,SA7CAG,IAAA,CAAA,CAAA9gC,IAAA,QAAA2B,MAED,SAAMw/B,GACJ1/B,KAAKsI,QAAO3L,OAAAmR,OAAAnR,OAAAmR,OAAA,GAAQoxB,IAAmBQ,EACzC,GAAC,CAAAnhC,IAAA,QAAA2B,MAED,WACE,IAAMy/B,EAAe3/B,KAAKs/B,SAASh3B,QAAQA,QAAQsiB,MACnDgV,EAAkC5/B,KAAKsI,QAA/B62B,EAAOS,EAAPT,QAASC,EAAYQ,EAAZR,aAEjB,IAAKD,GAAYC,GAAgBhU,EAAMA,OAACgU,GAAcxvB,QACpD,OAAO5P,KAAK6/B,UAGd7/B,KAAKy/B,OAAQ,EAEbz/B,KAAKw/B,KAAOpU,EAAMA,OAChBgU,GAAgBp/B,KAAKs/B,SAASh3B,QAAQA,QAAQ82B,cAG5Cp/B,KAAKw/B,KAAKpU,OAAO6T,IAAkBrvB,QACrC5P,KAAKw/B,KAAOx/B,KAAKw/B,KAAKzD,OAAO,OAAOH,KAAK,KAAMqD,GAAiBl3B,MAAM,IAEtE/H,KAAKw/B,KAAOx/B,KAAKw/B,KAAKpU,OAAO6T,IAI/B,IAAMnrB,EFxDH,SAAgBxL,EAAU,IAC/B,IAAK,MAAO/J,EAAK2B,KAAUk8B,GAAgB,CACzC,MAAMxR,EAAQtiB,EAAQ/J,GACtB,GAAI+kB,GAAesH,GAAQ,CAEzB,MAAMzF,EAAU8F,GAAc3iB,GAC9B,IAAIirB,EAEJ,GAAY,WAARh1B,EAAkB,CACpB,MAAMo3B,KAACA,EAAIE,OAAEA,QAAkBr2B,IAATm2B,GAAsBrS,GAAehb,EAAQ2a,OAAS,aAAUzjB,IAAa8I,EACnGirB,EAAO,CAACoC,OAAME,SACf,CACD,OAAO31B,EAAMw2B,GAAen4B,EAAKqsB,EAAO2I,GAAO6J,GAAcjY,EAASyF,EAAOtiB,IAAW/J,GACtF+kB,GAAehb,EAAQ/J,IAAQm4B,GAAen4B,EAAK+J,EAAQ/J,IAAQ,MAEtE,CACF,CACD,MAAM,IAAIujB,MAAM,sCAClB,CEsCiBmb,CACRtgC,OAAAmR,OAAAnR,OAAAmR,OAAA,CAAA,EAAA6xB,GACA3/B,KAAKsI,UAMV,OAHAtI,KAAKw/B,KAAK1D,UAAU,KAAKiD,SACzB/+B,KAAKw/B,KAAKzD,QAAO,WAAA,OAAMjoB,KAEhBW,QAAQQ,SACjB,GAAC,CAAA1W,IAAA,UAAA2B,MAED,WAME,OALkB,OAAdF,KAAKw/B,OACPx/B,KAAKw/B,KAAKT,SACV/+B,KAAKw/B,KAAO,MAGP/qB,QAAQQ,SACjB,qFAACoqB,CAAA,CA7DwB,GA6DxB,OAAAA,EAAA","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140]}
diff --git a/src/agenda_culturel/static/cal-heatmap/plugins/LegendLite.min.esm.js.map b/src/agenda_culturel/static/cal-heatmap/plugins/LegendLite.min.esm.js.map
index 309db53..cb8e7d9 100644
--- a/src/agenda_culturel/static/cal-heatmap/plugins/LegendLite.min.esm.js.map
+++ b/src/agenda_culturel/static/cal-heatmap/plugins/LegendLite.min.esm.js.map
@@ -1 +1 @@
-{"version":3,"file":"LegendLite.min.esm.js","sources":["../../node_modules/core-js/internals/fails.js","../../node_modules/core-js/internals/descriptors.js","../../node_modules/core-js/internals/function-bind-native.js","../../node_modules/core-js/internals/function-uncurry-this.js","../../node_modules/core-js/internals/is-null-or-undefined.js","../../node_modules/core-js/internals/require-object-coercible.js","../../node_modules/core-js/internals/to-object.js","../../node_modules/core-js/internals/has-own-property.js","../../node_modules/core-js/internals/function-name.js","../../node_modules/core-js/internals/document-all.js","../../node_modules/core-js/internals/is-callable.js","../../node_modules/core-js/internals/global.js","../../node_modules/core-js/internals/define-global-property.js","../../node_modules/core-js/internals/shared-store.js","../../node_modules/core-js/internals/inspect-source.js","../../node_modules/core-js/internals/engine-v8-version.js","../../node_modules/core-js/internals/weak-map-basic-detection.js","../../node_modules/core-js/internals/is-object.js","../../node_modules/core-js/internals/document-create-element.js","../../node_modules/core-js/internals/ie8-dom-define.js","../../node_modules/core-js/internals/v8-prototype-define-bug.js","../../node_modules/core-js/internals/an-object.js","../../node_modules/core-js/internals/function-call.js","../../node_modules/core-js/internals/get-built-in.js","../../node_modules/core-js/internals/object-is-prototype-of.js","../../node_modules/core-js/internals/engine-user-agent.js","../../node_modules/core-js/internals/symbol-constructor-detection.js","../../node_modules/core-js/internals/use-symbol-as-uid.js","../../node_modules/core-js/internals/is-symbol.js","../../node_modules/core-js/internals/try-to-string.js","../../node_modules/core-js/internals/a-callable.js","../../node_modules/core-js/internals/get-method.js","../../node_modules/core-js/internals/ordinary-to-primitive.js","../../node_modules/core-js/internals/shared.js","../../node_modules/core-js/internals/uid.js","../../node_modules/core-js/internals/well-known-symbol.js","../../node_modules/core-js/internals/to-primitive.js","../../node_modules/core-js/internals/to-property-key.js","../../node_modules/core-js/internals/object-define-property.js","../../node_modules/core-js/internals/create-property-descriptor.js","../../node_modules/core-js/internals/internal-state.js","../../node_modules/core-js/internals/create-non-enumerable-property.js","../../node_modules/core-js/internals/shared-key.js","../../node_modules/core-js/internals/hidden-keys.js","../../node_modules/core-js/internals/make-built-in.js","../../node_modules/core-js/internals/define-built-in-accessor.js","../../node_modules/core-js/modules/es.function.name.js","../../node_modules/core-js/internals/object-property-is-enumerable.js","../../node_modules/core-js/internals/classof-raw.js","../../node_modules/core-js/internals/indexed-object.js","../../node_modules/core-js/internals/to-indexed-object.js","../../node_modules/core-js/internals/object-get-own-property-descriptor.js","../../node_modules/core-js/internals/define-built-in.js","../../node_modules/core-js/internals/math-trunc.js","../../node_modules/core-js/internals/to-integer-or-infinity.js","../../node_modules/core-js/internals/to-absolute-index.js","../../node_modules/core-js/internals/to-length.js","../../node_modules/core-js/internals/length-of-array-like.js","../../node_modules/core-js/internals/array-includes.js","../../node_modules/core-js/internals/object-keys-internal.js","../../node_modules/core-js/internals/enum-bug-keys.js","../../node_modules/core-js/internals/object-get-own-property-names.js","../../node_modules/core-js/internals/object-get-own-property-symbols.js","../../node_modules/core-js/internals/own-keys.js","../../node_modules/core-js/internals/copy-constructor-properties.js","../../node_modules/core-js/internals/is-forced.js","../../node_modules/core-js/internals/export.js","../../node_modules/core-js/internals/object-keys.js","../../node_modules/core-js/internals/object-assign.js","../../node_modules/core-js/modules/es.object.assign.js","../../node_modules/core-js/internals/to-string-tag-support.js","../../node_modules/core-js/internals/classof.js","../../node_modules/core-js/internals/object-to-string.js","../../node_modules/core-js/modules/es.object.to-string.js","../../node_modules/core-js/internals/engine-is-node.js","../../node_modules/core-js/internals/function-uncurry-this-accessor.js","../../node_modules/core-js/internals/a-possible-prototype.js","../../node_modules/core-js/internals/object-set-prototype-of.js","../../node_modules/core-js/internals/set-to-string-tag.js","../../node_modules/core-js/internals/set-species.js","../../node_modules/core-js/internals/an-instance.js","../../node_modules/core-js/internals/is-constructor.js","../../node_modules/core-js/internals/task.js","../../node_modules/core-js/internals/a-constructor.js","../../node_modules/core-js/internals/species-constructor.js","../../node_modules/core-js/internals/function-apply.js","../../node_modules/core-js/internals/function-uncurry-this-clause.js","../../node_modules/core-js/internals/function-bind-context.js","../../node_modules/core-js/internals/html.js","../../node_modules/core-js/internals/array-slice.js","../../node_modules/core-js/internals/validate-arguments-length.js","../../node_modules/core-js/internals/engine-is-ios.js","../../node_modules/core-js/internals/queue.js","../../node_modules/core-js/internals/microtask.js","../../node_modules/core-js/internals/engine-is-ios-pebble.js","../../node_modules/core-js/internals/engine-is-webos-webkit.js","../../node_modules/core-js/internals/perform.js","../../node_modules/core-js/internals/promise-native-constructor.js","../../node_modules/core-js/internals/engine-is-deno.js","../../node_modules/core-js/internals/engine-is-browser.js","../../node_modules/core-js/internals/promise-constructor-detection.js","../../node_modules/core-js/internals/new-promise-capability.js","../../node_modules/core-js/modules/es.promise.constructor.js","../../node_modules/core-js/internals/host-report-errors.js","../../node_modules/core-js/internals/iterators.js","../../node_modules/core-js/internals/is-array-iterator-method.js","../../node_modules/core-js/internals/get-iterator-method.js","../../node_modules/core-js/internals/get-iterator.js","../../node_modules/core-js/internals/iterator-close.js","../../node_modules/core-js/internals/iterate.js","../../node_modules/core-js/internals/check-correctness-of-iteration.js","../../node_modules/core-js/internals/promise-statics-incorrect-iteration.js","../../node_modules/core-js/modules/es.promise.all.js","../../node_modules/core-js/modules/es.promise.catch.js","../../node_modules/core-js/modules/es.promise.race.js","../../node_modules/core-js/modules/es.promise.reject.js","../../node_modules/core-js/internals/promise-resolve.js","../../node_modules/core-js/modules/es.promise.resolve.js","../../node_modules/core-js/internals/object-define-properties.js","../../node_modules/core-js/internals/object-create.js","../../node_modules/core-js/internals/add-to-unscopables.js","../../node_modules/core-js/internals/iterators-core.js","../../node_modules/core-js/internals/correct-prototype-getter.js","../../node_modules/core-js/internals/object-get-prototype-of.js","../../node_modules/core-js/internals/iterator-create-constructor.js","../../node_modules/core-js/internals/iterator-define.js","../../node_modules/core-js/internals/create-iter-result-object.js","../../node_modules/core-js/modules/es.array.iterator.js","../../node_modules/core-js/internals/to-string.js","../../node_modules/core-js/internals/string-multibyte.js","../../node_modules/core-js/modules/es.string.iterator.js","../../node_modules/core-js/internals/create-property.js","../../node_modules/core-js/internals/array-slice-simple.js","../../node_modules/core-js/internals/object-get-own-property-names-external.js","../../node_modules/core-js/internals/array-buffer-non-extensible.js","../../node_modules/core-js/internals/object-is-extensible.js","../../node_modules/core-js/internals/freezing.js","../../node_modules/core-js/internals/internal-metadata.js","../../node_modules/core-js/internals/inherit-if-required.js","../../node_modules/core-js/internals/collection.js","../../node_modules/core-js/internals/define-built-ins.js","../../node_modules/core-js/internals/is-array.js","../../node_modules/core-js/internals/array-species-constructor.js","../../node_modules/core-js/internals/array-species-create.js","../../node_modules/core-js/internals/array-iteration.js","../../node_modules/core-js/internals/collection-weak.js","../../node_modules/core-js/modules/es.weak-set.constructor.js","../../node_modules/core-js/internals/dom-iterables.js","../../node_modules/core-js/internals/dom-token-list-prototype.js","../../node_modules/core-js/modules/web.dom-collections.iterator.js","../../node_modules/core-js/internals/array-method-has-species-support.js","../../node_modules/core-js/modules/es.array.slice.js","../../node_modules/core-js/internals/array-method-is-strict.js","../../node_modules/core-js/modules/es.array.join.js","../../node_modules/tslib/tslib.es6.js","../../node_modules/core-js/modules/es.object.keys.js","../../node_modules/core-js/internals/is-regexp.js","../../node_modules/core-js/modules/es.string.starts-with.js","../../node_modules/core-js/internals/not-a-regexp.js","../../node_modules/core-js/internals/correct-is-regexp-logic.js","../../node_modules/core-js/internals/array-for-each.js","../../node_modules/core-js/modules/web.dom-collections.for-each.js","../../node_modules/core-js/internals/object-to-array.js","../../node_modules/core-js/modules/es.object.entries.js","../../node_modules/@observablehq/plot/src/defined.js","../../node_modules/isoformat/src/parse.js","../../node_modules/@observablehq/plot/src/time.js","../../node_modules/@observablehq/plot/src/options.js","../../node_modules/@observablehq/plot/src/scales/index.js","../../node_modules/@observablehq/plot/src/symbol.js","../../node_modules/@observablehq/plot/src/warnings.js","../../node_modules/@observablehq/plot/src/scales/schemes.js","../../node_modules/@observablehq/plot/src/scales/quantitative.js","../../node_modules/@observablehq/plot/src/scales/diverging.js","../../node_modules/@observablehq/plot/src/scales/temporal.js","../../node_modules/@observablehq/plot/src/scales/ordinal.js","../../node_modules/@observablehq/plot/src/scales.js","../../../src/constant.ts","../../../src/scale.ts","../../node_modules/core-js/internals/does-not-exceed-safe-integer.js","../../node_modules/core-js/modules/es.array.concat.js","../../node_modules/core-js/modules/es.promise.all-settled.js","../../node_modules/core-js/internals/collection-strong.js","../../node_modules/core-js/modules/es.map.constructor.js","../../node_modules/core-js/internals/delete-property-or-throw.js","../../node_modules/core-js/internals/array-sort.js","../../node_modules/core-js/internals/engine-ff-version.js","../../node_modules/core-js/internals/engine-is-ie-or-edge.js","../../node_modules/core-js/internals/engine-webkit-version.js","../../node_modules/core-js/modules/es.array.sort.js","../../node_modules/core-js/modules/es.array.includes.js","../../node_modules/core-js/modules/es.array.map.js","../../node_modules/core-js/modules/es.array.filter.js","../../node_modules/core-js/internals/call-with-safe-iteration-closing.js","../../node_modules/core-js/internals/array-from.js","../../node_modules/core-js/modules/es.array.from.js","../../node_modules/core-js/internals/whitespaces.js","../../node_modules/core-js/internals/string-trim.js","../../node_modules/core-js/internals/string-trim-forced.js","../../node_modules/core-js/modules/es.string.trim.js","../../../src/subDomain/SubDomainPainter.ts","../../../src/plugins/LegendLite.ts","../../../src/calendar/CalendarPainter.ts"],"sourcesContent":["'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","'use strict';\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.34.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.34.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FUNCTION_NAME_EXISTS = require('../internals/function-name').EXISTS;\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\n\nvar FunctionPrototype = Function.prototype;\nvar functionToString = uncurryThis(FunctionPrototype.toString);\nvar nameRE = /function\\b(?:\\s|\\/\\*[\\S\\s]*?\\*\\/|\\/\\/[^\\n\\r]*[\\n\\r]+)*([^\\s(/]*)/;\nvar regExpExec = uncurryThis(nameRE.exec);\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !FUNCTION_NAME_EXISTS) {\n defineBuiltInAccessor(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return regExpExec(nameRE, functionToString(this))[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol('assign detection');\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\nvar $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar global = require('../internals/global');\nvar classof = require('../internals/classof-raw');\n\nmodule.exports = classof(global.process) === 'process';\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineBuiltInAccessor(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar Dispatch = global.Dispatch;\nvar Function = global.Function;\nvar MessageChannel = global.MessageChannel;\nvar String = global.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar $location, defer, channel, port;\n\nfails(function () {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n $location = global.location;\n});\n\nvar run = function (id) {\n if (hasOwn(queue, id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar eventListener = function (event) {\n run(event.data);\n};\n\nvar globalPostMessageDefer = function (id) {\n // old engines have not location.origin\n global.postMessage(String(id), $location.protocol + '//' + $location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = eventListener;\n defer = bind(port.postMessage, port);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n isCallable(global.postMessage) &&\n !global.importScripts &&\n $location && $location.protocol !== 'file:' &&\n !fails(globalPostMessageDefer)\n ) {\n defer = globalPostMessageDefer;\n global.addEventListener('message', eventListener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","'use strict';\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw new $TypeError('Not enough arguments');\n return passed;\n};\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\n// eslint-disable-next-line redos/no-vulnerable -- safe\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","'use strict';\nvar Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n var tail = this.tail;\n if (tail) tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n var next = this.head = entry.next;\n if (next === null) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","'use strict';\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar Queue = require('../internals/queue');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/engine-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar microtask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\nvar notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!microtask) {\n var queue = new Queue();\n\n var flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (fn = queue.get()) try {\n fn();\n } catch (error) {\n if (queue.head) notify();\n throw error;\n }\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = bind(promise.then, promise);\n notify = function () {\n then(flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessage\n // - onreadystatechange\n // - setTimeout\n } else {\n // `webpack` dev server bug on IE global methods - use bind(fn, global)\n macrotask = bind(macrotask, global);\n notify = function () {\n macrotask(flush);\n };\n }\n\n microtask = function (fn) {\n if (!queue.head) notify();\n queue.add(fn);\n };\n}\n\nmodule.exports = microtask;\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined';\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict';\nvar global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","'use strict';\n/* global Deno -- Deno case */\nmodule.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object';\n","'use strict';\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nmodule.exports = !IS_DENO && !IS_NODE\n && typeof window == 'object'\n && typeof document == 'object';\n","'use strict';\nvar global = require('../internals/global');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {\n // Detect correctness of subclassing with @@species support\n var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n } return !GLOBAL_CORE_JS_PROMISE && (IS_BROWSER || IS_DENO) && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n SUBCLASSING: SUBCLASSING\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/engine-is-node');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state === FULFILLED;\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(new TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n call(then, result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw new TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n call(then, value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalPromiseState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n\n PromisePrototype = PromiseConstructor.prototype;\n\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: new Queue(),\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state === PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n });\n\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalPromiseState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!NATIVE_PROMISE_SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromisePrototype);\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","'use strict';\nmodule.exports = function (a, b) {\n try {\n // eslint-disable-next-line no-console -- safe\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n } catch (error) { /* empty */ }\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n try {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n } catch (error) { return false; } // workaround of old WebKit + `eval` bug\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","'use strict';\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call($promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['catch'];\n if (NativePromisePrototype['catch'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n reject: function reject(r) {\n var capability = newPromiseCapabilityModule.f(this);\n call(capability.reject, undefined, r);\n return capability.promise;\n }\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] === undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND];\n\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n }\n\n return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\n// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n return { value: value, done: done };\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return createIterResultObject(undefined, true);\n }\n switch (state.kind) {\n case 'keys': return createIterResultObject(index, false);\n case 'values': return createIterResultObject(target[index], false);\n } return createIterResultObject([index, target[index]], false);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return createIterResultObject(undefined, true);\n point = charAt(string, index);\n state.index += point.length;\n return createIterResultObject(point, false);\n});\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar $Array = Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = $Array(max(fin - k, 0));\n var n = 0;\n for (; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","'use strict';\n/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) === 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","'use strict';\n// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it\nvar fails = require('../internals/fails');\n\nmodule.exports = fails(function () {\n if (typeof ArrayBuffer == 'function') {\n var buffer = new ArrayBuffer(8);\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe\n if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });\n }\n});\n","'use strict';\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external');\nvar isExtensible = require('../internals/object-is-extensible');\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar REQUIRED = false;\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + id++, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar enable = function () {\n meta.enable = function () { /* empty */ };\n REQUIRED = true;\n var getOwnPropertyNames = getOwnPropertyNamesModule.f;\n var splice = uncurryThis([].splice);\n var test = {};\n test[METADATA] = 1;\n\n // prevent exposing of metadata key\n if (getOwnPropertyNames(test).length) {\n getOwnPropertyNamesModule.f = function (it) {\n var result = getOwnPropertyNames(it);\n for (var i = 0, length = result.length; i < length; i++) {\n if (result[i] === METADATA) {\n splice(result, i, 1);\n break;\n }\n } return result;\n };\n\n $({ target: 'Object', stat: true, forced: true }, {\n getOwnPropertyNames: getOwnPropertyNamesExternalModule.f\n });\n }\n};\n\nvar meta = module.exports = {\n enable: enable,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n defineBuiltIn(NativePrototype, KEY,\n KEY === 'add' ? function add(value) {\n uncurriedNativeMethod(this, value === 0 ? 0 : value);\n return this;\n } : KEY === 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY === 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY === 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.enable();\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) !== instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, NativePrototype);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, constructor: true, forced: Constructor !== NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) defineBuiltIn(target, key, src[key], options);\n return target;\n};\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? $Array : C;\n};\n","'use strict';\nvar arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE === 1;\n var IS_FILTER = TYPE === 2;\n var IS_SOME = TYPE === 3;\n var IS_EVERY = TYPE === 4;\n var IS_FIND_INDEX = TYPE === 6;\n var IS_FILTER_REJECT = TYPE === 7;\n var NO_HOLES = TYPE === 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(self);\n var boundFunction = bind(callbackfn, that);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar getWeakData = require('../internals/internal-metadata').getWeakData;\nvar anInstance = require('../internals/an-instance');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isObject = require('../internals/is-object');\nvar iterate = require('../internals/iterate');\nvar ArrayIterationModule = require('../internals/array-iteration');\nvar hasOwn = require('../internals/has-own-property');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar splice = uncurryThis([].splice);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (state) {\n return state.frozen || (state.frozen = new UncaughtFrozenStore());\n};\n\nvar UncaughtFrozenStore = function () {\n this.entries = [];\n};\n\nvar findUncaughtFrozen = function (store, key) {\n return find(store.entries, function (it) {\n return it[0] === key;\n });\n};\n\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.entries.push([key, value]);\n },\n 'delete': function (key) {\n var index = findIndex(this.entries, function (it) {\n return it[0] === key;\n });\n if (~index) splice(this.entries, index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n id: id++,\n frozen: undefined\n });\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var data = getWeakData(anObject(key), true);\n if (data === true) uncaughtFrozenStore(state).set(key, value);\n else data[state.id] = value;\n return that;\n };\n\n defineBuiltIns(Prototype, {\n // `{ WeakMap, WeakSet }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-weakmap.prototype.delete\n // https://tc39.es/ecma262/#sec-weakset.prototype.delete\n 'delete': function (key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state)['delete'](key);\n return data && hasOwn(data, state.id) && delete data[state.id];\n },\n // `{ WeakMap, WeakSet }.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-weakmap.prototype.has\n // https://tc39.es/ecma262/#sec-weakset.prototype.has\n has: function has(key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).has(key);\n return data && hasOwn(data, state.id);\n }\n });\n\n defineBuiltIns(Prototype, IS_MAP ? {\n // `WeakMap.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-weakmap.prototype.get\n get: function get(key) {\n var state = getInternalState(this);\n if (isObject(key)) {\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).get(key);\n return data ? data[state.id] : undefined;\n }\n },\n // `WeakMap.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-weakmap.prototype.set\n set: function set(key, value) {\n return define(this, key, value);\n }\n } : {\n // `WeakSet.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-weakset.prototype.add\n add: function add(value) {\n return define(this, value, true);\n }\n });\n\n return Constructor;\n }\n};\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\n\n// `WeakSet` constructor\n// https://tc39.es/ecma262/#sec-weakset-constructor\ncollection('WeakSet', function (init) {\n return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionWeak);\n","'use strict';\n// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","'use strict';\n// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","'use strict';\nvar global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nvar handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n setToStringTag(CollectionPrototype, COLLECTION_NAME, true);\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype, COLLECTION_NAME);\n}\n\nhandlePrototype(DOMTokenListPrototype, 'DOMTokenList');\n","'use strict';\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar nativeSlice = require('../internals/array-slice');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (isConstructor(Constructor) && (Constructor === $Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === $Array || Constructor === undefined) {\n return nativeSlice(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? $Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call -- required for testing\n method.call(null, argument || function () { return 1; }, 1);\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = uncurryThis([].join);\n\nvar ES3_STRINGS = IndexedObject !== Object;\nvar FORCED = ES3_STRINGS || !arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: FORCED }, {\n join: function join(separator) {\n return nativeJoin(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport default {\r\n __extends,\r\n __assign,\r\n __rest,\r\n __decorate,\r\n __param,\r\n __metadata,\r\n __awaiter,\r\n __generator,\r\n __createBinding,\r\n __exportStar,\r\n __values,\r\n __read,\r\n __spread,\r\n __spreadArrays,\r\n __spreadArray,\r\n __await,\r\n __asyncGenerator,\r\n __asyncDelegator,\r\n __asyncValues,\r\n __makeTemplateObject,\r\n __importStar,\r\n __importDefault,\r\n __classPrivateFieldGet,\r\n __classPrivateFieldSet,\r\n __classPrivateFieldIn,\r\n};\r\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) === 'RegExp');\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es/no-string-prototype-startswith -- safe\nvar nativeStartsWith = uncurryThis(''.startsWith);\nvar stringSlice = uncurryThis(''.slice);\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = toString(searchString);\n return nativeStartsWith\n ? nativeStartsWith(that, search, index)\n : stringSlice(that, index, index + search.length) === search;\n }\n});\n","'use strict';\nvar isRegExp = require('../internals/is-regexp');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw new $TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (error1) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (error2) { /* empty */ }\n } return false;\n};\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","'use strict';\nvar global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar handlePrototype = function (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n if (DOMIterables[COLLECTION_NAME]) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype);\n }\n}\n\nhandlePrototype(DOMTokenListPrototype);\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar objectGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\nvar propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\nvar push = uncurryThis([].push);\n\n// in some IE versions, `propertyIsEnumerable` returns incorrect result on integer keys\n// of `null` prototype objects\nvar IE_BUG = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-create -- safe\n var O = Object.create(null);\n O[2] = 2;\n return !propertyIsEnumerable(O, 2);\n});\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var IE_WORKAROUND = IE_BUG && objectGetPrototypeOf(O) === null;\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || (IE_WORKAROUND ? key in O : propertyIsEnumerable(O, key))) {\n push(result, TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","import {ascending, descending} from \"d3\";\n\nexport function defined(x) {\n return x != null && !Number.isNaN(x);\n}\n\nexport function ascendingDefined(a, b) {\n return +defined(b) - +defined(a) || ascending(a, b);\n}\n\nexport function descendingDefined(a, b) {\n return +defined(b) - +defined(a) || descending(a, b);\n}\n\nexport function nonempty(x) {\n return x != null && `${x}` !== \"\";\n}\n\nexport function finite(x) {\n return isFinite(x) ? x : NaN;\n}\n\nexport function positive(x) {\n return x > 0 && isFinite(x) ? x : NaN;\n}\n\nexport function negative(x) {\n return x < 0 && isFinite(x) ? x : NaN;\n}\n","const re = /^(?:[-+]\\d{2})?\\d{4}(?:-\\d{2}(?:-\\d{2})?)?(?:T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{3})?)?(?:Z|[-+]\\d{2}:?\\d{2})?)?$/;\n\nexport default function parse(string, fallback) {\n if (!re.test(string += \"\")) return typeof fallback === \"function\" ? fallback(string) : fallback;\n return new Date(string);\n}\n","import {utcSecond, utcMinute, utcHour, utcDay, utcWeek, utcMonth, utcYear} from \"d3\";\nimport {utcMonday, utcTuesday, utcWednesday, utcThursday, utcFriday, utcSaturday, utcSunday} from \"d3\";\nimport {timeSecond, timeMinute, timeHour, timeDay, timeWeek, timeMonth, timeYear} from \"d3\";\nimport {timeMonday, timeTuesday, timeWednesday, timeThursday, timeFriday, timeSaturday, timeSunday} from \"d3\";\n\nconst timeIntervals = new Map([\n [\"second\", timeSecond],\n [\"minute\", timeMinute],\n [\"hour\", timeHour],\n [\"day\", timeDay],\n [\"week\", timeWeek],\n [\"month\", timeMonth],\n [\"quarter\", timeMonth.every(3)],\n [\"half\", timeMonth.every(6)],\n [\"year\", timeYear],\n [\"monday\", timeMonday],\n [\"tuesday\", timeTuesday],\n [\"wednesday\", timeWednesday],\n [\"thursday\", timeThursday],\n [\"friday\", timeFriday],\n [\"saturday\", timeSaturday],\n [\"sunday\", timeSunday]\n]);\n\nconst utcIntervals = new Map([\n [\"second\", utcSecond],\n [\"minute\", utcMinute],\n [\"hour\", utcHour],\n [\"day\", utcDay],\n [\"week\", utcWeek],\n [\"month\", utcMonth],\n [\"quarter\", utcMonth.every(3)],\n [\"half\", utcMonth.every(6)],\n [\"year\", utcYear],\n [\"monday\", utcMonday],\n [\"tuesday\", utcTuesday],\n [\"wednesday\", utcWednesday],\n [\"thursday\", utcThursday],\n [\"friday\", utcFriday],\n [\"saturday\", utcSaturday],\n [\"sunday\", utcSunday]\n]);\n\nexport function maybeTimeInterval(interval) {\n const i = timeIntervals.get(`${interval}`.toLowerCase());\n if (!i) throw new Error(`unknown interval: ${interval}`);\n return i;\n}\n\nexport function maybeUtcInterval(interval) {\n const i = utcIntervals.get(`${interval}`.toLowerCase());\n if (!i) throw new Error(`unknown interval: ${interval}`);\n return i;\n}\n","import {parse as isoParse} from \"isoformat\";\nimport {color, descending, range as rangei, quantile} from \"d3\";\nimport {maybeTimeInterval, maybeUtcInterval} from \"./time.js\";\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray\nexport const TypedArray = Object.getPrototypeOf(Uint8Array);\nconst objectToString = Object.prototype.toString;\n\nexport function valueof(data, value, type) {\n const valueType = typeof value;\n return valueType === \"string\"\n ? maybeTypedMap(data, field(value), type)\n : valueType === \"function\"\n ? maybeTypedMap(data, value, type)\n : valueType === \"number\" || value instanceof Date || valueType === \"boolean\"\n ? map(data, constant(value), type)\n : typeof value?.transform === \"function\"\n ? maybeTypedArrayify(value.transform(data), type)\n : maybeTypedArrayify(value, type);\n}\n\nfunction maybeTypedMap(data, f, type) {\n return map(data, type?.prototype instanceof TypedArray ? floater(f) : f, type);\n}\n\nfunction maybeTypedArrayify(data, type) {\n return type === undefined\n ? arrayify(data) // preserve undefined type\n : data instanceof type\n ? data\n : type.prototype instanceof TypedArray && !(data instanceof TypedArray)\n ? type.from(data, coerceNumber)\n : type.from(data);\n}\n\nfunction floater(f) {\n return (d, i) => coerceNumber(f(d, i));\n}\n\nexport const field = (name) => (d) => d[name];\nexport const indexOf = {transform: range};\nexport const identity = {transform: (d) => d};\nexport const zero = () => 0;\nexport const one = () => 1;\nexport const yes = () => true;\nexport const string = (x) => (x == null ? x : `${x}`);\nexport const number = (x) => (x == null ? x : +x);\nexport const boolean = (x) => (x == null ? x : !!x);\nexport const first = (x) => (x ? x[0] : undefined);\nexport const second = (x) => (x ? x[1] : undefined);\nexport const third = (x) => (x ? x[2] : undefined);\nexport const constant = (x) => () => x;\n\n// Converts a string like “p25” into a function that takes an index I and an\n// accessor function f, returning the corresponding percentile value.\nexport function percentile(reduce) {\n const p = +`${reduce}`.slice(1) / 100;\n return (I, f) => quantile(I, p, f);\n}\n\n// If the values are specified as a typed array, no coercion is required.\nexport function coerceNumbers(values) {\n return values instanceof TypedArray ? values : map(values, coerceNumber, Float64Array);\n}\n\n// Unlike Mark’s number, here we want to convert null and undefined to NaN since\n// the result will be stored in a Float64Array and we don’t want null to be\n// coerced to zero. We use Number instead of unary + to allow BigInt coercion.\nfunction coerceNumber(x) {\n return x == null ? NaN : Number(x);\n}\n\nexport function coerceDates(values) {\n return map(values, coerceDate);\n}\n\n// When coercing strings to dates, we only want to allow the ISO 8601 format\n// since the built-in string parsing of the Date constructor varies across\n// browsers. (In the future, this could be made more liberal if desired, though\n// it is still generally preferable to do date parsing yourself explicitly,\n// rather than rely on Plot.) Any non-string values are coerced to number first\n// and treated as milliseconds since UNIX epoch.\nexport function coerceDate(x) {\n return x instanceof Date && !isNaN(x)\n ? x\n : typeof x === \"string\"\n ? isoParse(x)\n : x == null || isNaN((x = +x))\n ? undefined\n : new Date(x);\n}\n\n// Some channels may allow a string constant to be specified; to differentiate\n// string constants (e.g., \"red\") from named fields (e.g., \"date\"), this\n// function tests whether the given value is a CSS color string and returns a\n// tuple [channel, constant] where one of the two is undefined, and the other is\n// the given value. If you wish to reference a named field that is also a valid\n// CSS color, use an accessor (d => d.red) instead.\nexport function maybeColorChannel(value, defaultValue) {\n if (value === undefined) value = defaultValue;\n return value === null ? [undefined, \"none\"] : isColor(value) ? [undefined, value] : [value, undefined];\n}\n\n// Similar to maybeColorChannel, this tests whether the given value is a number\n// indicating a constant, and otherwise assumes that it’s a channel value.\nexport function maybeNumberChannel(value, defaultValue) {\n if (value === undefined) value = defaultValue;\n return value === null || typeof value === \"number\" ? [undefined, value] : [value, undefined];\n}\n\n// Validates the specified optional string against the allowed list of keywords.\nexport function maybeKeyword(input, name, allowed) {\n if (input != null) return keyword(input, name, allowed);\n}\n\n// Validates the specified required string against the allowed list of keywords.\nexport function keyword(input, name, allowed) {\n const i = `${input}`.toLowerCase();\n if (!allowed.includes(i)) throw new Error(`invalid ${name}: ${input}`);\n return i;\n}\n\n// Promotes the specified data to an array as needed.\nexport function arrayify(data) {\n return data == null || data instanceof Array || data instanceof TypedArray ? data : Array.from(data);\n}\n\n// An optimization of type.from(values, f): if the given values are already an\n// instanceof the desired array type, the faster values.map method is used.\nexport function map(values, f, type = Array) {\n return values == null ? values : values instanceof type ? values.map(f) : type.from(values, f);\n}\n\n// An optimization of type.from(values): if the given values are already an\n// instanceof the desired array type, the faster values.slice method is used.\nexport function slice(values, type = Array) {\n return values instanceof type ? values.slice() : type.from(values);\n}\n\n// Disambiguates an options object (e.g., {y: \"x2\"}) from a primitive value.\nexport function isObject(option) {\n return option?.toString === objectToString;\n}\n\n// Disambiguates a scale options object (e.g., {color: {type: \"linear\"}}) from\n// some other option (e.g., {color: \"red\"}). When creating standalone legends,\n// this is used to test whether a scale is defined; this should be consistent\n// with inferScaleType when there are no channels associated with the scale, and\n// if this returns true, then normalizeScale must return non-null.\nexport function isScaleOptions(option) {\n return isObject(option) && (option.type !== undefined || option.domain !== undefined);\n}\n\n// Disambiguates an options object (e.g., {y: \"x2\"}) from a channel value\n// definition expressed as a channel transform (e.g., {transform: …}).\nexport function isOptions(option) {\n return isObject(option) && typeof option.transform !== \"function\";\n}\n\n// Disambiguates a sort transform (e.g., {sort: \"date\"}) from a channel domain\n// sort definition (e.g., {sort: {y: \"x\"}}).\nexport function isDomainSort(sort) {\n return isOptions(sort) && sort.value === undefined && sort.channel === undefined;\n}\n\n// For marks specified either as [0, x] or [x1, x2], such as areas and bars.\nexport function maybeZero(x, x1, x2, x3 = identity) {\n if (x1 === undefined && x2 === undefined) {\n // {x} or {}\n (x1 = 0), (x2 = x === undefined ? x3 : x);\n } else if (x1 === undefined) {\n // {x, x2} or {x2}\n x1 = x === undefined ? 0 : x;\n } else if (x2 === undefined) {\n // {x, x1} or {x1}\n x2 = x === undefined ? 0 : x;\n }\n return [x1, x2];\n}\n\n// For marks that have x and y channels (e.g., cell, dot, line, text).\nexport function maybeTuple(x, y) {\n return x === undefined && y === undefined ? [first, second] : [x, y];\n}\n\n// A helper for extracting the z channel, if it is variable. Used by transforms\n// that require series, such as moving average and normalize.\nexport function maybeZ({z, fill, stroke} = {}) {\n if (z === undefined) [z] = maybeColorChannel(fill);\n if (z === undefined) [z] = maybeColorChannel(stroke);\n return z;\n}\n\n// Returns a Uint32Array with elements [0, 1, 2, … data.length - 1].\nexport function range(data) {\n const n = data.length;\n const r = new Uint32Array(n);\n for (let i = 0; i < n; ++i) r[i] = i;\n return r;\n}\n\n// Returns a filtered range of data given the test function.\nexport function where(data, test) {\n return range(data).filter((i) => test(data[i], i, data));\n}\n\n// Returns an array [values[index[0]], values[index[1]], …].\nexport function take(values, index) {\n return map(index, (i) => values[i]);\n}\n\n// Based on InternMap (d3.group).\nexport function keyof(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n}\n\nexport function maybeInput(key, options) {\n if (options[key] !== undefined) return options[key];\n switch (key) {\n case \"x1\":\n case \"x2\":\n key = \"x\";\n break;\n case \"y1\":\n case \"y2\":\n key = \"y\";\n break;\n }\n return options[key];\n}\n\nexport function column(source) {\n // Defines a column whose values are lazily populated by calling the returned\n // setter. If the given source is labeled, the label is propagated to the\n // returned column definition.\n let value;\n return [\n {\n transform: () => value,\n label: labelof(source)\n },\n (v) => (value = v)\n ];\n}\n\n// Like column, but allows the source to be null.\nexport function maybeColumn(source) {\n return source == null ? [source] : column(source);\n}\n\nexport function labelof(value, defaultValue) {\n return typeof value === \"string\" ? value : value && value.label !== undefined ? value.label : defaultValue;\n}\n\n// Assuming that both x1 and x2 and lazy columns (per above), this derives a new\n// a column that’s the average of the two, and which inherits the column label\n// (if any). Both input columns are assumed to be quantitative. If either column\n// is temporal, the returned column is also temporal.\nexport function mid(x1, x2) {\n return {\n transform(data) {\n const X1 = x1.transform(data);\n const X2 = x2.transform(data);\n return isTemporal(X1) || isTemporal(X2)\n ? map(X1, (_, i) => new Date((+X1[i] + +X2[i]) / 2))\n : map(X1, (_, i) => (+X1[i] + +X2[i]) / 2, Float64Array);\n },\n label: x1.label\n };\n}\n\n// If interval is not nullish, converts interval shorthand such as a number (for\n// multiples) or a time interval name (such as “day”) to a {floor, offset,\n// range} object similar to a D3 time interval.\nexport function maybeInterval(interval, type) {\n if (interval == null) return;\n if (typeof interval === \"number\") {\n if (0 < interval && interval < 1 && Number.isInteger(1 / interval)) interval = -1 / interval;\n const n = Math.abs(interval);\n return interval < 0\n ? {\n floor: (d) => Math.floor(d * n) / n,\n offset: (d) => (d * n + 1) / n, // note: no optional step for simplicity\n range: (lo, hi) => rangei(Math.ceil(lo * n), hi * n).map((x) => x / n)\n }\n : {\n floor: (d) => Math.floor(d / n) * n,\n offset: (d) => d + n, // note: no optional step for simplicity\n range: (lo, hi) => rangei(Math.ceil(lo / n), hi / n).map((x) => x * n)\n };\n }\n if (typeof interval === \"string\") return (type === \"time\" ? maybeTimeInterval : maybeUtcInterval)(interval);\n if (typeof interval.floor !== \"function\") throw new Error(\"invalid interval; missing floor method\");\n if (typeof interval.offset !== \"function\") throw new Error(\"invalid interval; missing offset method\");\n return interval;\n}\n\n// Like maybeInterval, but requires a range method too.\nexport function maybeRangeInterval(interval, type) {\n interval = maybeInterval(interval, type);\n if (interval && typeof interval.range !== \"function\") throw new Error(\"invalid interval: missing range method\");\n return interval;\n}\n\n// Like maybeRangeInterval, but requires a ceil method too.\nexport function maybeNiceInterval(interval, type) {\n interval = maybeRangeInterval(interval, type);\n if (interval && typeof interval.ceil !== \"function\") throw new Error(\"invalid interval: missing ceil method\");\n return interval;\n}\n\n// This distinguishes between per-dimension options and a standalone value.\nexport function maybeValue(value) {\n return value === undefined || isOptions(value) ? value : {value};\n}\n\n// Coerces the given channel values (if any) to numbers. This is useful when\n// values will be interpolated into other code, such as an SVG transform, and\n// where we don’t wish to allow unexpected behavior for weird input.\nexport function numberChannel(source) {\n return source == null\n ? null\n : {\n transform: (data) => valueof(data, source, Float64Array),\n label: labelof(source)\n };\n}\n\nexport function isTuples(data) {\n if (!isIterable(data)) return false;\n for (const d of data) {\n if (d == null) continue;\n return typeof d === \"object\" && \"0\" in d && \"1\" in d;\n }\n}\n\nexport function isIterable(value) {\n return value && typeof value[Symbol.iterator] === \"function\";\n}\n\nexport function isTextual(values) {\n for (const value of values) {\n if (value == null) continue;\n return typeof value !== \"object\" || value instanceof Date;\n }\n}\n\nexport function isOrdinal(values) {\n for (const value of values) {\n if (value == null) continue;\n const type = typeof value;\n return type === \"string\" || type === \"boolean\";\n }\n}\n\nexport function isTemporal(values) {\n for (const value of values) {\n if (value == null) continue;\n return value instanceof Date;\n }\n}\n\n// Are these strings that might represent dates? This is stricter than ISO 8601\n// because we want to ignore false positives on numbers; for example, the string\n// \"1192\" is more likely to represent a number than a date even though it is\n// valid ISO 8601 representing 1192-01-01.\nexport function isTemporalString(values) {\n for (const value of values) {\n if (value == null) continue;\n return typeof value === \"string\" && isNaN(value) && isoParse(value);\n }\n}\n\n// Are these strings that might represent numbers? This is stricter than\n// coercion because we want to ignore false positives on e.g. empty strings.\nexport function isNumericString(values) {\n for (const value of values) {\n if (value == null) continue;\n if (typeof value !== \"string\") return false;\n if (!value.trim()) continue;\n return !isNaN(value);\n }\n}\n\nexport function isNumeric(values) {\n for (const value of values) {\n if (value == null) continue;\n return typeof value === \"number\";\n }\n}\n\n// Returns true if every non-null value in the specified iterable of values\n// passes the specified predicate, and there is at least one non-null value;\n// returns false if at least one non-null value does not pass the specified\n// predicate; otherwise returns undefined (as if all values are null).\nexport function isEvery(values, is) {\n let every;\n for (const value of values) {\n if (value == null) continue;\n if (!is(value)) return false;\n every = true;\n }\n return every;\n}\n\n// Mostly relies on d3-color, with a few extra color keywords. Currently this\n// strictly requires that the value be a string; we might want to apply string\n// coercion here, though note that d3-color instances would need to support\n// valueOf to work correctly with InternMap.\n// https://www.w3.org/TR/SVG11/painting.html#SpecifyingPaint\nexport function isColor(value) {\n if (typeof value !== \"string\") return false;\n value = value.toLowerCase().trim();\n return (\n value === \"none\" ||\n value === \"currentcolor\" ||\n (value.startsWith(\"url(\") && value.endsWith(\")\")) || // , e.g. pattern or gradient\n (value.startsWith(\"var(\") && value.endsWith(\")\")) || // CSS variable\n color(value) !== null\n );\n}\n\nexport function isOpacity(value) {\n return typeof value === \"number\" && ((0 <= value && value <= 1) || isNaN(value));\n}\n\nexport function isNoneish(value) {\n return value == null || isNone(value);\n}\n\nexport function isNone(value) {\n return /^\\s*none\\s*$/i.test(value);\n}\n\nexport function isRound(value) {\n return /^\\s*round\\s*$/i.test(value);\n}\n\nexport function maybeFrameAnchor(value = \"middle\") {\n return keyword(value, \"frameAnchor\", [\n \"middle\",\n \"top-left\",\n \"top\",\n \"top-right\",\n \"right\",\n \"bottom-right\",\n \"bottom\",\n \"bottom-left\",\n \"left\"\n ]);\n}\n\n// Like a sort comparator, returns a positive value if the given array of values\n// is in ascending order, a negative value if the values are in descending\n// order. Assumes monotonicity; only tests the first and last values.\nexport function orderof(values) {\n if (values == null) return;\n const first = values[0];\n const last = values[values.length - 1];\n return descending(first, last);\n}\n\n// Unlike {...defaults, ...options}, this ensures that any undefined (but\n// present) properties in options inherit the given default value.\nexport function inherit(options = {}, ...rest) {\n let o = options;\n for (const defaults of rest) {\n for (const key in defaults) {\n if (o[key] === undefined) {\n const value = defaults[key];\n if (o === options) o = {...o, [key]: value};\n else o[key] = value;\n }\n }\n }\n return o;\n}\n\n// Given an iterable of named things (objects with a name property), returns a\n// corresponding object with properties associated with the given name.\nexport function named(things) {\n console.warn(\"named iterables are deprecated; please use an object instead\");\n const names = new Set();\n return Object.fromEntries(\n Array.from(things, (thing) => {\n const {name} = thing;\n if (name == null) throw new Error(\"missing name\");\n const key = `${name}`;\n if (key === \"__proto__\") throw new Error(`illegal name: ${key}`);\n if (names.has(key)) throw new Error(`duplicate name: ${key}`);\n names.add(key);\n return [name, thing];\n })\n );\n}\n\nexport function maybeNamed(things) {\n return isIterable(things) ? named(things) : things;\n}\n","// Positional scales have associated axes, and for ordinal data, a point or band\n// scale is used instead of an ordinal scale.\nexport const position = Symbol(\"position\");\n\n// Color scales default to the turbo interpolator for quantitative data, and to\n// the Tableau10 scheme for ordinal data. Color scales may also have an\n// associated legend.\nexport const color = Symbol(\"color\");\n\n// Radius scales default to the sqrt type, have a default range of [0, 3], and a\n// default domain from 0 to the median first quartile of associated channels.\nexport const radius = Symbol(\"radius\");\n\n// Length scales default to the linear type, have a default range of [0, 12],\n// and a default domain from 0 to the median median of associated channels.\nexport const length = Symbol(\"length\");\n\n// Opacity scales have a default range of [0, 1], and a default domain from 0 to\n// the maximum value of associated channels.\nexport const opacity = Symbol(\"opacity\");\n\n// Symbol scales have a default range of categorical symbols.\nexport const symbol = Symbol(\"symbol\");\n\n// TODO Rather than hard-coding the list of known scale names, collect the names\n// and categories for each plot specification, so that custom marks can register\n// custom scales.\nexport const registry = new Map([\n [\"x\", position],\n [\"y\", position],\n [\"fx\", position],\n [\"fy\", position],\n [\"r\", radius],\n [\"color\", color],\n [\"opacity\", opacity],\n [\"symbol\", symbol],\n [\"length\", length]\n]);\n","import {symbolAsterisk, symbolDiamond2, symbolPlus, symbolSquare2, symbolTriangle2, symbolTimes} from \"d3\";\nimport {symbolCircle, symbolCross, symbolDiamond, symbolSquare, symbolStar, symbolTriangle, symbolWye} from \"d3\";\n\nexport const sqrt3 = Math.sqrt(3);\nexport const sqrt4_3 = 2 / sqrt3;\n\nconst symbolHexagon = {\n draw(context, size) {\n const rx = Math.sqrt(size / Math.PI),\n ry = rx * sqrt4_3,\n hy = ry / 2;\n context.moveTo(0, ry);\n context.lineTo(rx, hy);\n context.lineTo(rx, -hy);\n context.lineTo(0, -ry);\n context.lineTo(-rx, -hy);\n context.lineTo(-rx, hy);\n context.closePath();\n }\n};\n\nconst symbols = new Map([\n [\"asterisk\", symbolAsterisk],\n [\"circle\", symbolCircle],\n [\"cross\", symbolCross],\n [\"diamond\", symbolDiamond],\n [\"diamond2\", symbolDiamond2],\n [\"hexagon\", symbolHexagon],\n [\"plus\", symbolPlus],\n [\"square\", symbolSquare],\n [\"square2\", symbolSquare2],\n [\"star\", symbolStar],\n [\"times\", symbolTimes],\n [\"triangle\", symbolTriangle],\n [\"triangle2\", symbolTriangle2],\n [\"wye\", symbolWye]\n]);\n\nfunction isSymbolObject(value) {\n return value && typeof value.draw === \"function\";\n}\n\nexport function isSymbol(value) {\n if (isSymbolObject(value)) return true;\n if (typeof value !== \"string\") return false;\n return symbols.has(value.toLowerCase());\n}\n\nexport function maybeSymbol(symbol) {\n if (symbol == null || isSymbolObject(symbol)) return symbol;\n const value = symbols.get(`${symbol}`.toLowerCase());\n if (value) return value;\n throw new Error(`invalid symbol: ${symbol}`);\n}\n\nexport function maybeSymbolChannel(symbol) {\n if (symbol == null || isSymbolObject(symbol)) return [undefined, symbol];\n if (typeof symbol === \"string\") {\n const value = symbols.get(`${symbol}`.toLowerCase());\n if (value) return [undefined, value];\n }\n return [symbol, undefined];\n}\n","let warnings = 0;\n\nexport function consumeWarnings() {\n const w = warnings;\n warnings = 0;\n return w;\n}\n\nexport function warn(message) {\n console.warn(message);\n ++warnings;\n}\n","import {\n interpolateBlues,\n interpolateBrBG,\n interpolateBuGn,\n interpolateBuPu,\n interpolateGnBu,\n interpolateGreens,\n interpolateGreys,\n interpolateOranges,\n interpolateOrRd,\n interpolatePiYG,\n interpolatePRGn,\n interpolatePuBu,\n interpolatePuBuGn,\n interpolatePuOr,\n interpolatePuRd,\n interpolatePurples,\n interpolateRdBu,\n interpolateRdGy,\n interpolateRdPu,\n interpolateRdYlBu,\n interpolateRdYlGn,\n interpolateReds,\n interpolateSpectral,\n interpolateYlGn,\n interpolateYlGnBu,\n interpolateYlOrBr,\n interpolateYlOrRd,\n interpolateTurbo,\n interpolateViridis,\n interpolateMagma,\n interpolateInferno,\n interpolatePlasma,\n interpolateCividis,\n interpolateCubehelixDefault,\n interpolateWarm,\n interpolateCool,\n interpolateRainbow,\n interpolateSinebow,\n quantize,\n schemeAccent,\n schemeBlues,\n schemeBrBG,\n schemeBuGn,\n schemeBuPu,\n schemeCategory10,\n schemeDark2,\n schemeGnBu,\n schemeGreens,\n schemeGreys,\n schemeOranges,\n schemeOrRd,\n schemePaired,\n schemePastel1,\n schemePastel2,\n schemePiYG,\n schemePRGn,\n schemePuBu,\n schemePuBuGn,\n schemePuOr,\n schemePuRd,\n schemePurples,\n schemeRdBu,\n schemeRdGy,\n schemeRdPu,\n schemeRdYlBu,\n schemeRdYlGn,\n schemeReds,\n schemeSet1,\n schemeSet2,\n schemeSet3,\n schemeSpectral,\n schemeTableau10,\n schemeYlGn,\n schemeYlGnBu,\n schemeYlOrBr,\n schemeYlOrRd\n} from \"d3\";\n\nconst ordinalSchemes = new Map([\n // categorical\n [\"accent\", schemeAccent],\n [\"category10\", schemeCategory10],\n [\"dark2\", schemeDark2],\n [\"paired\", schemePaired],\n [\"pastel1\", schemePastel1],\n [\"pastel2\", schemePastel2],\n [\"set1\", schemeSet1],\n [\"set2\", schemeSet2],\n [\"set3\", schemeSet3],\n [\"tableau10\", schemeTableau10],\n\n // diverging\n [\"brbg\", scheme11(schemeBrBG, interpolateBrBG)],\n [\"prgn\", scheme11(schemePRGn, interpolatePRGn)],\n [\"piyg\", scheme11(schemePiYG, interpolatePiYG)],\n [\"puor\", scheme11(schemePuOr, interpolatePuOr)],\n [\"rdbu\", scheme11(schemeRdBu, interpolateRdBu)],\n [\"rdgy\", scheme11(schemeRdGy, interpolateRdGy)],\n [\"rdylbu\", scheme11(schemeRdYlBu, interpolateRdYlBu)],\n [\"rdylgn\", scheme11(schemeRdYlGn, interpolateRdYlGn)],\n [\"spectral\", scheme11(schemeSpectral, interpolateSpectral)],\n\n // reversed diverging (for temperature data)\n [\"burd\", scheme11r(schemeRdBu, interpolateRdBu)],\n [\"buylrd\", scheme11r(schemeRdYlBu, interpolateRdYlBu)],\n\n // sequential (single-hue)\n [\"blues\", scheme9(schemeBlues, interpolateBlues)],\n [\"greens\", scheme9(schemeGreens, interpolateGreens)],\n [\"greys\", scheme9(schemeGreys, interpolateGreys)],\n [\"oranges\", scheme9(schemeOranges, interpolateOranges)],\n [\"purples\", scheme9(schemePurples, interpolatePurples)],\n [\"reds\", scheme9(schemeReds, interpolateReds)],\n\n // sequential (multi-hue)\n [\"turbo\", schemei(interpolateTurbo)],\n [\"viridis\", schemei(interpolateViridis)],\n [\"magma\", schemei(interpolateMagma)],\n [\"inferno\", schemei(interpolateInferno)],\n [\"plasma\", schemei(interpolatePlasma)],\n [\"cividis\", schemei(interpolateCividis)],\n [\"cubehelix\", schemei(interpolateCubehelixDefault)],\n [\"warm\", schemei(interpolateWarm)],\n [\"cool\", schemei(interpolateCool)],\n [\"bugn\", scheme9(schemeBuGn, interpolateBuGn)],\n [\"bupu\", scheme9(schemeBuPu, interpolateBuPu)],\n [\"gnbu\", scheme9(schemeGnBu, interpolateGnBu)],\n [\"orrd\", scheme9(schemeOrRd, interpolateOrRd)],\n [\"pubu\", scheme9(schemePuBu, interpolatePuBu)],\n [\"pubugn\", scheme9(schemePuBuGn, interpolatePuBuGn)],\n [\"purd\", scheme9(schemePuRd, interpolatePuRd)],\n [\"rdpu\", scheme9(schemeRdPu, interpolateRdPu)],\n [\"ylgn\", scheme9(schemeYlGn, interpolateYlGn)],\n [\"ylgnbu\", scheme9(schemeYlGnBu, interpolateYlGnBu)],\n [\"ylorbr\", scheme9(schemeYlOrBr, interpolateYlOrBr)],\n [\"ylorrd\", scheme9(schemeYlOrRd, interpolateYlOrRd)],\n\n // cyclical\n [\"rainbow\", schemeicyclical(interpolateRainbow)],\n [\"sinebow\", schemeicyclical(interpolateSinebow)]\n]);\n\nfunction scheme9(scheme, interpolate) {\n return ({length: n}) => {\n if (n === 1) return [scheme[3][1]]; // favor midpoint\n if (n === 2) return [scheme[3][1], scheme[3][2]]; // favor darker\n n = Math.max(3, Math.floor(n));\n return n > 9 ? quantize(interpolate, n) : scheme[n];\n };\n}\n\nfunction scheme11(scheme, interpolate) {\n return ({length: n}) => {\n if (n === 2) return [scheme[3][0], scheme[3][2]]; // favor diverging extrema\n n = Math.max(3, Math.floor(n));\n return n > 11 ? quantize(interpolate, n) : scheme[n];\n };\n}\n\nfunction scheme11r(scheme, interpolate) {\n return ({length: n}) => {\n if (n === 2) return [scheme[3][2], scheme[3][0]]; // favor diverging extrema\n n = Math.max(3, Math.floor(n));\n return n > 11 ? quantize((t) => interpolate(1 - t), n) : scheme[n].slice().reverse();\n };\n}\n\nfunction schemei(interpolate) {\n return ({length: n}) => quantize(interpolate, Math.max(2, Math.floor(n)));\n}\n\nfunction schemeicyclical(interpolate) {\n return ({length: n}) => quantize(interpolate, Math.floor(n) + 1).slice(0, -1);\n}\n\nexport function ordinalScheme(scheme) {\n const s = `${scheme}`.toLowerCase();\n if (!ordinalSchemes.has(s)) throw new Error(`unknown ordinal scheme: ${s}`);\n return ordinalSchemes.get(s);\n}\n\nexport function ordinalRange(scheme, length) {\n const s = ordinalScheme(scheme);\n const r = typeof s === \"function\" ? s({length}) : s;\n return r.length !== length ? r.slice(0, length) : r;\n}\n\n// If the specified domain contains only booleans (ignoring null and undefined),\n// returns a corresponding range where false is mapped to the low color and true\n// is mapped to the high color of the specified scheme.\nexport function maybeBooleanRange(domain, scheme = \"greys\") {\n const range = new Set();\n const [f, t] = ordinalRange(scheme, 2);\n for (const value of domain) {\n if (value == null) continue;\n if (value === true) range.add(t);\n else if (value === false) range.add(f);\n else return;\n }\n return [...range];\n}\n\nconst quantitativeSchemes = new Map([\n // diverging\n [\"brbg\", interpolateBrBG],\n [\"prgn\", interpolatePRGn],\n [\"piyg\", interpolatePiYG],\n [\"puor\", interpolatePuOr],\n [\"rdbu\", interpolateRdBu],\n [\"rdgy\", interpolateRdGy],\n [\"rdylbu\", interpolateRdYlBu],\n [\"rdylgn\", interpolateRdYlGn],\n [\"spectral\", interpolateSpectral],\n\n // reversed diverging (for temperature data)\n [\"burd\", (t) => interpolateRdBu(1 - t)],\n [\"buylrd\", (t) => interpolateRdYlBu(1 - t)],\n\n // sequential (single-hue)\n [\"blues\", interpolateBlues],\n [\"greens\", interpolateGreens],\n [\"greys\", interpolateGreys],\n [\"purples\", interpolatePurples],\n [\"reds\", interpolateReds],\n [\"oranges\", interpolateOranges],\n\n // sequential (multi-hue)\n [\"turbo\", interpolateTurbo],\n [\"viridis\", interpolateViridis],\n [\"magma\", interpolateMagma],\n [\"inferno\", interpolateInferno],\n [\"plasma\", interpolatePlasma],\n [\"cividis\", interpolateCividis],\n [\"cubehelix\", interpolateCubehelixDefault],\n [\"warm\", interpolateWarm],\n [\"cool\", interpolateCool],\n [\"bugn\", interpolateBuGn],\n [\"bupu\", interpolateBuPu],\n [\"gnbu\", interpolateGnBu],\n [\"orrd\", interpolateOrRd],\n [\"pubugn\", interpolatePuBuGn],\n [\"pubu\", interpolatePuBu],\n [\"purd\", interpolatePuRd],\n [\"rdpu\", interpolateRdPu],\n [\"ylgnbu\", interpolateYlGnBu],\n [\"ylgn\", interpolateYlGn],\n [\"ylorbr\", interpolateYlOrBr],\n [\"ylorrd\", interpolateYlOrRd],\n\n // cyclical\n [\"rainbow\", interpolateRainbow],\n [\"sinebow\", interpolateSinebow]\n]);\n\nexport function quantitativeScheme(scheme) {\n const s = `${scheme}`.toLowerCase();\n if (!quantitativeSchemes.has(s)) throw new Error(`unknown quantitative scheme: ${s}`);\n return quantitativeSchemes.get(s);\n}\n\nconst divergingSchemes = new Set([\n \"brbg\",\n \"prgn\",\n \"piyg\",\n \"puor\",\n \"rdbu\",\n \"rdgy\",\n \"rdylbu\",\n \"rdylgn\",\n \"spectral\",\n \"burd\",\n \"buylrd\"\n]);\n\nexport function isDivergingScheme(scheme) {\n return scheme != null && divergingSchemes.has(`${scheme}`.toLowerCase());\n}\n","import {\n descending,\n extent,\n interpolateHcl,\n interpolateHsl,\n interpolateLab,\n interpolateNumber,\n interpolateRgb,\n interpolateRound,\n min,\n max,\n median,\n quantile,\n quantize,\n reverse as reverseof,\n scaleLinear,\n scaleLog,\n scalePow,\n scaleQuantile,\n scaleSymlog,\n scaleThreshold,\n scaleIdentity,\n ticks\n} from \"d3\";\nimport {positive, negative, finite} from \"../defined.js\";\nimport {arrayify, constant, orderof, slice, maybeNiceInterval, maybeRangeInterval} from \"../options.js\";\nimport {ordinalRange, quantitativeScheme} from \"./schemes.js\";\nimport {registry, radius, opacity, color, length} from \"./index.js\";\n\nexport const flip = (i) => (t) => i(1 - t);\nconst unit = [0, 1];\n\nconst interpolators = new Map([\n // numbers\n [\"number\", interpolateNumber],\n\n // color spaces\n [\"rgb\", interpolateRgb],\n [\"hsl\", interpolateHsl],\n [\"hcl\", interpolateHcl],\n [\"lab\", interpolateLab]\n]);\n\nexport function maybeInterpolator(interpolate) {\n const i = `${interpolate}`.toLowerCase();\n if (!interpolators.has(i)) throw new Error(`unknown interpolator: ${i}`);\n return interpolators.get(i);\n}\n\nexport function createScaleQ(\n key,\n scale,\n channels,\n {\n type,\n nice,\n clamp,\n zero,\n domain = inferAutoDomain(key, channels),\n unknown,\n round,\n scheme,\n interval,\n range = registry.get(key) === radius\n ? inferRadialRange(channels, domain)\n : registry.get(key) === length\n ? inferLengthRange(channels, domain)\n : registry.get(key) === opacity\n ? unit\n : undefined,\n interpolate = registry.get(key) === color\n ? scheme == null && range !== undefined\n ? interpolateRgb\n : quantitativeScheme(scheme !== undefined ? scheme : type === \"cyclical\" ? \"rainbow\" : \"turbo\")\n : round\n ? interpolateRound\n : interpolateNumber,\n reverse\n }\n) {\n interval = maybeRangeInterval(interval, type);\n if (type === \"cyclical\" || type === \"sequential\") type = \"linear\"; // shorthand for color schemes\n reverse = !!reverse;\n\n // Sometimes interpolate is a named interpolator, such as \"lab\" for Lab color\n // space. Other times interpolate is a function that takes two arguments and\n // is used in conjunction with the range. And other times the interpolate\n // function is a “fixed” interpolator on the [0, 1] interval, as when a\n // color scheme such as interpolateRdBu is used.\n if (typeof interpolate !== \"function\") {\n interpolate = maybeInterpolator(interpolate);\n }\n if (interpolate.length === 1) {\n if (reverse) {\n interpolate = flip(interpolate);\n reverse = false;\n }\n if (range === undefined) {\n range = Float64Array.from(domain, (_, i) => i / (domain.length - 1));\n if (range.length === 2) range = unit; // optimize common case of [0, 1]\n }\n scale.interpolate((range === unit ? constant : interpolatePiecewise)(interpolate));\n } else {\n scale.interpolate(interpolate);\n }\n\n // If a zero option is specified, we assume that the domain is numeric, and we\n // want to ensure that the domain crosses zero. However, note that the domain\n // may be reversed (descending) so we shouldn’t assume that the first value is\n // smaller than the last; and also it’s possible that the domain has more than\n // two values for a “poly” scale. And lastly be careful not to mutate input!\n if (zero) {\n const [min, max] = extent(domain);\n if (min > 0 || max < 0) {\n domain = slice(domain);\n if (orderof(domain) !== Math.sign(min)) domain[domain.length - 1] = 0;\n // [2, 1] or [-2, -1]\n else domain[0] = 0; // [1, 2] or [-1, -2]\n }\n }\n\n if (reverse) domain = reverseof(domain);\n scale.domain(domain).unknown(unknown);\n if (nice) scale.nice(maybeNice(nice, type)), (domain = scale.domain());\n if (range !== undefined) scale.range(range);\n if (clamp) scale.clamp(clamp);\n return {type, domain, range, scale, interpolate, interval};\n}\n\nfunction maybeNice(nice, type) {\n return nice === true ? undefined : typeof nice === \"number\" ? nice : maybeNiceInterval(nice, type);\n}\n\nexport function createScaleLinear(key, channels, options) {\n return createScaleQ(key, scaleLinear(), channels, options);\n}\n\nexport function createScaleSqrt(key, channels, options) {\n return createScalePow(key, channels, {...options, exponent: 0.5});\n}\n\nexport function createScalePow(key, channels, {exponent = 1, ...options}) {\n return createScaleQ(key, scalePow().exponent(exponent), channels, {...options, type: \"pow\"});\n}\n\nexport function createScaleLog(key, channels, {base = 10, domain = inferLogDomain(channels), ...options}) {\n return createScaleQ(key, scaleLog().base(base), channels, {...options, domain});\n}\n\nexport function createScaleSymlog(key, channels, {constant = 1, ...options}) {\n return createScaleQ(key, scaleSymlog().constant(constant), channels, options);\n}\n\nexport function createScaleQuantile(\n key,\n channels,\n {\n range,\n quantiles = range === undefined ? 5 : (range = [...range]).length, // deprecated; use n instead\n n = quantiles,\n scheme = \"rdylbu\",\n domain = inferQuantileDomain(channels),\n unknown,\n interpolate,\n reverse\n }\n) {\n if (range === undefined) {\n range =\n interpolate !== undefined\n ? quantize(interpolate, n)\n : registry.get(key) === color\n ? ordinalRange(scheme, n)\n : undefined;\n }\n if (domain.length > 0) {\n domain = scaleQuantile(domain, range === undefined ? {length: n} : range).quantiles();\n }\n return createScaleThreshold(key, channels, {domain, range, reverse, unknown});\n}\n\nexport function createScaleQuantize(\n key,\n channels,\n {\n range,\n n = range === undefined ? 5 : (range = [...range]).length,\n scheme = \"rdylbu\",\n domain = inferAutoDomain(key, channels),\n unknown,\n interpolate,\n reverse\n }\n) {\n const [min, max] = extent(domain);\n let thresholds;\n if (range === undefined) {\n thresholds = ticks(min, max, n); // approximate number of nice, round thresholds\n if (thresholds[0] <= min) thresholds.splice(0, 1); // drop exact lower bound\n if (thresholds[thresholds.length - 1] >= max) thresholds.pop(); // drop exact upper bound\n n = thresholds.length + 1;\n range =\n interpolate !== undefined\n ? quantize(interpolate, n)\n : registry.get(key) === color\n ? ordinalRange(scheme, n)\n : undefined;\n } else {\n thresholds = quantize(interpolateNumber(min, max), n + 1).slice(1, -1); // exactly n - 1 thresholds to match range\n if (min instanceof Date) thresholds = thresholds.map((x) => new Date(x)); // preserve date types\n }\n if (orderof(arrayify(domain)) < 0) thresholds.reverse(); // preserve descending domain\n return createScaleThreshold(key, channels, {domain: thresholds, range, reverse, unknown});\n}\n\nexport function createScaleThreshold(\n key,\n channels,\n {\n domain = [0], // explicit thresholds in ascending order\n unknown,\n scheme = \"rdylbu\",\n interpolate,\n range = interpolate !== undefined\n ? quantize(interpolate, domain.length + 1)\n : registry.get(key) === color\n ? ordinalRange(scheme, domain.length + 1)\n : undefined,\n reverse\n }\n) {\n domain = arrayify(domain);\n const sign = orderof(domain); // preserve descending domain\n if (!isNaN(sign) && !isOrdered(domain, sign)) throw new Error(`the ${key} scale has a non-monotonic domain`);\n if (reverse) range = reverseof(range); // domain ascending, so reverse range\n return {\n type: \"threshold\",\n scale: scaleThreshold(sign < 0 ? reverseof(domain) : domain, range === undefined ? [] : range).unknown(unknown),\n domain,\n range\n };\n}\n\nfunction isOrdered(domain, sign) {\n for (let i = 1, n = domain.length, d = domain[0]; i < n; ++i) {\n const s = descending(d, (d = domain[i]));\n if (s !== 0 && s !== sign) return false;\n }\n return true;\n}\n\nexport function createScaleIdentity() {\n return {type: \"identity\", scale: scaleIdentity()};\n}\n\nexport function inferDomain(channels, f = finite) {\n return channels.length\n ? [\n min(channels, ({value}) => (value === undefined ? value : min(value, f))),\n max(channels, ({value}) => (value === undefined ? value : max(value, f)))\n ]\n : [0, 1];\n}\n\nfunction inferAutoDomain(key, channels) {\n const type = registry.get(key);\n return (type === radius || type === opacity || type === length ? inferZeroDomain : inferDomain)(channels);\n}\n\nfunction inferZeroDomain(channels) {\n return [0, channels.length ? max(channels, ({value}) => (value === undefined ? value : max(value, finite))) : 1];\n}\n\n// We don’t want the upper bound of the radial domain to be zero, as this would\n// be degenerate, so we ignore nonpositive values. We also don’t want the\n// maximum default radius to exceed 30px.\nfunction inferRadialRange(channels, domain) {\n const hint = channels.find(({radius}) => radius !== undefined);\n if (hint !== undefined) return [0, hint.radius]; // a natural maximum radius, e.g. hexbins\n const h25 = quantile(channels, 0.5, ({value}) => (value === undefined ? NaN : quantile(value, 0.25, positive)));\n const range = domain.map((d) => 3 * Math.sqrt(d / h25));\n const k = 30 / max(range);\n return k < 1 ? range.map((r) => r * k) : range;\n}\n\n// We want a length scale’s domain to go from zero to a positive value, and to\n// treat negative lengths if any as inverted vectors of equivalent magnitude. We\n// also don’t want the maximum default length to exceed 60px.\nfunction inferLengthRange(channels, domain) {\n const h50 = median(channels, ({value}) => (value === undefined ? NaN : median(value, Math.abs)));\n const range = domain.map((d) => (12 * d) / h50);\n const k = 60 / max(range);\n return k < 1 ? range.map((r) => r * k) : range;\n}\n\nfunction inferLogDomain(channels) {\n for (const {value} of channels) {\n if (value !== undefined) {\n for (let v of value) {\n if (v > 0) return inferDomain(channels, positive);\n if (v < 0) return inferDomain(channels, negative);\n }\n }\n }\n return [1, 10];\n}\n\nfunction inferQuantileDomain(channels) {\n const domain = [];\n for (const {value} of channels) {\n if (value === undefined) continue;\n for (const v of value) domain.push(v);\n }\n return domain;\n}\n\nexport function interpolatePiecewise(interpolate) {\n return (i, j) => (t) => interpolate(i + t * (j - i));\n}\n","import {\n descending,\n interpolateNumber,\n interpolateRgb,\n piecewise,\n scaleDiverging,\n scaleDivergingLog,\n scaleDivergingPow,\n scaleDivergingSymlog\n} from \"d3\";\nimport {positive, negative} from \"../defined.js\";\nimport {quantitativeScheme} from \"./schemes.js\";\nimport {registry, color} from \"./index.js\";\nimport {inferDomain, maybeInterpolator, flip, interpolatePiecewise} from \"./quantitative.js\";\n\nfunction createScaleD(\n key,\n scale,\n transform,\n channels,\n {\n type,\n nice,\n clamp,\n domain = inferDomain(channels),\n unknown,\n pivot = 0,\n scheme,\n range,\n symmetric = true,\n interpolate = registry.get(key) === color\n ? scheme == null && range !== undefined\n ? interpolateRgb\n : quantitativeScheme(scheme !== undefined ? scheme : \"rdbu\")\n : interpolateNumber,\n reverse\n }\n) {\n pivot = +pivot;\n let [min, max] = domain;\n if (descending(min, max) < 0) ([min, max] = [max, min]), (reverse = !reverse);\n min = Math.min(min, pivot);\n max = Math.max(max, pivot);\n\n // Sometimes interpolate is a named interpolator, such as \"lab\" for Lab color\n // space. Other times interpolate is a function that takes two arguments and\n // is used in conjunction with the range. And other times the interpolate\n // function is a “fixed” interpolator on the [0, 1] interval, as when a\n // color scheme such as interpolateRdBu is used.\n if (typeof interpolate !== \"function\") {\n interpolate = maybeInterpolator(interpolate);\n }\n\n // If an explicit range is specified, promote it to a piecewise interpolator.\n if (range !== undefined) {\n interpolate =\n interpolate.length === 1 ? interpolatePiecewise(interpolate)(...range) : piecewise(interpolate, range);\n }\n\n // Reverse before normalization.\n if (reverse) interpolate = flip(interpolate);\n\n // Normalize the interpolator for symmetric difference around the pivot.\n if (symmetric) {\n const mid = transform.apply(pivot);\n const mindelta = mid - transform.apply(min);\n const maxdelta = transform.apply(max) - mid;\n if (mindelta < maxdelta) min = transform.invert(mid - maxdelta);\n else if (mindelta > maxdelta) max = transform.invert(mid + mindelta);\n }\n\n scale.domain([min, pivot, max]).unknown(unknown).interpolator(interpolate);\n if (clamp) scale.clamp(clamp);\n if (nice) scale.nice(nice);\n return {type, domain: [min, max], pivot, interpolate, scale};\n}\n\nexport function createScaleDiverging(key, channels, options) {\n return createScaleD(key, scaleDiverging(), transformIdentity, channels, options);\n}\n\nexport function createScaleDivergingSqrt(key, channels, options) {\n return createScaleDivergingPow(key, channels, {...options, exponent: 0.5});\n}\n\nexport function createScaleDivergingPow(key, channels, {exponent = 1, ...options}) {\n return createScaleD(key, scaleDivergingPow().exponent((exponent = +exponent)), transformPow(exponent), channels, {\n ...options,\n type: \"diverging-pow\"\n });\n}\n\nexport function createScaleDivergingLog(\n key,\n channels,\n {base = 10, pivot = 1, domain = inferDomain(channels, pivot < 0 ? negative : positive), ...options}\n) {\n return createScaleD(key, scaleDivergingLog().base((base = +base)), transformLog, channels, {\n domain,\n pivot,\n ...options\n });\n}\n\nexport function createScaleDivergingSymlog(key, channels, {constant = 1, ...options}) {\n return createScaleD(\n key,\n scaleDivergingSymlog().constant((constant = +constant)),\n transformSymlog(constant),\n channels,\n options\n );\n}\n\nconst transformIdentity = {\n apply(x) {\n return x;\n },\n invert(x) {\n return x;\n }\n};\n\nconst transformLog = {\n apply: Math.log,\n invert: Math.exp\n};\n\nconst transformSqrt = {\n apply(x) {\n return Math.sign(x) * Math.sqrt(Math.abs(x));\n },\n invert(x) {\n return Math.sign(x) * (x * x);\n }\n};\n\nfunction transformPow(exponent) {\n return exponent === 0.5\n ? transformSqrt\n : {\n apply(x) {\n return Math.sign(x) * Math.pow(Math.abs(x), exponent);\n },\n invert(x) {\n return Math.sign(x) * Math.pow(Math.abs(x), 1 / exponent);\n }\n };\n}\n\nfunction transformSymlog(constant) {\n return {\n apply(x) {\n return Math.sign(x) * Math.log1p(Math.abs(x / constant));\n },\n invert(x) {\n return Math.sign(x) * Math.expm1(Math.abs(x)) * constant;\n }\n };\n}\n","import {scaleTime, scaleUtc} from \"d3\";\nimport {createScaleQ} from \"./quantitative.js\";\n\nfunction createScaleT(key, scale, channels, options) {\n return createScaleQ(key, scale, channels, options);\n}\n\nexport function createScaleTime(key, channels, options) {\n return createScaleT(key, scaleTime(), channels, options);\n}\n\nexport function createScaleUtc(key, channels, options) {\n return createScaleT(key, scaleUtc(), channels, options);\n}\n","import {InternSet, extent, quantize, reverse as reverseof, sort, symbolsFill, symbolsStroke} from \"d3\";\nimport {scaleBand, scaleOrdinal, scalePoint, scaleImplicit} from \"d3\";\nimport {ascendingDefined} from \"../defined.js\";\nimport {isNoneish, map, maybeRangeInterval} from \"../options.js\";\nimport {maybeSymbol} from \"../symbol.js\";\nimport {registry, color, position, symbol} from \"./index.js\";\nimport {maybeBooleanRange, ordinalScheme, quantitativeScheme} from \"./schemes.js\";\n\n// This denotes an implicitly ordinal color scale: the scale type was not set,\n// but the associated values are strings or booleans. If the associated defined\n// values are entirely boolean, the range will default to greys. You can opt out\n// of this by setting the type explicitly.\nexport const ordinalImplicit = Symbol(\"ordinal\");\n\nfunction createScaleO(key, scale, channels, {type, interval, domain, range, reverse, hint}) {\n interval = maybeRangeInterval(interval, type);\n if (domain === undefined) domain = inferDomain(channels, interval, key);\n if (type === \"categorical\" || type === ordinalImplicit) type = \"ordinal\"; // shorthand for color schemes\n if (reverse) domain = reverseof(domain);\n scale.domain(domain);\n if (range !== undefined) {\n // If the range is specified as a function, pass it the domain.\n if (typeof range === \"function\") range = range(domain);\n scale.range(range);\n }\n return {type, domain, range, scale, hint, interval};\n}\n\nexport function createScaleOrdinal(key, channels, {type, interval, domain, range, scheme, unknown, ...options}) {\n interval = maybeRangeInterval(interval, type);\n if (domain === undefined) domain = inferDomain(channels, interval, key);\n let hint;\n if (registry.get(key) === symbol) {\n hint = inferSymbolHint(channels);\n range = range === undefined ? inferSymbolRange(hint) : map(range, maybeSymbol);\n } else if (registry.get(key) === color) {\n if (range === undefined && (type === \"ordinal\" || type === ordinalImplicit)) {\n range = maybeBooleanRange(domain, scheme);\n if (range !== undefined) scheme = undefined; // Don’t re-apply scheme.\n }\n if (scheme === undefined && range === undefined) {\n scheme = type === \"ordinal\" ? \"turbo\" : \"tableau10\";\n }\n if (scheme !== undefined) {\n if (range !== undefined) {\n const interpolate = quantitativeScheme(scheme);\n const t0 = range[0],\n d = range[1] - range[0];\n range = ({length: n}) => quantize((t) => interpolate(t0 + d * t), n);\n } else {\n range = ordinalScheme(scheme);\n }\n }\n }\n if (unknown === scaleImplicit) {\n throw new Error(`implicit unknown on ${key} scale is not supported`);\n }\n return createScaleO(key, scaleOrdinal().unknown(unknown), channels, {...options, type, domain, range, hint});\n}\n\nexport function createScalePoint(key, channels, {align = 0.5, padding = 0.5, ...options}) {\n return maybeRound(scalePoint().align(align).padding(padding), channels, options, key);\n}\n\nexport function createScaleBand(\n key,\n channels,\n {\n align = 0.5,\n padding = 0.1,\n paddingInner = padding,\n paddingOuter = key === \"fx\" || key === \"fy\" ? 0 : padding,\n ...options\n }\n) {\n return maybeRound(\n scaleBand().align(align).paddingInner(paddingInner).paddingOuter(paddingOuter),\n channels,\n options,\n key\n );\n}\n\nfunction maybeRound(scale, channels, options, key) {\n let {round} = options;\n if (round !== undefined) scale.round((round = !!round));\n scale = createScaleO(key, scale, channels, options);\n scale.round = round; // preserve for autoScaleRound\n return scale;\n}\n\nfunction inferDomain(channels, interval, key) {\n const values = new InternSet();\n for (const {value, domain} of channels) {\n if (domain !== undefined) return domain(); // see channelDomain\n if (value === undefined) continue;\n for (const v of value) values.add(v);\n }\n if (interval !== undefined) {\n const [min, max] = extent(values).map(interval.floor, interval);\n return interval.range(min, interval.offset(max));\n }\n if (values.size > 10e3 && registry.get(key) === position) {\n throw new Error(`implicit ordinal domain of ${key} scale has more than 10,000 values`);\n }\n return sort(values, ascendingDefined);\n}\n\n// If all channels provide a consistent hint, propagate it to the scale.\nfunction inferHint(channels, key) {\n let value;\n for (const {hint} of channels) {\n const candidate = hint?.[key];\n if (candidate === undefined) continue; // no hint here\n if (value === undefined) value = candidate;\n // first hint\n else if (value !== candidate) return; // inconsistent hint\n }\n return value;\n}\n\nfunction inferSymbolHint(channels) {\n return {\n fill: inferHint(channels, \"fill\"),\n stroke: inferHint(channels, \"stroke\")\n };\n}\n\nfunction inferSymbolRange(hint) {\n return isNoneish(hint.fill) ? symbolsStroke : symbolsFill;\n}\n","import {\n isOrdinal,\n isTemporal,\n isTemporalString,\n isNumericString,\n isScaleOptions,\n map,\n slice,\n coerceNumbers,\n coerceDates\n} from \"./options.js\";\nimport {registry, color, position, radius, opacity, symbol, length} from \"./scales/index.js\";\nimport {\n createScaleLinear,\n createScaleSqrt,\n createScalePow,\n createScaleLog,\n createScaleSymlog,\n createScaleQuantile,\n createScaleQuantize,\n createScaleThreshold,\n createScaleIdentity\n} from \"./scales/quantitative.js\";\nimport {\n createScaleDiverging,\n createScaleDivergingSqrt,\n createScaleDivergingPow,\n createScaleDivergingLog,\n createScaleDivergingSymlog\n} from \"./scales/diverging.js\";\nimport {isDivergingScheme} from \"./scales/schemes.js\";\nimport {createScaleTime, createScaleUtc} from \"./scales/temporal.js\";\nimport {createScaleOrdinal, createScalePoint, createScaleBand, ordinalImplicit} from \"./scales/ordinal.js\";\nimport {maybeSymbol} from \"./symbol.js\";\nimport {warn} from \"./warnings.js\";\n\nexport function createScales(\n channelsByScale,\n {\n label: globalLabel,\n inset: globalInset = 0,\n insetTop: globalInsetTop = globalInset,\n insetRight: globalInsetRight = globalInset,\n insetBottom: globalInsetBottom = globalInset,\n insetLeft: globalInsetLeft = globalInset,\n round,\n nice,\n clamp,\n zero,\n align,\n padding,\n projection,\n facet: {label: facetLabel = globalLabel} = {},\n ...options\n } = {}\n) {\n const scales = {};\n for (const [key, channels] of channelsByScale) {\n const scaleOptions = options[key];\n const scale = createScale(key, channels, {\n round: registry.get(key) === position ? round : undefined, // only for position\n nice,\n clamp,\n zero,\n align,\n padding,\n projection,\n ...scaleOptions\n });\n if (scale) {\n // populate generic scale options (percent, transform, insets)\n let {\n label = key === \"fx\" || key === \"fy\" ? facetLabel : globalLabel,\n percent,\n transform,\n inset,\n insetTop = inset !== undefined ? inset : key === \"y\" ? globalInsetTop : 0, // not fy\n insetRight = inset !== undefined ? inset : key === \"x\" ? globalInsetRight : 0, // not fx\n insetBottom = inset !== undefined ? inset : key === \"y\" ? globalInsetBottom : 0, // not fy\n insetLeft = inset !== undefined ? inset : key === \"x\" ? globalInsetLeft : 0 // not fx\n } = scaleOptions || {};\n if (transform == null) transform = undefined;\n else if (typeof transform !== \"function\") throw new Error(\"invalid scale transform; not a function\");\n scale.percent = !!percent;\n scale.label = label === undefined ? inferScaleLabel(channels, scale) : label;\n scale.transform = transform;\n if (key === \"x\" || key === \"fx\") {\n scale.insetLeft = +insetLeft;\n scale.insetRight = +insetRight;\n } else if (key === \"y\" || key === \"fy\") {\n scale.insetTop = +insetTop;\n scale.insetBottom = +insetBottom;\n }\n scales[key] = scale;\n }\n }\n return scales;\n}\n\nexport function createScaleFunctions(scales) {\n return Object.fromEntries(\n Object.entries(scales)\n .filter(([, {scale}]) => scale) // drop identity scales\n .map(([name, {scale, type, interval, label}]) => {\n scale.type = type; // for axis\n if (interval != null) scale.interval = interval; // for axis\n if (label != null) scale.label = label; // for axis\n return [name, scale];\n })\n );\n}\n\n// Mutates scale.range!\nexport function autoScaleRange(scales, dimensions) {\n const {x, y, fx, fy} = scales;\n const superdimensions = fx || fy ? outerDimensions(dimensions) : dimensions;\n if (fx) autoScaleRangeX(fx, superdimensions);\n if (fy) autoScaleRangeY(fy, superdimensions);\n const subdimensions = fx || fy ? innerDimensions(scales, dimensions) : dimensions;\n if (x) autoScaleRangeX(x, subdimensions);\n if (y) autoScaleRangeY(y, subdimensions);\n}\n\n// Channels can have labels; if all the channels for a given scale are\n// consistently labeled (i.e., have the same value if not undefined), and the\n// corresponding scale doesn’t already have an explicit label, then the\n// channels’ label is promoted to the scale. This inferred label should have an\n// orientation-appropriate arrow added when used as an axis, but we don’t want\n// to add the arrow when the label is set explicitly as an option; so, the\n// inferred label is distinguished as an object with an “inferred” property.\nfunction inferScaleLabel(channels = [], scale) {\n let label;\n for (const {label: l} of channels) {\n if (l === undefined) continue;\n if (label === undefined) label = l;\n else if (label !== l) return;\n }\n if (label === undefined) return;\n // Ignore the implicit label for temporal scales if it’s simply “date”.\n if (isTemporalScale(scale) && /^(date|time|year)$/i.test(label)) return;\n if (!isOrdinalScale(scale) && scale.percent) label = `${label} (%)`;\n return {inferred: true, toString: () => label};\n}\n\n// Returns the dimensions of the outer frame; this is subdivided into facets\n// with the margins of each facet collapsing into the outer margins.\nexport function outerDimensions(dimensions) {\n const {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n width,\n height,\n facet: {\n marginTop: facetMarginTop,\n marginRight: facetMarginRight,\n marginBottom: facetMarginBottom,\n marginLeft: facetMarginLeft\n }\n } = dimensions;\n return {\n marginTop: Math.max(marginTop, facetMarginTop),\n marginRight: Math.max(marginRight, facetMarginRight),\n marginBottom: Math.max(marginBottom, facetMarginBottom),\n marginLeft: Math.max(marginLeft, facetMarginLeft),\n width,\n height\n };\n}\n\n// Returns the dimensions of each facet.\nexport function innerDimensions({fx, fy}, dimensions) {\n const {marginTop, marginRight, marginBottom, marginLeft, width, height} = outerDimensions(dimensions);\n return {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n width: fx ? fx.scale.bandwidth() + marginLeft + marginRight : width,\n height: fy ? fy.scale.bandwidth() + marginTop + marginBottom : height\n };\n}\n\nfunction autoScaleRangeX(scale, dimensions) {\n if (scale.range === undefined) {\n const {insetLeft, insetRight} = scale;\n const {width, marginLeft = 0, marginRight = 0} = dimensions;\n const left = marginLeft + insetLeft;\n const right = width - marginRight - insetRight;\n scale.range = [left, Math.max(left, right)];\n if (!isOrdinalScale(scale)) scale.range = piecewiseRange(scale);\n scale.scale.range(scale.range);\n }\n autoScaleRound(scale);\n}\n\nfunction autoScaleRangeY(scale, dimensions) {\n if (scale.range === undefined) {\n const {insetTop, insetBottom} = scale;\n const {height, marginTop = 0, marginBottom = 0} = dimensions;\n const top = marginTop + insetTop;\n const bottom = height - marginBottom - insetBottom;\n scale.range = [Math.max(top, bottom), top];\n if (!isOrdinalScale(scale)) scale.range = piecewiseRange(scale);\n else scale.range.reverse();\n scale.scale.range(scale.range);\n }\n autoScaleRound(scale);\n}\n\nfunction autoScaleRound(scale) {\n if (scale.round === undefined && isBandScale(scale) && roundError(scale) <= 30) {\n scale.scale.round(true);\n }\n}\n\n// If we were to turn on rounding for this band or point scale, how much wasted\n// space would it introduce (on both ends of the range)? This must match\n// d3.scaleBand’s rounding behavior:\n// https://github.com/d3/d3-scale/blob/83555bd759c7314420bd4240642beda5e258db9e/src/band.js#L20-L32\nfunction roundError({scale}) {\n const n = scale.domain().length;\n const [start, stop] = scale.range();\n const paddingInner = scale.paddingInner ? scale.paddingInner() : 1;\n const paddingOuter = scale.paddingOuter ? scale.paddingOuter() : scale.padding();\n const m = n - paddingInner;\n const step = Math.abs(stop - start) / Math.max(1, m + paddingOuter * 2);\n return (step - Math.floor(step)) * m;\n}\n\nfunction piecewiseRange(scale) {\n const length = scale.scale.domain().length + isThresholdScale(scale);\n if (!(length > 2)) return scale.range;\n const [start, end] = scale.range;\n return Array.from({length}, (_, i) => start + (i / (length - 1)) * (end - start));\n}\n\nexport function normalizeScale(key, scale, hint) {\n return createScale(key, hint === undefined ? undefined : [{hint}], {...scale});\n}\n\nfunction createScale(key, channels = [], options = {}) {\n const type = inferScaleType(key, channels, options);\n\n // Warn for common misuses of implicit ordinal scales. We disable this test if\n // you specify a scale interval or if you set the domain or range explicitly,\n // since setting the domain or range (typically with a cardinality of more than\n // two) is another indication that you intended for the scale to be ordinal; we\n // also disable it for facet scales since these are always band scales.\n if (\n options.type === undefined &&\n options.domain === undefined &&\n options.range === undefined &&\n options.interval == null &&\n key !== \"fx\" &&\n key !== \"fy\" &&\n isOrdinalScale({type})\n ) {\n const values = channels.map(({value}) => value).filter((value) => value !== undefined);\n if (values.some(isTemporal))\n warn(\n `Warning: some data associated with the ${key} scale are dates. Dates are typically associated with a \"utc\" or \"time\" scale rather than a \"${formatScaleType(\n type\n )}\" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can specify the interval of the ${key} scale (e.g., d3.utcDay), or you can suppress this warning by setting the type of the ${key} scale to \"${formatScaleType(\n type\n )}\".`\n );\n else if (values.some(isTemporalString))\n warn(\n `Warning: some data associated with the ${key} scale are strings that appear to be dates (e.g., YYYY-MM-DD). If these strings represent dates, you should parse them to Date objects. Dates are typically associated with a \"utc\" or \"time\" scale rather than a \"${formatScaleType(\n type\n )}\" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can suppress this warning by setting the type of the ${key} scale to \"${formatScaleType(\n type\n )}\".`\n );\n else if (values.some(isNumericString))\n warn(\n `Warning: some data associated with the ${key} scale are strings that appear to be numbers. If these strings represent numbers, you should parse or coerce them to numbers. Numbers are typically associated with a \"linear\" scale rather than a \"${formatScaleType(\n type\n )}\" scale. If you want to treat this data as ordinal, you can specify the interval of the ${key} scale (e.g., 1 for integers), or you can suppress this warning by setting the type of the ${key} scale to \"${formatScaleType(\n type\n )}\".`\n );\n }\n\n options.type = type; // Mutates input!\n\n // Once the scale type is known, coerce the associated channel values and any\n // explicitly-specified domain to the expected type.\n switch (type) {\n case \"diverging\":\n case \"diverging-sqrt\":\n case \"diverging-pow\":\n case \"diverging-log\":\n case \"diverging-symlog\":\n case \"cyclical\":\n case \"sequential\":\n case \"linear\":\n case \"sqrt\":\n case \"threshold\":\n case \"quantile\":\n case \"pow\":\n case \"log\":\n case \"symlog\":\n options = coerceType(channels, options, coerceNumbers);\n break;\n case \"identity\":\n switch (registry.get(key)) {\n case position:\n options = coerceType(channels, options, coerceNumbers);\n break;\n case symbol:\n options = coerceType(channels, options, coerceSymbols);\n break;\n }\n break;\n case \"utc\":\n case \"time\":\n options = coerceType(channels, options, coerceDates);\n break;\n }\n\n switch (type) {\n case \"diverging\":\n return createScaleDiverging(key, channels, options);\n case \"diverging-sqrt\":\n return createScaleDivergingSqrt(key, channels, options);\n case \"diverging-pow\":\n return createScaleDivergingPow(key, channels, options);\n case \"diverging-log\":\n return createScaleDivergingLog(key, channels, options);\n case \"diverging-symlog\":\n return createScaleDivergingSymlog(key, channels, options);\n case \"categorical\":\n case \"ordinal\":\n case ordinalImplicit:\n return createScaleOrdinal(key, channels, options);\n case \"cyclical\":\n case \"sequential\":\n case \"linear\":\n return createScaleLinear(key, channels, options);\n case \"sqrt\":\n return createScaleSqrt(key, channels, options);\n case \"threshold\":\n return createScaleThreshold(key, channels, options);\n case \"quantile\":\n return createScaleQuantile(key, channels, options);\n case \"quantize\":\n return createScaleQuantize(key, channels, options);\n case \"pow\":\n return createScalePow(key, channels, options);\n case \"log\":\n return createScaleLog(key, channels, options);\n case \"symlog\":\n return createScaleSymlog(key, channels, options);\n case \"utc\":\n return createScaleUtc(key, channels, options);\n case \"time\":\n return createScaleTime(key, channels, options);\n case \"point\":\n return createScalePoint(key, channels, options);\n case \"band\":\n return createScaleBand(key, channels, options);\n case \"identity\":\n return registry.get(key) === position ? createScaleIdentity() : {type: \"identity\"};\n case undefined:\n return;\n default:\n throw new Error(`unknown scale type: ${type}`);\n }\n}\n\nfunction formatScaleType(type) {\n return typeof type === \"symbol\" ? type.description : type;\n}\n\n// A special type symbol when the x and y scales are replaced with a projection.\nconst typeProjection = {toString: () => \"projection\"};\n\nfunction inferScaleType(key, channels, {type, domain, range, scheme, pivot, projection}) {\n // The facet scales are always band scales; this cannot be changed.\n if (key === \"fx\" || key === \"fy\") return \"band\";\n\n // If a projection is specified, the x- and y-scales are disabled; these\n // channels will be projected rather than scaled. (But still check that none\n // of the associated channels are incompatible with a projection.)\n if ((key === \"x\" || key === \"y\") && projection != null) type = typeProjection;\n\n // If a channel dictates a scale type, make sure that it is consistent with\n // the user-specified scale type (if any) and all other channels. For example,\n // barY requires x to be a band scale and disallows any other scale type.\n for (const {type: t} of channels) {\n if (t === undefined) continue;\n else if (type === undefined) type = t;\n else if (type !== t) throw new Error(`scale incompatible with channel: ${type} !== ${t}`);\n }\n\n // If the scale, a channel, or user specified a (consistent) type, return it.\n if (type === typeProjection) return;\n if (type !== undefined) return type;\n\n // If there’s no data (and no type) associated with this scale, don’t create a scale.\n if (domain === undefined && !channels.some(({value}) => value !== undefined)) return;\n\n // Some scales have default types.\n const kind = registry.get(key);\n if (kind === radius) return \"sqrt\";\n if (kind === opacity || kind === length) return \"linear\";\n if (kind === symbol) return \"ordinal\";\n\n // If the domain or range has more than two values, assume it’s ordinal. You\n // can still use a “piecewise” (or “polylinear”) scale, but you must set the\n // type explicitly.\n if ((domain || range || []).length > 2) return asOrdinalType(kind);\n\n // Otherwise, infer the scale type from the data! Prefer the domain, if\n // present, over channels. (The domain and channels should be consistently\n // typed, and the domain is more explicit and typically much smaller.) We only\n // check the first defined value for expedience and simplicity; we expect\n // that the types are consistent.\n if (domain !== undefined) {\n if (isOrdinal(domain)) return asOrdinalType(kind);\n if (isTemporal(domain)) return \"utc\";\n if (kind === color && (pivot != null || isDivergingScheme(scheme))) return \"diverging\";\n return \"linear\";\n }\n\n // If any channel is ordinal or temporal, it takes priority.\n const values = channels.map(({value}) => value).filter((value) => value !== undefined);\n if (values.some(isOrdinal)) return asOrdinalType(kind);\n if (values.some(isTemporal)) return \"utc\";\n if (kind === color && (pivot != null || isDivergingScheme(scheme))) return \"diverging\";\n return \"linear\";\n}\n\n// Positional scales default to a point scale instead of an ordinal scale.\nfunction asOrdinalType(kind) {\n switch (kind) {\n case position:\n return \"point\";\n case color:\n return ordinalImplicit;\n default:\n return \"ordinal\";\n }\n}\n\nexport function isTemporalScale({type}) {\n return type === \"time\" || type === \"utc\";\n}\n\nexport function isOrdinalScale({type}) {\n return type === \"ordinal\" || type === \"point\" || type === \"band\" || type === ordinalImplicit;\n}\n\nexport function isThresholdScale({type}) {\n return type === \"threshold\";\n}\n\nfunction isBandScale({type}) {\n return type === \"point\" || type === \"band\";\n}\n\nexport function isDivergingScale({type}) {\n return /^diverging($|-)/.test(type);\n}\n\n// Certain marks have special behavior if a scale is collapsed, i.e. if the\n// domain is degenerate and represents only a single value such as [3, 3]; for\n// example, a rect will span the full extent of the chart along a collapsed\n// dimension (whereas a dot will simply be drawn in the center).\nexport function isCollapsed(scale) {\n if (scale === undefined) return true; // treat missing scale as collapsed\n const domain = scale.domain();\n const value = scale(domain[0]);\n for (let i = 1, n = domain.length; i < n; ++i) {\n if (scale(domain[i]) - value) {\n return false;\n }\n }\n return true;\n}\n\n// Mutates channel.value!\nfunction coerceType(channels, {domain, ...options}, coerceValues) {\n for (const c of channels) {\n if (c.value !== undefined) {\n c.value = coerceValues(c.value);\n }\n }\n return {\n domain: domain === undefined ? domain : coerceValues(domain),\n ...options\n };\n}\n\nfunction coerceSymbols(values) {\n return map(values, maybeSymbol);\n}\n\nexport function scale(options = {}) {\n let scale;\n for (const key in options) {\n if (!registry.has(key)) continue; // ignore unknown properties\n if (!isScaleOptions(options[key])) continue; // e.g., ignore {color: \"red\"}\n if (scale !== undefined) throw new Error(\"ambiguous scale definition; multiple scales found\");\n scale = exposeScale(normalizeScale(key, options[key]));\n }\n if (scale === undefined) throw new Error(\"invalid scale definition; no scale found\");\n return scale;\n}\n\nexport function exposeScales(scaleDescriptors) {\n return (key) => {\n if (!registry.has((key = `${key}`))) throw new Error(`unknown scale: ${key}`);\n return key in scaleDescriptors ? exposeScale(scaleDescriptors[key]) : undefined;\n };\n}\n\n// Note: axis- and legend-related properties (such as label, ticks and\n// tickFormat) are not included here as they do not affect the scale’s behavior.\nfunction exposeScale({scale, type, domain, range, interpolate, interval, transform, percent, pivot}) {\n if (type === \"identity\") return {type: \"identity\", apply: (d) => d, invert: (d) => d};\n const unknown = scale.unknown ? scale.unknown() : undefined;\n return {\n type,\n domain: slice(domain), // defensive copy\n ...(range !== undefined && {range: slice(range)}), // defensive copy\n ...(transform !== undefined && {transform}),\n ...(percent && {percent}), // only exposed if truthy\n ...(unknown !== undefined && {unknown}),\n ...(interval !== undefined && {interval}),\n\n // quantitative\n ...(interpolate !== undefined && {interpolate}),\n ...(scale.clamp && {clamp: scale.clamp()}),\n\n // diverging (always asymmetric; we never want to apply the symmetric transform twice)\n ...(pivot !== undefined && {pivot, symmetric: false}),\n\n // log, diverging-log\n ...(scale.base && {base: scale.base()}),\n\n // pow, diverging-pow\n ...(scale.exponent && {exponent: scale.exponent()}),\n\n // symlog, diverging-symlog\n ...(scale.constant && {constant: scale.constant()}),\n\n // band, point\n ...(scale.align && {align: scale.align(), round: scale.round()}),\n ...(scale.padding &&\n (scale.paddingInner\n ? {paddingInner: scale.paddingInner(), paddingOuter: scale.paddingOuter()}\n : {padding: scale.padding()})),\n ...(scale.bandwidth && {bandwidth: scale.bandwidth(), step: scale.step()}),\n\n // utilities\n apply: (t) => scale(t),\n ...(scale.invert && {invert: (t) => scale.invert(t)})\n };\n}\n","export enum ScrollDirection {\n SCROLL_NONE,\n SCROLL_BACKWARD,\n SCROLL_FORWARD,\n}\n\nexport enum Position {\n TOP,\n RIGHT,\n BOTTOM,\n LEFT,\n}\n\nexport const OPTIONS_DEFAULT_DOMAIN_TYPE = 'hour';\n\nexport const OPTIONS_DEFAULT_SUBDOMAIN_TYPE = 'minute';\nexport const OPTIONS_DEFAULT_SUBDOMAIN_WIDTH = 10;\nexport const OPTIONS_DEFAULT_SUBDOMAIN_HEIGHT = 10;\nexport const OPTIONS_DEFAULT_SUBDOMAIN_GUTTER = 2;\nexport const OPTIONS_DEFAULT_SUBDOMAIN_RADIUS = 0;\nexport const OPTIONS_DEFAULT_ANIMATION_DURATION = 200;\nexport const OPTIONS_DEFAULT_RANGE = 12;\nexport const OPTIONS_DEFAULT_ITEM_SELECTOR = '#cal-heatmap';\nexport const OPTIONS_DEFAULT_THEME = 'light';\nexport const OPTIONS_DEFAULT_LOCALE = 'en';\n\nexport const SCALE_BASE_OPACITY_COLOR = 'red';\nexport const SCALE_BASE_COLOR_SCHEME = 'YlOrBr';\nexport const SCALE_BASE_COLOR_TYPE = 'quantize';\nexport const SCALE_BASE_COLOR_DOMAIN = [0, 100];\n","// @ts-ignore\nimport { scale } from '@observablehq/plot';\nimport { OptionsType } from './options/Options';\nimport { SCALE_BASE_OPACITY_COLOR } from './constant';\n\nimport type { SubDomain } from './index';\n\ntype ValueType = string | number | undefined;\n\nexport function normalizedScale(scaleOptions: OptionsType['scale']): any {\n try {\n const scaleType = Object.keys(scaleOptions!)[0];\n\n return scale({\n [scaleType]: {\n ...scaleOptions![scaleType as 'color' | 'opacity'],\n clamp: true,\n },\n });\n } catch (error) {\n return null;\n }\n}\n\nfunction scaleStyle(_scale: any, scaleOptions: OptionsType['scale']) {\n const styles: { fill?: Function; 'fill-opacity'?: Function } = {};\n\n if (scaleOptions!.hasOwnProperty('opacity')) {\n styles.fill = () =>\n // eslint-disable-next-line implicit-arrow-linebreak\n scaleOptions!.opacity!.baseColor || SCALE_BASE_OPACITY_COLOR;\n styles['fill-opacity'] = (d: ValueType) => _scale?.apply(d);\n } else {\n styles.fill = (d: ValueType) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n (typeof d === 'string' && d?.startsWith('#') ? d : _scale?.apply(d));\n }\n\n return styles;\n}\n\nexport function applyScaleStyle(\n elem: any,\n _scale: any,\n scaleOptions: OptionsType['scale'],\n keyname?: string,\n) {\n Object.entries(scaleStyle(_scale, scaleOptions)).forEach(([prop, val]) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n elem.style(prop, (d: SubDomain | string) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n val(keyname ? (d as SubDomain)[keyname as keyof SubDomain] : d)));\n}\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !arrayMethodHasSpeciesSupport('concat');\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = lengthOfArrayLike(E);\n doesNotExceedSafeInteger(n + len);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n doesNotExceedSafeInteger(n + 1);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.allSettled` method\n// https://tc39.es/ecma262/#sec-promise.allsettled\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n allSettled: function allSettled(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call(promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'fulfilled', value: value };\n --remaining || resolve(values);\n }, function (error) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'rejected', reason: error };\n --remaining || resolve(values);\n });\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar create = require('../internals/object-create');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key === key) return entry;\n }\n };\n\n defineBuiltIns(Prototype, {\n // `{ Map, Set }.prototype.clear()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.clear\n // https://tc39.es/ecma262/#sec-set.prototype.clear\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // `{ Map, Set }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.delete\n // https://tc39.es/ecma262/#sec-set.prototype.delete\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first === entry) state.first = next;\n if (state.last === entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.foreach\n // https://tc39.es/ecma262/#sec-set.prototype.foreach\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // `{ Map, Set}.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.has\n // https://tc39.es/ecma262/#sec-set.prototype.has\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n defineBuiltIns(Prototype, IS_MAP ? {\n // `Map.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-map.prototype.get\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // `Map.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-map.prototype.set\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // `Set.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-set.prototype.add\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineBuiltInAccessor(Prototype, 'size', {\n configurable: true,\n get: function () {\n return getInternalState(this).size;\n }\n });\n return Constructor;\n },\n setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.entries\n // https://tc39.es/ecma262/#sec-map.prototype.keys\n // https://tc39.es/ecma262/#sec-map.prototype.values\n // https://tc39.es/ecma262/#sec-map.prototype-@@iterator\n // https://tc39.es/ecma262/#sec-set.prototype.entries\n // https://tc39.es/ecma262/#sec-set.prototype.keys\n // https://tc39.es/ecma262/#sec-set.prototype.values\n // https://tc39.es/ecma262/#sec-set.prototype-@@iterator\n defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return createIterResultObject(undefined, true);\n }\n // return step by kind\n if (kind === 'keys') return createIterResultObject(entry.key, false);\n if (kind === 'values') return createIterResultObject(entry.value, false);\n return createIterResultObject([entry.key, entry.value], false);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // `{ Map, Set }.prototype[@@species]` accessors\n // https://tc39.es/ecma262/#sec-get-map-@@species\n // https://tc39.es/ecma262/#sec-get-set-@@species\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\ncollection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (O, P) {\n if (!delete O[P]) throw new $TypeError('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O));\n};\n","'use strict';\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar floor = Math.floor;\n\nvar mergeSort = function (array, comparefn) {\n var length = array.length;\n var middle = floor(length / 2);\n return length < 8 ? insertionSort(array, comparefn) : merge(\n array,\n mergeSort(arraySlice(array, 0, middle), comparefn),\n mergeSort(arraySlice(array, middle), comparefn),\n comparefn\n );\n};\n\nvar insertionSort = function (array, comparefn) {\n var length = array.length;\n var i = 1;\n var element, j;\n\n while (i < length) {\n j = i;\n element = array[i];\n while (j && comparefn(array[j - 1], element) > 0) {\n array[j] = array[--j];\n }\n if (j !== i++) array[j] = element;\n } return array;\n};\n\nvar merge = function (array, left, right, comparefn) {\n var llength = left.length;\n var rlength = right.length;\n var lindex = 0;\n var rindex = 0;\n\n while (lindex < llength || rindex < rlength) {\n array[lindex + rindex] = (lindex < llength && rindex < rlength)\n ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]\n : lindex < llength ? left[lindex++] : right[rindex++];\n } return array;\n};\n\nmodule.exports = mergeSort;\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","'use strict';\nvar UA = require('../internals/engine-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar test = [];\nvar nativeSort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? nativeSort(array) : nativeSort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = lengthOfArrayLike(items);\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) deletePropertyOrThrow(array, index++);\n\n return array;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar fails = require('../internals/fails');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// FF99+ bug\nvar BROKEN_ON_SPARSE = fails(function () {\n // eslint-disable-next-line es/no-array-prototype-includes -- detection\n return !Array(1).includes();\n});\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isConstructor = require('../internals/is-constructor');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $Array = Array;\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var IS_CONSTRUCTOR = isConstructor(this);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n result = IS_CONSTRUCTOR ? new this() : [];\n for (;!(step = call(next, iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = lengthOfArrayLike(O);\n result = IS_CONSTRUCTOR ? new this(length) : $Array(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n // eslint-disable-next-line es/no-array-from -- required for testing\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.es/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","'use strict';\n// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar replace = uncurryThis(''.replace);\nvar ltrim = RegExp('^[' + whitespaces + ']+');\nvar rtrim = RegExp('(^|[^' + whitespaces + '])[' + whitespaces + ']+$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = replace(string, ltrim, '');\n if (TYPE & 2) string = replace(string, rtrim, '$1');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","'use strict';\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]()\n || non[METHOD_NAME]() !== non\n || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME);\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","import { Position } from '../constant';\nimport type CalHeatmap from '../CalHeatmap';\nimport type { Timestamp, SubDomain } from '../index';\n\nexport const DEFAULT_SELECTOR = '.ch-subdomain';\nconst HIGHLIGHT_CLASSNAME = 'highlight';\n\nexport default class SubDomainPainter {\n calendar: CalHeatmap;\n\n root: any;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n this.root = null;\n }\n\n paint(root: any): void {\n this.root = root || this.root;\n const containerClassname = `${DEFAULT_SELECTOR}-container`;\n\n const subDomainSvgGroup = this.root\n .selectAll(containerClassname)\n .data(\n (d: Timestamp) => [d],\n (d: Timestamp) => d,\n )\n .join(\n (enter: any) => enter\n .append('svg')\n .call((selection: any) => this.#setPositions(selection))\n .attr('class', containerClassname.slice(1)),\n\n (update: any) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n update.call((selection: any) => this.#setPositions(selection)),\n );\n\n const {\n subDomain: {\n radius, width, height, sort,\n },\n } = this.calendar.options.options;\n const evt = this.calendar.eventEmitter;\n\n subDomainSvgGroup\n .selectAll('g')\n .data((d: Timestamp) => {\n const subDomainsCollection: SubDomain[] =\n this.calendar.domainCollection.get(d)!;\n if (sort === 'desc') {\n const max = Math.max(\n ...subDomainsCollection.map((s: SubDomain) => s.x),\n );\n subDomainsCollection.forEach((s: SubDomain, i: number) => {\n subDomainsCollection[i].x = Math.abs(s.x - max);\n });\n }\n\n return subDomainsCollection;\n })\n .join(\n (enter: any) => enter\n .append('g')\n .call((selection: any) => selection\n .insert('rect')\n .attr('class', (d: SubDomain) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n this.#classname(d.t, `${DEFAULT_SELECTOR.slice(1)}-bg`))\n .attr('width', width)\n .attr('height', height)\n .attr('x', (d: SubDomain) => this.#getX(d))\n .attr('y', (d: SubDomain) => this.#getY(d))\n .on('click', (ev: PointerEvent, d: SubDomain) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n evt.emit('click', ev, d.t, d.v))\n .on('mouseover', (ev: PointerEvent, d: SubDomain) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n evt.emit('mouseover', ev, d.t, d.v))\n .on('mouseout', (ev: PointerEvent, d: SubDomain) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n evt.emit('mouseout', ev, d.t, d.v))\n .attr('rx', radius > 0 ? radius : null)\n .attr('ry', radius > 0 ? radius : null))\n .call((selection: any) => this.#appendText(selection)),\n (update: any) => update\n .selectAll('rect')\n .attr('class', (d: SubDomain) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n this.#classname(d.t, `${DEFAULT_SELECTOR.slice(1)}-bg`))\n .attr('width', width)\n .attr('height', height)\n .attr('x', (d: SubDomain) => this.#getX(d))\n .attr('y', (d: SubDomain) => this.#getY(d))\n .attr('rx', radius)\n .attr('ry', radius),\n );\n }\n\n /**\n * Set the subDomain group X and Y position\n * @param {d3-selection} selection A d3-selection object\n */\n #setPositions(selection: any): void {\n const { options } = this.calendar.options;\n const {\n padding,\n label: { position },\n } = options.domain;\n\n selection\n .attr('x', () => {\n let pos = padding[Position.LEFT];\n if (position === 'left') {\n pos += options.x.domainHorizontalLabelWidth;\n }\n return pos;\n })\n .attr('y', () => {\n let pos = padding[Position.TOP];\n if (position === 'top') {\n pos += options.x.domainVerticalLabelHeight;\n }\n return pos;\n });\n }\n\n /**\n * Return a classname if the specified date should be highlighted\n *\n * @param {number} timestamp Unix timestamp of the current subDomain\n * @return {String} the highlight class\n */\n #classname(timestamp: Timestamp, ...otherClasses: string[]): string {\n const {\n date: { highlight },\n subDomain: { type },\n } = this.calendar.options.options;\n let classname = '';\n\n if (highlight.length > 0) {\n highlight.forEach((d) => {\n const unitFn = this.calendar.templateCollection.get(type).extractUnit;\n\n if (unitFn(+d) === unitFn(timestamp)) {\n classname = HIGHLIGHT_CLASSNAME;\n }\n });\n }\n\n return [classname, ...otherClasses].join(' ').trim();\n }\n\n #appendText(elem: any) {\n const { width, height, label } = this.calendar.options.options.subDomain;\n\n if (!label) {\n return null;\n }\n\n return elem\n .append('text')\n .attr('class', (d: SubDomain) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n this.#classname(d.t, `${DEFAULT_SELECTOR.slice(1)}-text`))\n .attr('x', (d: SubDomain) => this.#getX(d) + width / 2)\n .attr('y', (d: SubDomain) => this.#getY(d) + height / 2)\n .attr('text-anchor', 'middle')\n .attr('dominant-baseline', 'central')\n .text((d: SubDomain, i: number, nodes: any[]) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n this.calendar.dateHelper.format(d.t, label, d.v, nodes[i]));\n }\n\n #getCoordinates(axis: 'x' | 'y', d: SubDomain): number {\n const { subDomain } = this.calendar.options.options;\n return (\n d[axis] *\n (subDomain[axis === 'x' ? 'width' : 'height'] + subDomain.gutter)\n );\n }\n\n #getX(d: SubDomain): number {\n return this.#getCoordinates('x', d);\n }\n\n #getY(d: SubDomain): number {\n return this.#getCoordinates('y', d);\n }\n}\n","import { select, create } from 'd3-selection';\nimport { normalizedScale, applyScaleStyle } from '../scale';\nimport { DEFAULT_SELECTOR as MAIN_SELECTOR } from '../calendar/CalendarPainter';\nimport {\n // force line break from prettier\n DEFAULT_SELECTOR as SUBDOMAIN_SELECTOR,\n} from '../subDomain/SubDomainPainter';\n\nimport type CalHeatmap from '../CalHeatmap';\nimport type { IPlugin, PluginOptions } from '../index';\nimport {\n OPTIONS_DEFAULT_SUBDOMAIN_WIDTH,\n OPTIONS_DEFAULT_SUBDOMAIN_HEIGHT,\n OPTIONS_DEFAULT_SUBDOMAIN_GUTTER,\n OPTIONS_DEFAULT_SUBDOMAIN_RADIUS,\n} from '../constant';\n\ninterface LegendOptions extends PluginOptions {\n enabled: boolean;\n itemSelector: string | null;\n width: number;\n height: number;\n radius: number;\n gutter: number;\n includeBlank: boolean;\n}\n\nconst DEFAULT_SELECTOR = '.ch-plugin-legend-lite';\n\nconst defaultOptions: LegendOptions = {\n enabled: true, // Whether to display the legend\n itemSelector: null,\n width: OPTIONS_DEFAULT_SUBDOMAIN_WIDTH,\n height: OPTIONS_DEFAULT_SUBDOMAIN_HEIGHT,\n gutter: OPTIONS_DEFAULT_SUBDOMAIN_GUTTER,\n radius: OPTIONS_DEFAULT_SUBDOMAIN_RADIUS,\n includeBlank: false,\n};\n\nexport default class LegendLite implements IPlugin {\n name = 'LegendLite';\n\n calendar: CalHeatmap;\n\n root: any;\n\n shown: boolean;\n\n options: LegendOptions;\n\n constructor(calendar: CalHeatmap) {\n this.calendar = calendar;\n this.root = null;\n this.shown = false;\n this.options = defaultOptions;\n }\n\n setup(pluginOptions?: Partial): void {\n this.options = { ...this.options, ...pluginOptions };\n }\n\n paint(): Promise