attractor 0.6.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9779c40279548b0335e80e81737fb19c2d4add79184993a3fa76889769a98db6
4
- data.tar.gz: 5a3dd66c8968c91cce9109ea1af2552aaa9278a1a97242d694869d516ef20da9
3
+ metadata.gz: a229e94c73755f6abdfcfc16d8273763811393a87969416fe6eaa11878cce88a
4
+ data.tar.gz: 1772809ed3e6792cbf9b75747e0c8fd2703f9f0a30afc13841df765c2372f7cf
5
5
  SHA512:
6
- metadata.gz: 972408a34150125885458001061ef80488e7d84c7c519e72f23243bf7ab70e48096bee35882d6b70720a1ab00169085de99904a4caf6fa279b9ebb8d0e7048e8
7
- data.tar.gz: 71f63f8ef87ead2304290c284f098e9cf4292eb0e04e78e499a4b4918eb81f93bd24f58214c23758e8ccee180bbabbf7d65a010ee96691b7cba43b3b86e54e36
6
+ metadata.gz: 8f9670c8f95ae440d7d6f6f4950e3ae5797f84abe6cc268dcbec34945268e7390327ca25b8ae36328bc5f0a5fbe62e37c4b16981b7ad1b52e1952b98c72962fd
7
+ data.tar.gz: 1151cbf0f72547a31de71566ad3e4e98c2048ead80d40758385809be6957f03672dbf4e82532c18ac787ea5d49ed3d8d727153cff7fda939d24502d7eca7b30a
data/.gitignore CHANGED
@@ -8,7 +8,7 @@
8
8
  /tmp/
9
9
  /attractor_output/
10
10
  /vendor/
11
- /node_modules/
11
+ **/node_modules/
12
12
 
13
13
  # rspec failure tracking
14
14
  .rspec_status
@@ -1,3 +1,7 @@
1
+ ## RELEASE 1.0.0
2
+
3
+ * BREAKING: Add Javascript / ES6 support via typhonjs-escomplex
4
+
1
5
  ## RELEASE 0.6.1
2
6
 
3
7
  * ENHANCEMENT: add histogram for complexity/churn only measurements
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Attractor ![build status](https://travis-ci.org/julianrubisch/attractor.svg?branch=master) <img src="https://user-images.githubusercontent.com/4352208/65411858-3dc84200-ddee-11e9-99b6-c9cdbeb533c5.png" width="32">
2
2
 
3
- ![attractor_v0 5 1](https://user-images.githubusercontent.com/4352208/66570048-0d620100-eb6d-11e9-8c2a-a2b008011edf.gif)
3
+ ![attractor_v0 6 1](https://user-images.githubusercontent.com/4352208/67033292-b41e4280-f115-11e9-8c91-81b3bea4451c.gif)
4
4
 
5
5
  Many authors ([Michael Feathers](https://www.agileconnection.com/article/getting-empirical-about-refactoring), [Sandi Metz](https://www.sandimetz.com/blog/2017/9/13/breaking-up-the-behemoth)) have shown that an evaluation of churn vs complexity of files in software projects provide a valuable metric towards code quality. This is another take on the matter, for ruby code, using the `churn` and `flog` projects.
6
6
 
@@ -34,6 +34,10 @@ Or shorter:
34
34
 
35
35
  $ attractor report -p app/models
36
36
 
37
+ Check javascript:
38
+
39
+ $ attractor report -p app/javascript -t js
40
+
37
41
  Watch for file changes:
38
42
 
39
43
  $ attractor report -p app/models --watch
@@ -56,12 +60,14 @@ Print a simple output to console:
56
60
 
57
61
  $ attractor calc
58
62
  $ --file_prefix|-p app/models
63
+ $ --type|-t rb|js
59
64
  $ --watch|-w
60
65
 
61
66
  Generate a full report
62
67
 
63
68
  $ attractor report
64
69
  $ --file_prefix|-p app/models
70
+ $ --type|-t rb|js
65
71
  $ --watch|-w
66
72
 
67
73
  Serve the output on http://localhost:7890
data/Rakefile CHANGED
@@ -29,4 +29,7 @@ task :assets do
29
29
 
30
30
  npm_output = `npm run build`
31
31
  puts npm_output
32
+
33
+ npm_output = `cd src/javascript/calculator && npm run build`
34
+ puts npm_output
32
35
  end
@@ -1,9 +1,9 @@
1
- !function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=68)}([function(t,e,n){"use strict";t.exports=n(55)},function(t,e,n){t.exports=n(66)()},function(t,e,n){var r=n(59),i=n(60),a=n(61);t.exports=function(t,e){return r(t)||i(t,e)||a()}},function(t,e,n){t.exports=n(62)},,function(t,e){function n(t,e,n,r,i,a,o){try{var l=t[a](o),u=l.value}catch(t){return void n(t)}l.done?e(u):Promise.resolve(u).then(r,i)}t.exports=function(t){return function(){var e=this,r=arguments;return new Promise((function(i,a){var o=t.apply(e,r);function l(t){n(o,i,a,l,u,"next",t)}function u(t){n(o,i,a,l,u,"throw",t)}l(void 0)}))}}},,,function(t,e){function n(){return t.exports=n=Object.assign||function(t){for(var e=1;e-1;i--){var a=n[i],o=(a.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(o)>-1&&(r=a)}return y.head.insertBefore(e,r),t}}var tt="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";function et(){for(var t=12,e="";t-- >0;)e+=tt[62*Math.random()|0];return e}function nt(t){return"".concat(t).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function rt(t){return Object.keys(t||{}).reduce((function(e,n){return e+"".concat(n,": ").concat(t[n],";")}),"")}function it(t){return t.size!==Z.size||t.x!==Z.x||t.y!==Z.y||t.rotate!==Z.rotate||t.flipX||t.flipY}function at(t){var e=t.transform,n=t.containerWidth,r=t.iconWidth,i={transform:"translate(".concat(n/2," 256)")},a="translate(".concat(32*e.x,", ").concat(32*e.y,") "),o="scale(".concat(e.size/16*(e.flipX?-1:1),", ").concat(e.size/16*(e.flipY?-1:1),") "),l="rotate(".concat(e.rotate," 0 0)");return{outer:i,inner:{transform:"".concat(a," ").concat(o," ").concat(l)},path:{transform:"translate(".concat(r/2*-1," -256)")}}}var ot={x:0,y:0,width:"100%",height:"100%"};function lt(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return t.attributes&&(t.attributes.fill||e)&&(t.attributes.fill="black"),t}function ut(t){var e=t.icons,n=e.main,r=e.mask,i=t.prefix,a=t.iconName,o=t.transform,u=t.symbol,s=t.title,c=t.extra,f=t.watchable,h=void 0!==f&&f,p=r.found?r:n,d=p.width,m=p.height,y="fa-w-".concat(Math.ceil(d/m*16)),v=[C.replacementClass,a?"".concat(C.familyPrefix,"-").concat(a):"",y].filter((function(t){return-1===c.classes.indexOf(t)})).concat(c.classes).join(" "),g={children:[],attributes:l({},c.attributes,{"data-prefix":i,"data-icon":a,class:v,role:c.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(d," ").concat(m)})};h&&(g.attributes[w]=""),s&&g.children.push({tag:"title",attributes:{id:g.attributes["aria-labelledby"]||"title-".concat(et())},children:[s]});var _=l({},g,{prefix:i,iconName:a,main:n,mask:r,transform:o,symbol:u,styles:c.styles}),b=r.found&&n.found?function(t){var e,n=t.children,r=t.attributes,i=t.main,a=t.mask,o=t.transform,u=i.width,s=i.icon,c=a.width,f=a.icon,h=at({transform:o,containerWidth:c,iconWidth:u}),p={tag:"rect",attributes:l({},ot,{fill:"white"})},d=s.children?{children:s.children.map(lt)}:{},m={tag:"g",attributes:l({},h.inner),children:[lt(l({tag:s.tag,attributes:l({},s.attributes,h.path)},d))]},y={tag:"g",attributes:l({},h.outer),children:[m]},v="mask-".concat(et()),g="clip-".concat(et()),_={tag:"mask",attributes:l({},ot,{id:v,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[p,y]},b={tag:"defs",children:[{tag:"clipPath",attributes:{id:g},children:(e=f,"g"===e.tag?e.children:[e])},_]};return n.push(b,{tag:"rect",attributes:l({fill:"currentColor","clip-path":"url(#".concat(g,")"),mask:"url(#".concat(v,")")},ot)}),{children:n,attributes:r}}(_):function(t){var e=t.children,n=t.attributes,r=t.main,i=t.transform,a=rt(t.styles);if(a.length>0&&(n.style=a),it(i)){var o=at({transform:i,containerWidth:r.width,iconWidth:r.width});e.push({tag:"g",attributes:l({},o.outer),children:[{tag:"g",attributes:l({},o.inner),children:[{tag:r.icon.tag,children:r.icon.children,attributes:l({},r.icon.attributes,o.path)}]}]})}else e.push(r.icon);return{children:e,attributes:n}}(_),x=b.children,k=b.attributes;return _.children=x,_.attributes=k,u?function(t){var e=t.prefix,n=t.iconName,r=t.children,i=t.attributes,a=t.symbol;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:l({},i,{id:!0===a?"".concat(e,"-").concat(C.familyPrefix,"-").concat(n):a}),children:r}]}]}(_):function(t){var e=t.children,n=t.main,r=t.mask,i=t.attributes,a=t.styles,o=t.transform;if(it(o)&&n.found&&!r.found){var u={x:n.width/n.height/2,y:.5};i.style=rt(l({},a,{"transform-origin":"".concat(u.x+o.x/16,"em ").concat(u.y+o.y/16,"em")}))}return[{tag:"svg",attributes:i,children:e}]}(_)}var st=function(){},ct=(C.measurePerformance&&v&&v.mark&&v.measure,function(t,e,n,r){var i,a,o,l=Object.keys(t),u=l.length,s=void 0!==r?function(t,e){return function(n,r,i,a){return t.call(e,n,r,i,a)}}(e,r):e;for(void 0===n?(i=1,o=t[l[0]]):(i=0,o=n);i2&&void 0!==arguments[2]?arguments[2]:{}).skipHooks,r=void 0!==n&&n,i=Object.keys(e).reduce((function(t,n){var r=e[n];return!!r.icon?t[r.iconName]=r.icon:t[n]=r,t}),{});"function"!=typeof N.hooks.addPack||r?N.styles[t]=l({},N.styles[t]||{},i):N.hooks.addPack(t,i),"fas"===t&&ft("fa",e)}var ht=N.styles,pt=N.shims,dt=function(){var t=function(t){return ct(ht,(function(e,n,r){return e[r]=ct(n,t,{}),e}),{})};t((function(t,e,n){return e[3]&&(t[e[3]]=n),t})),t((function(t,e,n){var r=e[2];return t[n]=n,r.forEach((function(e){t[e]=n})),t}));var e="far"in ht;ct(pt,(function(t,n){var r=n[0],i=n[1],a=n[2];return"far"!==i||e||(i="fas"),t[r]={prefix:i,iconName:a},t}),{})};dt();N.styles;function mt(t,e,n){if(t&&t[e]&&t[e][n])return{prefix:e,iconName:n,icon:t[e][n]}}function yt(t){var e=t.tag,n=t.attributes,r=void 0===n?{}:n,i=t.children,a=void 0===i?[]:i;return"string"==typeof t?nt(t):"<".concat(e," ").concat(function(t){return Object.keys(t||{}).reduce((function(e,n){return e+"".concat(n,'="').concat(nt(t[n]),'" ')}),"").trim()}(r),">").concat(a.map(yt).join(""),"")}var vt=function(t){var e={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return t?t.toLowerCase().split(" ").reduce((function(t,e){var n=e.toLowerCase().split("-"),r=n[0],i=n.slice(1).join("-");if(r&&"h"===i)return t.flipX=!0,t;if(r&&"v"===i)return t.flipY=!0,t;if(i=parseFloat(i),isNaN(i))return t;switch(r){case"grow":t.size=t.size+i;break;case"shrink":t.size=t.size-i;break;case"left":t.x=t.x-i;break;case"right":t.x=t.x+i;break;case"up":t.y=t.y-i;break;case"down":t.y=t.y+i;break;case"rotate":t.rotate=t.rotate+i}return t}),e):e};function gt(t){this.name="MissingIcon",this.message=t||"Icon unavailable",this.stack=(new Error).stack}gt.prototype=Object.create(Error.prototype),gt.prototype.constructor=gt;var _t={fill:"currentColor"},bt={attributeType:"XML",repeatCount:"indefinite",dur:"2s"},wt={tag:"path",attributes:l({},_t,{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})},xt=l({},bt,{attributeName:"opacity"});l({},_t,{cx:"256",cy:"364",r:"28"}),l({},bt,{attributeName:"r",values:"28;14;28;28;14;28;"}),l({},xt,{values:"1;0;1;1;0;1;"}),l({},_t,{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),l({},xt,{values:"1;0;0;0;0;1;"}),l({},_t,{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),l({},xt,{values:"0;0;1;1;0;0;"}),N.styles;function kt(t){var e=t[0],n=t[1],r=u(t.slice(4),1)[0];return{found:!0,width:e,height:n,icon:Array.isArray(r)?{tag:"g",attributes:{class:"".concat(C.familyPrefix,"-").concat(E.GROUP)},children:[{tag:"path",attributes:{class:"".concat(C.familyPrefix,"-").concat(E.SECONDARY),fill:"currentColor",d:r[0]}},{tag:"path",attributes:{class:"".concat(C.familyPrefix,"-").concat(E.PRIMARY),fill:"currentColor",d:r[1]}}]}:{tag:"path",attributes:{fill:"currentColor",d:r}}}}N.styles;var Et='svg:not(:root).svg-inline--fa {\n overflow: visible;\n}\n\n.svg-inline--fa {\n display: inline-block;\n font-size: inherit;\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n}\n.svg-inline--fa.fa-lg {\n vertical-align: -0.225em;\n}\n.svg-inline--fa.fa-w-1 {\n width: 0.0625em;\n}\n.svg-inline--fa.fa-w-2 {\n width: 0.125em;\n}\n.svg-inline--fa.fa-w-3 {\n width: 0.1875em;\n}\n.svg-inline--fa.fa-w-4 {\n width: 0.25em;\n}\n.svg-inline--fa.fa-w-5 {\n width: 0.3125em;\n}\n.svg-inline--fa.fa-w-6 {\n width: 0.375em;\n}\n.svg-inline--fa.fa-w-7 {\n width: 0.4375em;\n}\n.svg-inline--fa.fa-w-8 {\n width: 0.5em;\n}\n.svg-inline--fa.fa-w-9 {\n width: 0.5625em;\n}\n.svg-inline--fa.fa-w-10 {\n width: 0.625em;\n}\n.svg-inline--fa.fa-w-11 {\n width: 0.6875em;\n}\n.svg-inline--fa.fa-w-12 {\n width: 0.75em;\n}\n.svg-inline--fa.fa-w-13 {\n width: 0.8125em;\n}\n.svg-inline--fa.fa-w-14 {\n width: 0.875em;\n}\n.svg-inline--fa.fa-w-15 {\n width: 0.9375em;\n}\n.svg-inline--fa.fa-w-16 {\n width: 1em;\n}\n.svg-inline--fa.fa-w-17 {\n width: 1.0625em;\n}\n.svg-inline--fa.fa-w-18 {\n width: 1.125em;\n}\n.svg-inline--fa.fa-w-19 {\n width: 1.1875em;\n}\n.svg-inline--fa.fa-w-20 {\n width: 1.25em;\n}\n.svg-inline--fa.fa-pull-left {\n margin-right: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-pull-right {\n margin-left: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-border {\n height: 1.5em;\n}\n.svg-inline--fa.fa-li {\n width: 2em;\n}\n.svg-inline--fa.fa-fw {\n width: 1.25em;\n}\n\n.fa-layers svg.svg-inline--fa {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.fa-layers {\n display: inline-block;\n height: 1em;\n position: relative;\n text-align: center;\n vertical-align: -0.125em;\n width: 1em;\n}\n.fa-layers svg.svg-inline--fa {\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter, .fa-layers-text {\n display: inline-block;\n position: absolute;\n text-align: center;\n}\n\n.fa-layers-text {\n left: 50%;\n top: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter {\n background-color: #ff253a;\n border-radius: 1em;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n color: #fff;\n height: 1.5em;\n line-height: 1;\n max-width: 5em;\n min-width: 1.5em;\n overflow: hidden;\n padding: 0.25em;\n right: 0;\n text-overflow: ellipsis;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-bottom-right {\n bottom: 0;\n right: 0;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom right;\n transform-origin: bottom right;\n}\n\n.fa-layers-bottom-left {\n bottom: 0;\n left: 0;\n right: auto;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom left;\n transform-origin: bottom left;\n}\n\n.fa-layers-top-right {\n right: 0;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-top-left {\n left: 0;\n right: auto;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n}\n\n.fa-lg {\n font-size: 1.3333333333em;\n line-height: 0.75em;\n vertical-align: -0.0667em;\n}\n\n.fa-xs {\n font-size: 0.75em;\n}\n\n.fa-sm {\n font-size: 0.875em;\n}\n\n.fa-1x {\n font-size: 1em;\n}\n\n.fa-2x {\n font-size: 2em;\n}\n\n.fa-3x {\n font-size: 3em;\n}\n\n.fa-4x {\n font-size: 4em;\n}\n\n.fa-5x {\n font-size: 5em;\n}\n\n.fa-6x {\n font-size: 6em;\n}\n\n.fa-7x {\n font-size: 7em;\n}\n\n.fa-8x {\n font-size: 8em;\n}\n\n.fa-9x {\n font-size: 9em;\n}\n\n.fa-10x {\n font-size: 10em;\n}\n\n.fa-fw {\n text-align: center;\n width: 1.25em;\n}\n\n.fa-ul {\n list-style-type: none;\n margin-left: 2.5em;\n padding-left: 0;\n}\n.fa-ul > li {\n position: relative;\n}\n\n.fa-li {\n left: -2em;\n position: absolute;\n text-align: center;\n width: 2em;\n line-height: inherit;\n}\n\n.fa-border {\n border: solid 0.08em #eee;\n border-radius: 0.1em;\n padding: 0.2em 0.25em 0.15em;\n}\n\n.fa-pull-left {\n float: left;\n}\n\n.fa-pull-right {\n float: right;\n}\n\n.fa.fa-pull-left,\n.fas.fa-pull-left,\n.far.fa-pull-left,\n.fal.fa-pull-left,\n.fab.fa-pull-left {\n margin-right: 0.3em;\n}\n.fa.fa-pull-right,\n.fas.fa-pull-right,\n.far.fa-pull-right,\n.fal.fa-pull-right,\n.fab.fa-pull-right {\n margin-left: 0.3em;\n}\n\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n.fa-rotate-90 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";\n -webkit-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";\n -webkit-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";\n -webkit-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(-1, -1);\n transform: scale(-1, -1);\n}\n\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical,\n:root .fa-flip-both {\n -webkit-filter: none;\n filter: none;\n}\n\n.fa-stack {\n display: inline-block;\n height: 2em;\n position: relative;\n width: 2.5em;\n}\n\n.fa-stack-1x,\n.fa-stack-2x {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.svg-inline--fa.fa-stack-1x {\n height: 1em;\n width: 1.25em;\n}\n.svg-inline--fa.fa-stack-2x {\n height: 2em;\n width: 2.5em;\n}\n\n.fa-inverse {\n color: #fff;\n}\n\n.sr-only {\n border: 0;\n clip: rect(0, 0, 0, 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto;\n}\n\n.svg-inline--fa .fa-primary {\n fill: var(--fa-primary-color, currentColor);\n opacity: 1;\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa .fa-secondary {\n fill: var(--fa-secondary-color, currentColor);\n opacity: 0.4;\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-primary {\n opacity: 0.4;\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\n opacity: 1;\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa mask .fa-primary,\n.svg-inline--fa mask .fa-secondary {\n fill: black;\n}\n\n.fad.fa-inverse {\n color: #fff;\n}';function Tt(){var t=_,e=b,n=C.familyPrefix,r=C.replacementClass,i=Et;if(n!==t||r!==e){var a=new RegExp("\\.".concat(t,"\\-"),"g"),o=new RegExp("\\--".concat(t,"\\-"),"g"),l=new RegExp("\\.".concat(e),"g");i=i.replace(a,".".concat(n,"-")).replace(o,"--".concat(n,"-")).replace(l,".".concat(r))}return i}function St(){C.autoAddCss&&!Ot&&(J(Tt()),Ot=!0)}function Ct(t,e){return Object.defineProperty(t,"abstract",{get:e}),Object.defineProperty(t,"html",{get:function(){return t.abstract.map((function(t){return yt(t)}))}}),Object.defineProperty(t,"node",{get:function(){if(g){var e=y.createElement("div");return e.innerHTML=t.html,e.children}}}),t}function Mt(t){var e=t.prefix,n=void 0===e?"fa":e,r=t.iconName;if(r)return mt(Pt.definitions,n,r)||mt(N.styles,n,r)}var Nt,Pt=new(function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.definitions={}}var e,n,r;return e=t,(n=[{key:"add",value:function(){for(var t=this,e=arguments.length,n=new Array(e),r=0;r1&&void 0!==arguments[1]?arguments[1]:{},n=e.transform,r=void 0===n?Z:n,i=e.symbol,a=void 0!==i&&i,o=e.mask,u=void 0===o?null:o,s=e.title,c=void 0===s?null:s,f=e.classes,h=void 0===f?[]:f,p=e.attributes,d=void 0===p?{}:p,m=e.styles,y=void 0===m?{}:m;if(t){var v=t.prefix,g=t.iconName,_=t.icon;return Ct(l({type:"icon"},t),(function(){return St(),C.autoA11y&&(c?d["aria-labelledby"]="".concat(C.replacementClass,"-title-").concat(et()):(d["aria-hidden"]="true",d.focusable="false")),ut({icons:{main:kt(_),mask:u?kt(u.icon):{found:!1,width:null,height:null,icon:{}}},prefix:v,iconName:g,transform:l({},Z,r),symbol:a,title:c,extra:{attributes:d,styles:y,classes:h}})}))}},function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=(t||{}).icon?t:Mt(t||{}),r=e.mask;return r&&(r=(r||{}).icon?r:Mt(r||{})),Nt(n,l({},e,{mask:r}))})}).call(this,n(10),n(63).setImmediate)},,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,n){"use strict";
1
+ !function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=72)}([function(t,e,n){"use strict";t.exports=n(57)},function(t,e,n){t.exports=n(68)()},function(t,e,n){var r=n(61),i=n(62),a=n(63);t.exports=function(t,e){return r(t)||i(t,e)||a()}},function(t,e,n){t.exports=n(64)},,function(t,e){function n(t,e,n,r,i,a,o){try{var l=t[a](o),u=l.value}catch(t){return void n(t)}l.done?e(u):Promise.resolve(u).then(r,i)}t.exports=function(t){return function(){var e=this,r=arguments;return new Promise((function(i,a){var o=t.apply(e,r);function l(t){n(o,i,a,l,u,"next",t)}function u(t){n(o,i,a,l,u,"throw",t)}l(void 0)}))}}},,,function(t,e){function n(){return t.exports=n=Object.assign||function(t){for(var e=1;e-1;i--){var a=n[i],o=(a.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(o)>-1&&(r=a)}return y.head.insertBefore(e,r),t}}var tt="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";function et(){for(var t=12,e="";t-- >0;)e+=tt[62*Math.random()|0];return e}function nt(t){return"".concat(t).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function rt(t){return Object.keys(t||{}).reduce((function(e,n){return e+"".concat(n,": ").concat(t[n],";")}),"")}function it(t){return t.size!==Z.size||t.x!==Z.x||t.y!==Z.y||t.rotate!==Z.rotate||t.flipX||t.flipY}function at(t){var e=t.transform,n=t.containerWidth,r=t.iconWidth,i={transform:"translate(".concat(n/2," 256)")},a="translate(".concat(32*e.x,", ").concat(32*e.y,") "),o="scale(".concat(e.size/16*(e.flipX?-1:1),", ").concat(e.size/16*(e.flipY?-1:1),") "),l="rotate(".concat(e.rotate," 0 0)");return{outer:i,inner:{transform:"".concat(a," ").concat(o," ").concat(l)},path:{transform:"translate(".concat(r/2*-1," -256)")}}}var ot={x:0,y:0,width:"100%",height:"100%"};function lt(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return t.attributes&&(t.attributes.fill||e)&&(t.attributes.fill="black"),t}function ut(t){var e=t.icons,n=e.main,r=e.mask,i=t.prefix,a=t.iconName,o=t.transform,u=t.symbol,s=t.title,c=t.extra,f=t.watchable,h=void 0!==f&&f,p=r.found?r:n,d=p.width,m=p.height,y="fa-w-".concat(Math.ceil(d/m*16)),v=[C.replacementClass,a?"".concat(C.familyPrefix,"-").concat(a):"",y].filter((function(t){return-1===c.classes.indexOf(t)})).concat(c.classes).join(" "),g={children:[],attributes:l({},c.attributes,{"data-prefix":i,"data-icon":a,class:v,role:c.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(d," ").concat(m)})};h&&(g.attributes[w]=""),s&&g.children.push({tag:"title",attributes:{id:g.attributes["aria-labelledby"]||"title-".concat(et())},children:[s]});var _=l({},g,{prefix:i,iconName:a,main:n,mask:r,transform:o,symbol:u,styles:c.styles}),b=r.found&&n.found?function(t){var e,n=t.children,r=t.attributes,i=t.main,a=t.mask,o=t.transform,u=i.width,s=i.icon,c=a.width,f=a.icon,h=at({transform:o,containerWidth:c,iconWidth:u}),p={tag:"rect",attributes:l({},ot,{fill:"white"})},d=s.children?{children:s.children.map(lt)}:{},m={tag:"g",attributes:l({},h.inner),children:[lt(l({tag:s.tag,attributes:l({},s.attributes,h.path)},d))]},y={tag:"g",attributes:l({},h.outer),children:[m]},v="mask-".concat(et()),g="clip-".concat(et()),_={tag:"mask",attributes:l({},ot,{id:v,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[p,y]},b={tag:"defs",children:[{tag:"clipPath",attributes:{id:g},children:(e=f,"g"===e.tag?e.children:[e])},_]};return n.push(b,{tag:"rect",attributes:l({fill:"currentColor","clip-path":"url(#".concat(g,")"),mask:"url(#".concat(v,")")},ot)}),{children:n,attributes:r}}(_):function(t){var e=t.children,n=t.attributes,r=t.main,i=t.transform,a=rt(t.styles);if(a.length>0&&(n.style=a),it(i)){var o=at({transform:i,containerWidth:r.width,iconWidth:r.width});e.push({tag:"g",attributes:l({},o.outer),children:[{tag:"g",attributes:l({},o.inner),children:[{tag:r.icon.tag,children:r.icon.children,attributes:l({},r.icon.attributes,o.path)}]}]})}else e.push(r.icon);return{children:e,attributes:n}}(_),x=b.children,k=b.attributes;return _.children=x,_.attributes=k,u?function(t){var e=t.prefix,n=t.iconName,r=t.children,i=t.attributes,a=t.symbol;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:l({},i,{id:!0===a?"".concat(e,"-").concat(C.familyPrefix,"-").concat(n):a}),children:r}]}]}(_):function(t){var e=t.children,n=t.main,r=t.mask,i=t.attributes,a=t.styles,o=t.transform;if(it(o)&&n.found&&!r.found){var u={x:n.width/n.height/2,y:.5};i.style=rt(l({},a,{"transform-origin":"".concat(u.x+o.x/16,"em ").concat(u.y+o.y/16,"em")}))}return[{tag:"svg",attributes:i,children:e}]}(_)}var st=function(){},ct=(C.measurePerformance&&v&&v.mark&&v.measure,function(t,e,n,r){var i,a,o,l=Object.keys(t),u=l.length,s=void 0!==r?function(t,e){return function(n,r,i,a){return t.call(e,n,r,i,a)}}(e,r):e;for(void 0===n?(i=1,o=t[l[0]]):(i=0,o=n);i2&&void 0!==arguments[2]?arguments[2]:{}).skipHooks,r=void 0!==n&&n,i=Object.keys(e).reduce((function(t,n){var r=e[n];return!!r.icon?t[r.iconName]=r.icon:t[n]=r,t}),{});"function"!=typeof N.hooks.addPack||r?N.styles[t]=l({},N.styles[t]||{},i):N.hooks.addPack(t,i),"fas"===t&&ft("fa",e)}var ht=N.styles,pt=N.shims,dt=function(){var t=function(t){return ct(ht,(function(e,n,r){return e[r]=ct(n,t,{}),e}),{})};t((function(t,e,n){return e[3]&&(t[e[3]]=n),t})),t((function(t,e,n){var r=e[2];return t[n]=n,r.forEach((function(e){t[e]=n})),t}));var e="far"in ht;ct(pt,(function(t,n){var r=n[0],i=n[1],a=n[2];return"far"!==i||e||(i="fas"),t[r]={prefix:i,iconName:a},t}),{})};dt();N.styles;function mt(t,e,n){if(t&&t[e]&&t[e][n])return{prefix:e,iconName:n,icon:t[e][n]}}function yt(t){var e=t.tag,n=t.attributes,r=void 0===n?{}:n,i=t.children,a=void 0===i?[]:i;return"string"==typeof t?nt(t):"<".concat(e," ").concat(function(t){return Object.keys(t||{}).reduce((function(e,n){return e+"".concat(n,'="').concat(nt(t[n]),'" ')}),"").trim()}(r),">").concat(a.map(yt).join(""),"")}var vt=function(t){var e={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return t?t.toLowerCase().split(" ").reduce((function(t,e){var n=e.toLowerCase().split("-"),r=n[0],i=n.slice(1).join("-");if(r&&"h"===i)return t.flipX=!0,t;if(r&&"v"===i)return t.flipY=!0,t;if(i=parseFloat(i),isNaN(i))return t;switch(r){case"grow":t.size=t.size+i;break;case"shrink":t.size=t.size-i;break;case"left":t.x=t.x-i;break;case"right":t.x=t.x+i;break;case"up":t.y=t.y-i;break;case"down":t.y=t.y+i;break;case"rotate":t.rotate=t.rotate+i}return t}),e):e};function gt(t){this.name="MissingIcon",this.message=t||"Icon unavailable",this.stack=(new Error).stack}gt.prototype=Object.create(Error.prototype),gt.prototype.constructor=gt;var _t={fill:"currentColor"},bt={attributeType:"XML",repeatCount:"indefinite",dur:"2s"},wt={tag:"path",attributes:l({},_t,{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})},xt=l({},bt,{attributeName:"opacity"});l({},_t,{cx:"256",cy:"364",r:"28"}),l({},bt,{attributeName:"r",values:"28;14;28;28;14;28;"}),l({},xt,{values:"1;0;1;1;0;1;"}),l({},_t,{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),l({},xt,{values:"1;0;0;0;0;1;"}),l({},_t,{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),l({},xt,{values:"0;0;1;1;0;0;"}),N.styles;function kt(t){var e=t[0],n=t[1],r=u(t.slice(4),1)[0];return{found:!0,width:e,height:n,icon:Array.isArray(r)?{tag:"g",attributes:{class:"".concat(C.familyPrefix,"-").concat(E.GROUP)},children:[{tag:"path",attributes:{class:"".concat(C.familyPrefix,"-").concat(E.SECONDARY),fill:"currentColor",d:r[0]}},{tag:"path",attributes:{class:"".concat(C.familyPrefix,"-").concat(E.PRIMARY),fill:"currentColor",d:r[1]}}]}:{tag:"path",attributes:{fill:"currentColor",d:r}}}}N.styles;var Et='svg:not(:root).svg-inline--fa {\n overflow: visible;\n}\n\n.svg-inline--fa {\n display: inline-block;\n font-size: inherit;\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n}\n.svg-inline--fa.fa-lg {\n vertical-align: -0.225em;\n}\n.svg-inline--fa.fa-w-1 {\n width: 0.0625em;\n}\n.svg-inline--fa.fa-w-2 {\n width: 0.125em;\n}\n.svg-inline--fa.fa-w-3 {\n width: 0.1875em;\n}\n.svg-inline--fa.fa-w-4 {\n width: 0.25em;\n}\n.svg-inline--fa.fa-w-5 {\n width: 0.3125em;\n}\n.svg-inline--fa.fa-w-6 {\n width: 0.375em;\n}\n.svg-inline--fa.fa-w-7 {\n width: 0.4375em;\n}\n.svg-inline--fa.fa-w-8 {\n width: 0.5em;\n}\n.svg-inline--fa.fa-w-9 {\n width: 0.5625em;\n}\n.svg-inline--fa.fa-w-10 {\n width: 0.625em;\n}\n.svg-inline--fa.fa-w-11 {\n width: 0.6875em;\n}\n.svg-inline--fa.fa-w-12 {\n width: 0.75em;\n}\n.svg-inline--fa.fa-w-13 {\n width: 0.8125em;\n}\n.svg-inline--fa.fa-w-14 {\n width: 0.875em;\n}\n.svg-inline--fa.fa-w-15 {\n width: 0.9375em;\n}\n.svg-inline--fa.fa-w-16 {\n width: 1em;\n}\n.svg-inline--fa.fa-w-17 {\n width: 1.0625em;\n}\n.svg-inline--fa.fa-w-18 {\n width: 1.125em;\n}\n.svg-inline--fa.fa-w-19 {\n width: 1.1875em;\n}\n.svg-inline--fa.fa-w-20 {\n width: 1.25em;\n}\n.svg-inline--fa.fa-pull-left {\n margin-right: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-pull-right {\n margin-left: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-border {\n height: 1.5em;\n}\n.svg-inline--fa.fa-li {\n width: 2em;\n}\n.svg-inline--fa.fa-fw {\n width: 1.25em;\n}\n\n.fa-layers svg.svg-inline--fa {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.fa-layers {\n display: inline-block;\n height: 1em;\n position: relative;\n text-align: center;\n vertical-align: -0.125em;\n width: 1em;\n}\n.fa-layers svg.svg-inline--fa {\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter, .fa-layers-text {\n display: inline-block;\n position: absolute;\n text-align: center;\n}\n\n.fa-layers-text {\n left: 50%;\n top: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter {\n background-color: #ff253a;\n border-radius: 1em;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n color: #fff;\n height: 1.5em;\n line-height: 1;\n max-width: 5em;\n min-width: 1.5em;\n overflow: hidden;\n padding: 0.25em;\n right: 0;\n text-overflow: ellipsis;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-bottom-right {\n bottom: 0;\n right: 0;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom right;\n transform-origin: bottom right;\n}\n\n.fa-layers-bottom-left {\n bottom: 0;\n left: 0;\n right: auto;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom left;\n transform-origin: bottom left;\n}\n\n.fa-layers-top-right {\n right: 0;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-top-left {\n left: 0;\n right: auto;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n}\n\n.fa-lg {\n font-size: 1.3333333333em;\n line-height: 0.75em;\n vertical-align: -0.0667em;\n}\n\n.fa-xs {\n font-size: 0.75em;\n}\n\n.fa-sm {\n font-size: 0.875em;\n}\n\n.fa-1x {\n font-size: 1em;\n}\n\n.fa-2x {\n font-size: 2em;\n}\n\n.fa-3x {\n font-size: 3em;\n}\n\n.fa-4x {\n font-size: 4em;\n}\n\n.fa-5x {\n font-size: 5em;\n}\n\n.fa-6x {\n font-size: 6em;\n}\n\n.fa-7x {\n font-size: 7em;\n}\n\n.fa-8x {\n font-size: 8em;\n}\n\n.fa-9x {\n font-size: 9em;\n}\n\n.fa-10x {\n font-size: 10em;\n}\n\n.fa-fw {\n text-align: center;\n width: 1.25em;\n}\n\n.fa-ul {\n list-style-type: none;\n margin-left: 2.5em;\n padding-left: 0;\n}\n.fa-ul > li {\n position: relative;\n}\n\n.fa-li {\n left: -2em;\n position: absolute;\n text-align: center;\n width: 2em;\n line-height: inherit;\n}\n\n.fa-border {\n border: solid 0.08em #eee;\n border-radius: 0.1em;\n padding: 0.2em 0.25em 0.15em;\n}\n\n.fa-pull-left {\n float: left;\n}\n\n.fa-pull-right {\n float: right;\n}\n\n.fa.fa-pull-left,\n.fas.fa-pull-left,\n.far.fa-pull-left,\n.fal.fa-pull-left,\n.fab.fa-pull-left {\n margin-right: 0.3em;\n}\n.fa.fa-pull-right,\n.fas.fa-pull-right,\n.far.fa-pull-right,\n.fal.fa-pull-right,\n.fab.fa-pull-right {\n margin-left: 0.3em;\n}\n\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n.fa-rotate-90 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";\n -webkit-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";\n -webkit-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";\n -webkit-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(-1, -1);\n transform: scale(-1, -1);\n}\n\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical,\n:root .fa-flip-both {\n -webkit-filter: none;\n filter: none;\n}\n\n.fa-stack {\n display: inline-block;\n height: 2em;\n position: relative;\n width: 2.5em;\n}\n\n.fa-stack-1x,\n.fa-stack-2x {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.svg-inline--fa.fa-stack-1x {\n height: 1em;\n width: 1.25em;\n}\n.svg-inline--fa.fa-stack-2x {\n height: 2em;\n width: 2.5em;\n}\n\n.fa-inverse {\n color: #fff;\n}\n\n.sr-only {\n border: 0;\n clip: rect(0, 0, 0, 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto;\n}\n\n.svg-inline--fa .fa-primary {\n fill: var(--fa-primary-color, currentColor);\n opacity: 1;\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa .fa-secondary {\n fill: var(--fa-secondary-color, currentColor);\n opacity: 0.4;\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-primary {\n opacity: 0.4;\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\n opacity: 1;\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa mask .fa-primary,\n.svg-inline--fa mask .fa-secondary {\n fill: black;\n}\n\n.fad.fa-inverse {\n color: #fff;\n}';function Tt(){var t=_,e=b,n=C.familyPrefix,r=C.replacementClass,i=Et;if(n!==t||r!==e){var a=new RegExp("\\.".concat(t,"\\-"),"g"),o=new RegExp("\\--".concat(t,"\\-"),"g"),l=new RegExp("\\.".concat(e),"g");i=i.replace(a,".".concat(n,"-")).replace(o,"--".concat(n,"-")).replace(l,".".concat(r))}return i}function St(){C.autoAddCss&&!Ot&&(J(Tt()),Ot=!0)}function Ct(t,e){return Object.defineProperty(t,"abstract",{get:e}),Object.defineProperty(t,"html",{get:function(){return t.abstract.map((function(t){return yt(t)}))}}),Object.defineProperty(t,"node",{get:function(){if(g){var e=y.createElement("div");return e.innerHTML=t.html,e.children}}}),t}function Mt(t){var e=t.prefix,n=void 0===e?"fa":e,r=t.iconName;if(r)return mt(Pt.definitions,n,r)||mt(N.styles,n,r)}var Nt,Pt=new(function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.definitions={}}var e,n,r;return e=t,(n=[{key:"add",value:function(){for(var t=this,e=arguments.length,n=new Array(e),r=0;r1&&void 0!==arguments[1]?arguments[1]:{},n=e.transform,r=void 0===n?Z:n,i=e.symbol,a=void 0!==i&&i,o=e.mask,u=void 0===o?null:o,s=e.title,c=void 0===s?null:s,f=e.classes,h=void 0===f?[]:f,p=e.attributes,d=void 0===p?{}:p,m=e.styles,y=void 0===m?{}:m;if(t){var v=t.prefix,g=t.iconName,_=t.icon;return Ct(l({type:"icon"},t),(function(){return St(),C.autoA11y&&(c?d["aria-labelledby"]="".concat(C.replacementClass,"-title-").concat(et()):(d["aria-hidden"]="true",d.focusable="false")),ut({icons:{main:kt(_),mask:u?kt(u.icon):{found:!1,width:null,height:null,icon:{}}},prefix:v,iconName:g,transform:l({},Z,r),symbol:a,title:c,extra:{attributes:d,styles:y,classes:h}})}))}},function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=(t||{}).icon?t:Mt(t||{}),r=e.mask;return r&&(r=(r||{}).icon?r:Mt(r||{})),Nt(n,l({},e,{mask:r}))})}).call(this,n(10),n(65).setImmediate)},,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,n){"use strict";
2
2
  /*
3
3
  object-assign
4
4
  (c) Sindre Sorhus
5
5
  @license MIT
6
- */var r=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;function o(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}t.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},n=0;n<10;n++)e["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(t){r[t]=t})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var n,l,u=o(t),s=1;s<arguments.length;s++){for(var c in n=Object(arguments[s]))i.call(n,c)&&(u[c]=n[c]);if(r){l=r(n);for(var f=0;f<l.length;f++)a.call(n,l[f])&&(u[l[f]]=n[l[f]])}}return u}},function(t,e){t.exports=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}},,,,,,,,,,,,,,function(t,e,n){"use strict";
6
+ */var r=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;function o(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}t.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},n=0;n<10;n++)e["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(t){r[t]=t})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var n,l,u=o(t),s=1;s<arguments.length;s++){for(var c in n=Object(arguments[s]))i.call(n,c)&&(u[c]=n[c]);if(r){l=r(n);for(var f=0;f<l.length;f++)a.call(n,l[f])&&(u[l[f]]=n[l[f]])}}return u}},function(t,e,n){"use strict";!function t(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE){0;try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(t){console.error(t)}}}(),t.exports=n(58)},function(t,e){t.exports=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}},function(t,e){t.exports=function(t,e){if(null==t)return{};var n,r,i={},a=Object.keys(t);for(r=0;r<a.length;r++)n=a[r],e.indexOf(n)>=0||(i[n]=t[n]);return i}},function(t,e,n){"use strict";var r=n(70),i={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},o={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function u(t){return r.isMemo(t)?o:l[t.$$typeof]||i}l[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0};var s=Object.defineProperty,c=Object.getOwnPropertyNames,f=Object.getOwnPropertySymbols,h=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,d=Object.prototype;t.exports=function t(e,n,r){if("string"!=typeof n){if(d){var i=p(n);i&&i!==d&&t(e,i,r)}var o=c(n);f&&(o=o.concat(f(n)));for(var l=u(e),m=u(n),y=0;y<o.length;++y){var v=o[y];if(!(a[v]||r&&r[v]||m&&m[v]||l&&l[v])){var g=h(n,v);try{s(e,v,g)}catch(t){}}}return e}return e}},,,,,,,,,,,,,,function(t,e,n){"use strict";
7
7
  /** @license React v16.10.0
8
8
  * react.production.min.js
9
9
  *
@@ -11,7 +11,7 @@ object-assign
11
11
  *
12
12
  * This source code is licensed under the MIT license found in the
13
13
  * LICENSE file in the root directory of this source tree.
14
- */var r=n(40),i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,o=i?Symbol.for("react.portal"):60106,l=i?Symbol.for("react.fragment"):60107,u=i?Symbol.for("react.strict_mode"):60108,s=i?Symbol.for("react.profiler"):60114,c=i?Symbol.for("react.provider"):60109,f=i?Symbol.for("react.context"):60110,h=i?Symbol.for("react.forward_ref"):60112,p=i?Symbol.for("react.suspense"):60113,d=i?Symbol.for("react.suspense_list"):60120,m=i?Symbol.for("react.memo"):60115,y=i?Symbol.for("react.lazy"):60116;i&&Symbol.for("react.fundamental"),i&&Symbol.for("react.responder"),i&&Symbol.for("react.scope");var v="function"==typeof Symbol&&Symbol.iterator;function g(t){for(var e=t.message,n="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r<arguments.length;r++)n+="&args[]="+encodeURIComponent(arguments[r]);return t.message="Minified React error #"+e+"; visit "+n+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings. ",t}var _={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b={};function w(t,e,n){this.props=t,this.context=e,this.refs=b,this.updater=n||_}function x(){}function k(t,e,n){this.props=t,this.context=e,this.refs=b,this.updater=n||_}w.prototype.isReactComponent={},w.prototype.setState=function(t,e){if("object"!=typeof t&&"function"!=typeof t&&null!=t)throw g(Error(85));this.updater.enqueueSetState(this,t,e,"setState")},w.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")},x.prototype=w.prototype;var E=k.prototype=new x;E.constructor=k,r(E,w.prototype),E.isPureReactComponent=!0;var T={current:null},S={suspense:null},C={current:null},M=Object.prototype.hasOwnProperty,N={key:!0,ref:!0,__self:!0,__source:!0};function P(t,e,n){var r,i={},o=null,l=null;if(null!=e)for(r in void 0!==e.ref&&(l=e.ref),void 0!==e.key&&(o=""+e.key),e)M.call(e,r)&&!N.hasOwnProperty(r)&&(i[r]=e[r]);var u=arguments.length-2;if(1===u)i.children=n;else if(1<u){for(var s=Array(u),c=0;c<u;c++)s[c]=arguments[c+2];i.children=s}if(t&&t.defaultProps)for(r in u=t.defaultProps)void 0===i[r]&&(i[r]=u[r]);return{$$typeof:a,type:t,key:o,ref:l,props:i,_owner:C.current}}function O(t){return"object"==typeof t&&null!==t&&t.$$typeof===a}var A=/\/+/g,L=[];function F(t,e,n,r){if(L.length){var i=L.pop();return i.result=t,i.keyPrefix=e,i.func=n,i.context=r,i.count=0,i}return{result:t,keyPrefix:e,func:n,context:r,count:0}}function R(t){t.result=null,t.keyPrefix=null,t.func=null,t.context=null,t.count=0,10>L.length&&L.push(t)}function z(t,e,n){return null==t?0:function t(e,n,r,i){var l=typeof e;"undefined"!==l&&"boolean"!==l||(e=null);var u=!1;if(null===e)u=!0;else switch(l){case"string":case"number":u=!0;break;case"object":switch(e.$$typeof){case a:case o:u=!0}}if(u)return r(i,e,""===n?"."+U(e,0):n),1;if(u=0,n=""===n?".":n+":",Array.isArray(e))for(var s=0;s<e.length;s++){var c=n+U(l=e[s],s);u+=t(l,c,r,i)}else if(null===e||"object"!=typeof e?c=null:c="function"==typeof(c=v&&e[v]||e["@@iterator"])?c:null,"function"==typeof c)for(e=c.call(e),s=0;!(l=e.next()).done;)u+=t(l=l.value,c=n+U(l,s++),r,i);else if("object"===l)throw r=""+e,g(Error(31),"[object Object]"===r?"object with keys {"+Object.keys(e).join(", ")+"}":r,"");return u}(t,"",e,n)}function U(t,e){return"object"==typeof t&&null!==t&&null!=t.key?function(t){var e={"=":"=0",":":"=2"};return"$"+(""+t).replace(/[=:]/g,(function(t){return e[t]}))}(t.key):e.toString(36)}function I(t,e){t.func.call(t.context,e,t.count++)}function D(t,e,n){var r=t.result,i=t.keyPrefix;t=t.func.call(t.context,e,t.count++),Array.isArray(t)?j(t,r,n,(function(t){return t})):null!=t&&(O(t)&&(t=function(t,e){return{$$typeof:a,type:t.type,key:e,ref:t.ref,props:t.props,_owner:t._owner}}(t,i+(!t.key||e&&e.key===t.key?"":(""+t.key).replace(A,"$&/")+"/")+n)),r.push(t))}function j(t,e,n,r,i){var a="";null!=n&&(a=(""+n).replace(A,"$&/")+"/"),z(t,D,e=F(e,a,r,i)),R(e)}function H(){var t=T.current;if(null===t)throw g(Error(321));return t}var B={Children:{map:function(t,e,n){if(null==t)return t;var r=[];return j(t,r,null,e,n),r},forEach:function(t,e,n){if(null==t)return t;z(t,I,e=F(null,null,e,n)),R(e)},count:function(t){return z(t,(function(){return null}),null)},toArray:function(t){var e=[];return j(t,e,null,(function(t){return t})),e},only:function(t){if(!O(t))throw g(Error(143));return t}},createRef:function(){return{current:null}},Component:w,PureComponent:k,createContext:function(t,e){return void 0===e&&(e=null),(t={$$typeof:f,_calculateChangedBits:e,_currentValue:t,_currentValue2:t,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:c,_context:t},t.Consumer=t},forwardRef:function(t){return{$$typeof:h,render:t}},lazy:function(t){return{$$typeof:y,_ctor:t,_status:-1,_result:null}},memo:function(t,e){return{$$typeof:m,type:t,compare:void 0===e?null:e}},useCallback:function(t,e){return H().useCallback(t,e)},useContext:function(t,e){return H().useContext(t,e)},useEffect:function(t,e){return H().useEffect(t,e)},useImperativeHandle:function(t,e,n){return H().useImperativeHandle(t,e,n)},useDebugValue:function(){},useLayoutEffect:function(t,e){return H().useLayoutEffect(t,e)},useMemo:function(t,e){return H().useMemo(t,e)},useReducer:function(t,e,n){return H().useReducer(t,e,n)},useRef:function(t){return H().useRef(t)},useState:function(t){return H().useState(t)},Fragment:l,Profiler:s,StrictMode:u,Suspense:p,unstable_SuspenseList:d,createElement:P,cloneElement:function(t,e,n){if(null==t)throw g(Error(267),t);var i=r({},t.props),o=t.key,l=t.ref,u=t._owner;if(null!=e){if(void 0!==e.ref&&(l=e.ref,u=C.current),void 0!==e.key&&(o=""+e.key),t.type&&t.type.defaultProps)var s=t.type.defaultProps;for(c in e)M.call(e,c)&&!N.hasOwnProperty(c)&&(i[c]=void 0===e[c]&&void 0!==s?s[c]:e[c])}var c=arguments.length-2;if(1===c)i.children=n;else if(1<c){s=Array(c);for(var f=0;f<c;f++)s[f]=arguments[f+2];i.children=s}return{$$typeof:a,type:t.type,key:o,ref:l,props:i,_owner:u}},createFactory:function(t){var e=P.bind(null,t);return e.type=t,e},isValidElement:O,version:"16.10.0",unstable_withSuspenseConfig:function(t,e){var n=S.suspense;S.suspense=void 0===e?null:e;try{t()}finally{S.suspense=n}},__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentDispatcher:T,ReactCurrentBatchConfig:S,ReactCurrentOwner:C,IsSomeRendererActing:{current:!1},assign:r}},W={default:B},Y=W&&B||W;t.exports=Y.default||Y},function(t,e,n){"use strict";
14
+ */var r=n(39),i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,o=i?Symbol.for("react.portal"):60106,l=i?Symbol.for("react.fragment"):60107,u=i?Symbol.for("react.strict_mode"):60108,s=i?Symbol.for("react.profiler"):60114,c=i?Symbol.for("react.provider"):60109,f=i?Symbol.for("react.context"):60110,h=i?Symbol.for("react.forward_ref"):60112,p=i?Symbol.for("react.suspense"):60113,d=i?Symbol.for("react.suspense_list"):60120,m=i?Symbol.for("react.memo"):60115,y=i?Symbol.for("react.lazy"):60116;i&&Symbol.for("react.fundamental"),i&&Symbol.for("react.responder"),i&&Symbol.for("react.scope");var v="function"==typeof Symbol&&Symbol.iterator;function g(t){for(var e=t.message,n="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r<arguments.length;r++)n+="&args[]="+encodeURIComponent(arguments[r]);return t.message="Minified React error #"+e+"; visit "+n+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings. ",t}var _={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b={};function w(t,e,n){this.props=t,this.context=e,this.refs=b,this.updater=n||_}function x(){}function k(t,e,n){this.props=t,this.context=e,this.refs=b,this.updater=n||_}w.prototype.isReactComponent={},w.prototype.setState=function(t,e){if("object"!=typeof t&&"function"!=typeof t&&null!=t)throw g(Error(85));this.updater.enqueueSetState(this,t,e,"setState")},w.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")},x.prototype=w.prototype;var E=k.prototype=new x;E.constructor=k,r(E,w.prototype),E.isPureReactComponent=!0;var T={current:null},S={suspense:null},C={current:null},M=Object.prototype.hasOwnProperty,N={key:!0,ref:!0,__self:!0,__source:!0};function P(t,e,n){var r,i={},o=null,l=null;if(null!=e)for(r in void 0!==e.ref&&(l=e.ref),void 0!==e.key&&(o=""+e.key),e)M.call(e,r)&&!N.hasOwnProperty(r)&&(i[r]=e[r]);var u=arguments.length-2;if(1===u)i.children=n;else if(1<u){for(var s=Array(u),c=0;c<u;c++)s[c]=arguments[c+2];i.children=s}if(t&&t.defaultProps)for(r in u=t.defaultProps)void 0===i[r]&&(i[r]=u[r]);return{$$typeof:a,type:t,key:o,ref:l,props:i,_owner:C.current}}function O(t){return"object"==typeof t&&null!==t&&t.$$typeof===a}var A=/\/+/g,F=[];function L(t,e,n,r){if(F.length){var i=F.pop();return i.result=t,i.keyPrefix=e,i.func=n,i.context=r,i.count=0,i}return{result:t,keyPrefix:e,func:n,context:r,count:0}}function R(t){t.result=null,t.keyPrefix=null,t.func=null,t.context=null,t.count=0,10>F.length&&F.push(t)}function z(t,e,n){return null==t?0:function t(e,n,r,i){var l=typeof e;"undefined"!==l&&"boolean"!==l||(e=null);var u=!1;if(null===e)u=!0;else switch(l){case"string":case"number":u=!0;break;case"object":switch(e.$$typeof){case a:case o:u=!0}}if(u)return r(i,e,""===n?"."+j(e,0):n),1;if(u=0,n=""===n?".":n+":",Array.isArray(e))for(var s=0;s<e.length;s++){var c=n+j(l=e[s],s);u+=t(l,c,r,i)}else if(null===e||"object"!=typeof e?c=null:c="function"==typeof(c=v&&e[v]||e["@@iterator"])?c:null,"function"==typeof c)for(e=c.call(e),s=0;!(l=e.next()).done;)u+=t(l=l.value,c=n+j(l,s++),r,i);else if("object"===l)throw r=""+e,g(Error(31),"[object Object]"===r?"object with keys {"+Object.keys(e).join(", ")+"}":r,"");return u}(t,"",e,n)}function j(t,e){return"object"==typeof t&&null!==t&&null!=t.key?function(t){var e={"=":"=0",":":"=2"};return"$"+(""+t).replace(/[=:]/g,(function(t){return e[t]}))}(t.key):e.toString(36)}function I(t,e){t.func.call(t.context,e,t.count++)}function U(t,e,n){var r=t.result,i=t.keyPrefix;t=t.func.call(t.context,e,t.count++),Array.isArray(t)?D(t,r,n,(function(t){return t})):null!=t&&(O(t)&&(t=function(t,e){return{$$typeof:a,type:t.type,key:e,ref:t.ref,props:t.props,_owner:t._owner}}(t,i+(!t.key||e&&e.key===t.key?"":(""+t.key).replace(A,"$&/")+"/")+n)),r.push(t))}function D(t,e,n,r,i){var a="";null!=n&&(a=(""+n).replace(A,"$&/")+"/"),z(t,U,e=L(e,a,r,i)),R(e)}function H(){var t=T.current;if(null===t)throw g(Error(321));return t}var $={Children:{map:function(t,e,n){if(null==t)return t;var r=[];return D(t,r,null,e,n),r},forEach:function(t,e,n){if(null==t)return t;z(t,I,e=L(null,null,e,n)),R(e)},count:function(t){return z(t,(function(){return null}),null)},toArray:function(t){var e=[];return D(t,e,null,(function(t){return t})),e},only:function(t){if(!O(t))throw g(Error(143));return t}},createRef:function(){return{current:null}},Component:w,PureComponent:k,createContext:function(t,e){return void 0===e&&(e=null),(t={$$typeof:f,_calculateChangedBits:e,_currentValue:t,_currentValue2:t,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:c,_context:t},t.Consumer=t},forwardRef:function(t){return{$$typeof:h,render:t}},lazy:function(t){return{$$typeof:y,_ctor:t,_status:-1,_result:null}},memo:function(t,e){return{$$typeof:m,type:t,compare:void 0===e?null:e}},useCallback:function(t,e){return H().useCallback(t,e)},useContext:function(t,e){return H().useContext(t,e)},useEffect:function(t,e){return H().useEffect(t,e)},useImperativeHandle:function(t,e,n){return H().useImperativeHandle(t,e,n)},useDebugValue:function(){},useLayoutEffect:function(t,e){return H().useLayoutEffect(t,e)},useMemo:function(t,e){return H().useMemo(t,e)},useReducer:function(t,e,n){return H().useReducer(t,e,n)},useRef:function(t){return H().useRef(t)},useState:function(t){return H().useState(t)},Fragment:l,Profiler:s,StrictMode:u,Suspense:p,unstable_SuspenseList:d,createElement:P,cloneElement:function(t,e,n){if(null==t)throw g(Error(267),t);var i=r({},t.props),o=t.key,l=t.ref,u=t._owner;if(null!=e){if(void 0!==e.ref&&(l=e.ref,u=C.current),void 0!==e.key&&(o=""+e.key),t.type&&t.type.defaultProps)var s=t.type.defaultProps;for(c in e)M.call(e,c)&&!N.hasOwnProperty(c)&&(i[c]=void 0===e[c]&&void 0!==s?s[c]:e[c])}var c=arguments.length-2;if(1===c)i.children=n;else if(1<c){s=Array(c);for(var f=0;f<c;f++)s[f]=arguments[f+2];i.children=s}return{$$typeof:a,type:t.type,key:o,ref:l,props:i,_owner:u}},createFactory:function(t){var e=P.bind(null,t);return e.type=t,e},isValidElement:O,version:"16.10.0",unstable_withSuspenseConfig:function(t,e){var n=S.suspense;S.suspense=void 0===e?null:e;try{t()}finally{S.suspense=n}},__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentDispatcher:T,ReactCurrentBatchConfig:S,ReactCurrentOwner:C,IsSomeRendererActing:{current:!1},assign:r}},W={default:$},B=W&&$||W;t.exports=B.default||B},function(t,e,n){"use strict";
15
15
  /** @license React v16.10.0
16
16
  * react-dom.production.min.js
17
17
  *
@@ -19,7 +19,7 @@ object-assign
19
19
  *
20
20
  * This source code is licensed under the MIT license found in the
21
21
  * LICENSE file in the root directory of this source tree.
22
- */var r=n(0),i=n(40),a=n(57);function o(t){for(var e=t.message,n="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r
22
+ */var r=n(0),i=n(39),a=n(59);function o(t){for(var e=t.message,n="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r
23
23
  /** @license React v0.16.0
24
24
  * scheduler.production.min.js
25
25
  *
@@ -27,4 +27,12 @@ object-assign
27
27
  *
28
28
  * This source code is licensed under the MIT license found in the
29
29
  * LICENSE file in the root directory of this source tree.
30
- */var r,i,a,o,l;if(Object.defineProperty(e,"__esModule",{value:!0}),"undefined"==typeof window||"function"!=typeof MessageChannel){var u=null,s=null,c=function(){if(null!==u)try{var t=e.unstable_now();u(!0,t),u=null}catch(t){throw setTimeout(c,0),t}},f=Date.now();e.unstable_now=function(){return Date.now()-f},r=function(t){null!==u?setTimeout(r,0,t):(u=t,setTimeout(c,0))},i=function(t,e){s=setTimeout(t,e)},a=function(){clearTimeout(s)},o=function(){return!1},l=e.unstable_forceFrameRate=function(){}}else{var h=window.performance,p=window.Date,d=window.setTimeout,m=window.clearTimeout,y=window.requestAnimationFrame,v=window.cancelAnimationFrame;if("undefined"!=typeof console&&("function"!=typeof y&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),"function"!=typeof v&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")),"object"==typeof h&&"function"==typeof h.now)e.unstable_now=function(){return h.now()};else{var g=p.now();e.unstable_now=function(){return p.now()-g}}var _=!1,b=null,w=-1,x=5,k=0;o=function(){return e.unstable_now()>=k},l=function(){},e.unstable_forceFrameRate=function(t){0>t||125N(o,n))void 0!==u&&0>N(u,o)?(t[r]=u,t[l]=n,r=l):(t[r]=o,t[a]=n,r=a);else{if(!(void 0!==u&&0>N(u,n)))break t;t[r]=u,t[l]=n,r=l}}}return e}return null}function N(t,e){var n=t.sortIndex-e.sortIndex;return 0!==n?n:t.id-e.id}var P=[],O=[],A=1,L=null,F=3,R=!1,z=!1,U=!1;function I(t){for(var e=C(O);null!==e;){if(null===e.callback)M(O);else{if(!(e.startTime<=t))break;M(O),e.sortIndex=e.expirationTime,S(P,e)}e=C(O)}}function D(t){if(U=!1,I(t),!z)if(null!==C(P))z=!0,r(j);else{var e=C(O);null!==e&&i(D,e.startTime-t)}}function j(t,n){z=!1,U&&(U=!1,a()),R=!0;var r=F;try{for(I(n),L=C(P);null!==L&&(!(L.expirationTime>n)||t&&!o());){var l=L.callback;if(null!==l){L.callback=null,F=L.priorityLevel;var u=l(L.expirationTime<=n);n=e.unstable_now(),"function"==typeof u?L.callback=u:L===C(P)&&M(P),I(n)}else M(P);L=C(P)}if(null!==L)var s=!0;else{var c=C(O);null!==c&&i(D,c.startTime-n),s=!1}return s}finally{L=null,F=r,R=!1}}function H(t){switch(t){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var B=l;e.unstable_ImmediatePriority=1,e.unstable_UserBlockingPriority=2,e.unstable_NormalPriority=3,e.unstable_IdlePriority=5,e.unstable_LowPriority=4,e.unstable_runWithPriority=function(t,e){switch(t){case 1:case 2:case 3:case 4:case 5:break;default:t=3}var n=F;F=t;try{return e()}finally{F=n}},e.unstable_next=function(t){switch(F){case 1:case 2:case 3:var e=3;break;default:e=F}var n=F;F=e;try{return t()}finally{F=n}},e.unstable_scheduleCallback=function(t,n,o){var l=e.unstable_now();if("object"==typeof o&&null!==o){var u=o.delay;u="number"==typeof u&&0l?(t.sortIndex=u,S(O,t),null===C(P)&&t===C(O)&&(U?a():U=!0,i(D,u-l))):(t.sortIndex=o,S(P,t),z||R||(z=!0,r(j))),t},e.unstable_cancelCallback=function(t){t.callback=null},e.unstable_wrapCallback=function(t){var e=F;return function(){var n=F;F=e;try{return t.apply(this,arguments)}finally{F=n}}},e.unstable_getCurrentPriorityLevel=function(){return F},e.unstable_shouldYield=function(){var t=e.unstable_now();I(t);var n=C(P);return n!==L&&null!==L&&null!==n&&null!==n.callback&&n.startTime<=t&&n.expirationTime=0;--a){var o=this.tryEntries[a],l=o.completion;if("root"===o.tryLoc)return i("end");if(o.tryLoc<=this.prev){var u=r.call(o,"catchLoc"),s=r.call(o,"finallyLoc");if(u&&s){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),S(n),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;S(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:M(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),d}},t}(t.exports);try{regeneratorRuntime=r}catch(t){Function("r","regeneratorRuntime = r")(r)}},function(t,e,n){(function(t){var r=void 0!==t&&t||"undefined"!=typeof self&&self||window,i=Function.prototype.apply;function a(t,e){this._id=t,this._clearFn=e}e.setTimeout=function(){return new a(i.call(setTimeout,r,arguments),clearTimeout)},e.setInterval=function(){return new a(i.call(setInterval,r,arguments),clearInterval)},e.clearTimeout=e.clearInterval=function(t){t&&t.close()},a.prototype.unref=a.prototype.ref=function(){},a.prototype.close=function(){this._clearFn.call(r,this._id)},e.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},e.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},e._unrefActive=e.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout((function(){t._onTimeout&&t._onTimeout()}),e))},n(64),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||this&&this.setImmediate,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||this&&this.clearImmediate}).call(this,n(10))},function(t,e,n){(function(t,e){!function(t,n){"use strict";if(!t.setImmediate){var r,i,a,o,l,u=1,s={},c=!1,f=t.document,h=Object.getPrototypeOf&&Object.getPrototypeOf(t);h=h&&h.setTimeout?h:t,"[object process]"==={}.toString.call(t.process)?r=function(t){e.nextTick((function(){d(t)}))}:!function(){if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}}()?t.MessageChannel?((a=new MessageChannel).port1.onmessage=function(t){d(t.data)},r=function(t){a.port2.postMessage(t)}):f&&"onreadystatechange"in f.createElement("script")?(i=f.documentElement,r=function(t){var e=f.createElement("script");e.onreadystatechange=function(){d(t),e.onreadystatechange=null,i.removeChild(e),e=null},i.appendChild(e)}):r=function(t){setTimeout(d,0,t)}:(o="setImmediate$"+Math.random()+"$",l=function(e){e.source===t&&"string"==typeof e.data&&0===e.data.indexOf(o)&&d(+e.data.slice(o.length))},t.addEventListener?t.addEventListener("message",l,!1):t.attachEvent("onmessage",l),r=function(e){t.postMessage(o+e,"*")}),h.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),n=0;n1)for(var n=1;ne?1:t>=e?0:NaN};var c,f,h=(1===(c=s).length&&(f=c,c=function(t,e){return s(f(t),e)}),{left:function(t,e,n,r){for(null==n&&(n=0),null==r&&(r=t.length);n>>1;c(t[i],e)<0?n=i+1:r=i}return n},right:function(t,e,n,r){for(null==n&&(n=0),null==r&&(r=t.length);n>>1;c(t[i],e)>0?r=i:n=i+1}return n}}),p=h.right;var d=function(t,e){var n,r,i,a=t.length,o=-1;if(null==e){for(;++o=n)for(r=i=n;++on&&(r=n),i=n)for(r=i=n;++on&&(r=n),i=b?h*=10:d>=w?h*=5:d>=x&&(h*=2),g=sv;)g.pop(),--k;var E,T=new Array(k+1);for(i=0;i<=k;++i)(E=T[i]=[]).x0=i>0?g[i-1]:y,E.x1=i=n)for(r=n;++ar&&(r=n)}else for(;++a=n)for(r=n;++ar&&(r=n);return r};var S=Array.prototype.slice,C=function(t){return t},M=1,N=2,P=3,O=4,A=1e-6;function L(t){return"translate("+(t+.5)+",0)"}function F(t){return"translate(0,"+(t+.5)+")"}function R(t){return function(e){return+t(e)}}function z(t){var e=Math.max(0,t.bandwidth()-1)/2;return t.round()&&(e=Math.round(e)),function(n){return+t(n)+e}}function U(){return!this.__axis}function I(t,e){var n=[],r=null,i=null,a=6,o=6,l=3,u=t===M||t===O?-1:1,s=t===O||t===N?"x":"y",c=t===M||t===P?L:F;function f(f){var h=null==r?e.ticks?e.ticks.apply(e,n):e.domain():r,p=null==i?e.tickFormat?e.tickFormat.apply(e,n):C:i,d=Math.max(a,0)+l,m=e.range(),y=+m[0]+.5,v=+m[m.length-1]+.5,g=(e.bandwidth?z:R)(e.copy()),_=f.selection?f.selection():f,b=_.selectAll(".domain").data([null]),w=_.selectAll(".tick").data(h,e).order(),x=w.exit(),k=w.enter().append("g").attr("class","tick"),E=w.select("line"),T=w.select("text");b=b.merge(b.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),w=w.merge(k),E=E.merge(k.append("line").attr("stroke","currentColor").attr(s+"2",u*a)),T=T.merge(k.append("text").attr("fill","currentColor").attr(s,u*d).attr("dy",t===M?"0em":t===P?"0.71em":"0.32em")),f!==_&&(b=b.transition(f),w=w.transition(f),E=E.transition(f),T=T.transition(f),x=x.transition(f).attr("opacity",A).attr("transform",(function(t){return isFinite(t=g(t))?c(t):this.getAttribute("transform")})),k.attr("opacity",A).attr("transform",(function(t){var e=this.parentNode.__axis;return c(e&&isFinite(e=e(t))?e:g(t))}))),x.remove(),b.attr("d",t===O||t==N?o?"M"+u*o+","+y+"H0.5V"+v+"H"+u*o:"M0.5,"+y+"V"+v:o?"M"+y+","+u*o+"V0.5H"+v+"V"+u*o:"M"+y+",0.5H"+v),w.attr("opacity",1).attr("transform",(function(t){return c(g(t))})),E.attr(s+"2",u*a),T.attr(s,u*d).text(p),_.filter(U).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===N?"start":t===O?"end":"middle"),_.each((function(){this.__axis=g}))}return f.scale=function(t){return arguments.length?(e=t,f):e},f.ticks=function(){return n=S.call(arguments),f},f.tickArguments=function(t){return arguments.length?(n=null==t?[]:S.call(t),f):n.slice()},f.tickValues=function(t){return arguments.length?(r=null==t?null:S.call(t),f):r&&r.slice()},f.tickFormat=function(t){return arguments.length?(i=t,f):i},f.tickSize=function(t){return arguments.length?(a=o=+t,f):a},f.tickSizeInner=function(t){return arguments.length?(a=+t,f):a},f.tickSizeOuter=function(t){return arguments.length?(o=+t,f):o},f.tickPadding=function(t){return arguments.length?(l=+t,f):l},f}function D(t){return I(P,t)}function j(t){return I(O,t)}var H={value:function(){}};function B(){for(var t,e=0,n=arguments.length,r={};e=0&&(n=t.slice(r+1),t=t.slice(0,r)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:n}}))}function V(t,e){for(var n,r=0,i=t.length;r0)for(var n,r,i=new Array(n),a=0;a=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),Q.hasOwnProperty(e)?{space:Q[e],local:t}:t};function G(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===X&&e.documentElement.namespaceURI===X?e.createElement(t):e.createElementNS(n,t)}}function Z(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}var J=function(t){var e=K(t);return(e.local?Z:G)(e)};function tt(){}var et=function(t){return null==t?tt:function(){return this.querySelector(t)}};function nt(){return[]}var rt=function(t){return null==t?nt:function(){return this.querySelectorAll(t)}},it=function(t){return function(){return this.matches(t)}},at=function(t){return new Array(t.length)};function ot(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}ot.prototype={constructor:ot,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var lt="$";function ut(t,e,n,r,i,a){for(var o,l=0,u=e.length,s=a.length;le?1:t>=e?0:NaN}function ft(t){return function(){this.removeAttribute(t)}}function ht(t){return function(){this.removeAttributeNS(t.space,t.local)}}function pt(t,e){return function(){this.setAttribute(t,e)}}function dt(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function mt(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}}function yt(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}var vt=function(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView};function gt(t){return function(){this.style.removeProperty(t)}}function _t(t,e,n){return function(){this.style.setProperty(t,e,n)}}function bt(t,e,n){return function(){var r=e.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}function wt(t,e){return t.style.getPropertyValue(e)||vt(t).getComputedStyle(t,null).getPropertyValue(e)}function xt(t){return function(){delete this[t]}}function kt(t,e){return function(){this[t]=e}}function Et(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}function Tt(t){return t.trim().split(/^|\s+/)}function St(t){return t.classList||new Ct(t)}function Ct(t){this._node=t,this._names=Tt(t.getAttribute("class")||"")}function Mt(t,e){for(var n=St(t),r=-1,i=e.length;++r=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function Lt(){this.textContent=""}function Ft(t){return function(){this.textContent=t}}function Rt(t){return function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}}function zt(){this.innerHTML=""}function Ut(t){return function(){this.innerHTML=t}}function It(t){return function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}}function Dt(){this.nextSibling&&this.parentNode.appendChild(this)}function jt(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Ht(){return null}function Bt(){var t=this.parentNode;t&&t.removeChild(this)}function Wt(){return this.parentNode.insertBefore(this.cloneNode(!1),this.nextSibling)}function Yt(){return this.parentNode.insertBefore(this.cloneNode(!0),this.nextSibling)}var Vt={},qt=null;"undefined"!=typeof document&&("onmouseenter"in document.documentElement||(Vt={mouseenter:"mouseover",mouseleave:"mouseout"}));function $t(t,e,n){return t=Xt(t,e,n),function(e){var n=e.relatedTarget;n&&(n===this||8&n.compareDocumentPosition(this))||t.call(this,e)}}function Xt(t,e,n){return function(r){var i=qt;qt=r;try{t.call(this,this.__data__,e,n)}finally{qt=i}}}function Qt(t){return t.trim().split(/^|\s+/).map((function(t){var e="",n=t.indexOf(".");return n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}}))}function Kt(t){return function(){var e=this.__on;if(e){for(var n,r=0,i=-1,a=e.length;r=w&&(w=b+1);!(_=v[w])&&++w=0;)(r=i[a])&&(o&&4^r.compareDocumentPosition(o)&&o.parentNode.insertBefore(r,o),o=r);return this},sort:function(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=ct);for(var n=this._groups,r=n.length,i=new Array(r),a=0;a1?this.each((null==e?gt:"function"==typeof e?bt:_t)(t,e,null==n?"":n)):wt(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?xt:"function"==typeof e?Et:kt)(t,e)):this.node()[t]},classed:function(t,e){var n=Tt(t+"");if(arguments.length<2){for(var r=St(this.node()),i=-1,a=n.length;++i>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?new Pe(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?new Pe(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=ye.exec(t))?new Pe(e[1],e[2],e[3],1):(e=ve.exec(t))?new Pe(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=ge.exec(t))?Ce(e[1],e[2],e[3],e[4]):(e=_e.exec(t))?Ce(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=be.exec(t))?Fe(e[1],e[2]/100,e[3]/100,1):(e=we.exec(t))?Fe(e[1],e[2]/100,e[3]/100,e[4]):xe.hasOwnProperty(t)?Se(xe[t]):"transparent"===t?new Pe(NaN,NaN,NaN,0):null}function Se(t){return new Pe(t>>16&255,t>>8&255,255&t,1)}function Ce(t,e,n,r){return r<=0&&(t=e=n=NaN),new Pe(t,e,n,r)}function Me(t){return t instanceof fe||(t=Te(t)),t?new Pe((t=t.rgb()).r,t.g,t.b,t.opacity):new Pe}function Ne(t,e,n,r){return 1===arguments.length?Me(t):new Pe(t,e,n,null==r?1:r)}function Pe(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function Oe(){return"#"+Le(this.r)+Le(this.g)+Le(this.b)}function Ae(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}function Le(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function Fe(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new Ue(t,e,n,r)}function Re(t){if(t instanceof Ue)return new Ue(t.h,t.s,t.l,t.opacity);if(t instanceof fe||(t=Te(t)),!t)return new Ue;if(t instanceof Ue)return t;var e=(t=t.rgb()).r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),a=Math.max(e,n,r),o=NaN,l=a-i,u=(a+i)/2;return l?(o=e===a?(n-r)/l+6*(n0&&u<1?0:o,new Ue(o,l,u,t.opacity)}function ze(t,e,n,r){return 1===arguments.length?Re(t):new Ue(t,e,n,null==r?1:r)}function Ue(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function Ie(t,e,n){return 255*(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)}function De(t,e,n,r,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*n+(1+3*t+3*a-3*o)*r+o*i)/6}se(fe,Te,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:ke,formatHex:ke,formatHsl:function(){return Re(this).formatHsl()},formatRgb:Ee,toString:Ee}),se(Pe,Ne,ce(fe,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new Pe(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new Pe(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Oe,formatHex:Oe,formatRgb:Ae,toString:Ae})),se(Ue,ze,ce(fe,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new Ue(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new Ue(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new Pe(Ie(t>=240?t-240:t+120,i,r),Ie(t,i,r),Ie(t<120?t+240:t-120,i,r),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===t?")":", "+t+")")}}));var je=function(t){return function(){return t}};function He(t,e){return function(n){return t+n*e}}function Be(t,e){var n=e-t;return n?He(t,n>180||n<-180?n-360*Math.round(n/360):n):je(isNaN(t)?e:t)}function We(t){return 1==(t=+t)?Ye:function(e,n){return n-e?function(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}(e,n,t):je(isNaN(e)?n:e)}}function Ye(t,e){var n=e-t;return n?He(t,n):je(isNaN(t)?e:t)}var Ve=function t(e){var n=We(e);function r(t,e){var r=n((t=Ne(t)).r,(e=Ne(e)).r),i=n(t.g,e.g),a=n(t.b,e.b),o=Ye(t.opacity,e.opacity);return function(e){return t.r=r(e),t.g=i(e),t.b=a(e),t.opacity=o(e),t+""}}return r.gamma=t,r}(1);function qe(t){return function(e){var n,r,i=e.length,a=new Array(i),o=new Array(i),l=new Array(i);for(n=0;n=1?(n=1,e-1):Math.floor(n*e),i=t[r],a=t[r+1],o=r>0?t[r-1]:2*i-a,l=ra&&(i=e.slice(a,i),l[o]?l[o]+=i:l[++o]=i),(n=n[0])===(r=r[0])?l[o]?l[o]+=r:l[++o]=r:(l[++o]=null,u.push({i:o,x:Qe(n,r)})),a=Ze.lastIndex;return a180?e+=360:e-t>180&&(t+=360),a.push({i:n.push(i(n)+"rotate(",null,r)-2,x:Qe(t,e)})):e&&n.push(i(n)+"rotate("+e+r)}(a.rotate,o.rotate,l,u),function(t,e,n,a){t!==e?a.push({i:n.push(i(n)+"skewX(",null,r)-2,x:Qe(t,e)}):e&&n.push(i(n)+"skewX("+e+r)}(a.skewX,o.skewX,l,u),function(t,e,n,r,a,o){if(t!==n||e!==r){var l=a.push(i(a)+"scale(",null,",",null,")");o.push({i:l-4,x:Qe(t,n)},{i:l-2,x:Qe(e,r)})}else 1===n&&1===r||a.push(i(a)+"scale("+n+","+r+")")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,l,u),a=o=null,function(t){for(var e,n=-1,r=u.length;++nxn?Math.pow(t,1/3):t/wn+_n}function Cn(t){return t>bn?t*t*t:wn*(t-_n)}function Mn(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Nn(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Pn(t){if(t instanceof An)return new An(t.h,t.c,t.l,t.opacity);if(t instanceof Tn||(t=kn(t)),0===t.a&&0===t.b)return new An(NaN,0=0&&e._call.call(null,t),e=e._next;--qn}()}finally{qn=0,function(){var t,e,n=Yn,r=1/0;for(;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:Yn=e);Vn=t,lr(r)}(),Gn=0}}function or(){var t=Jn.now(),e=t-Kn;e>Qn&&(Zn-=e,Kn=t)}function lr(t){qn||($n&&($n=clearTimeout($n)),t-Gn>24?(t<1/0&&($n=setTimeout(ar,t-Jn.now()-Zn)),Xn&&(Xn=clearInterval(Xn))):(Xn||(Kn=Jn.now(),Xn=setInterval(or,Qn)),qn=1,tr(ar)))}rr.prototype=ir.prototype={constructor:rr,restart:function(t,e,n){if("function"!=typeof t)throw new TypeError("callback is not a function");n=(null==n?er():+n)+(null==e?0:+e),this._next||Vn===this||(Vn?Vn._next=this:Yn=this,Vn=this),this._call=t,this._time=n,lr()},stop:function(){this._call&&(this._call=null,this._time=1/0,lr())}};var ur=function(t,e,n){var r=new rr;return e=null==e?0:+e,r.restart((function(n){r.stop(),t(n+e)}),e,n),r},sr=$("start","end","cancel","interrupt"),cr=[],fr=0,hr=1,pr=2,dr=3,mr=4,yr=5,vr=6,gr=function(t,e,n,r,i,a){var o=t.__transition;if(o){if(n in o)return}else t.__transition={};!function(t,e,n){var r,i=t.__transition;function a(u){var s,c,f,h;if(n.state!==hr)return l();for(s in i)if((h=i[s]).name===n.name){if(h.state===dr)return ur(a);h.state===mr?(h.state=vr,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete i[s]):+sfr)throw new Error("too late; already scheduled");return n}function br(t,e){var n=wr(t,e);if(n.state>dr)throw new Error("too late; already running");return n}function wr(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}var xr=function(t,e){var n,r,i,a=t.__transition,o=!0;if(a){for(i in e=null==e?null:e+"",a)(n=a[i]).name===e?(r=n.state>pr&&n.state=0&&(t=t.slice(0,e)),!t||"start"===t}))}(e)?_r:br;return function(){var o=a(this,t),l=o.on;l!==r&&(i=(r=l).copy()).on(e,n),o.on=i}}var Hr=ie.prototype.constructor;function Br(t){return function(){this.style.removeProperty(t)}}function Wr(t,e,n){var r,i;function a(){var a=e.apply(this,arguments);return a!==i&&(r=(i=a)&&function(t,e,n){return function(r){this.style.setProperty(t,e(r),n)}}(t,a,n)),r}return a._value=e,a}var Yr=0;function Vr(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}function qr(){return++Yr}var $r=ie.prototype;Vr.prototype=function(t){return ie().transition(t)}.prototype={constructor:Vr,select:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=et(t));for(var r=this._groups,i=r.length,a=new Array(i),o=0;oe?1:t>=e?0:NaN};var ei=function(t){return 1===t.length&&(t=function(t){return function(e,n){return ti(t(e),n)}}(t)),{left:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r>>1;t(e[a],n)<0?r=a+1:i=a}return r},right:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r>>1;t(e[a],n)>0?i=a:r=a+1}return r}}}(ti);ei.right,ei.left;var ni=Array.prototype;ni.slice,ni.map,Math.sqrt(50),Math.sqrt(10),Math.sqrt(2);Math.cos,Math.sin,Math.PI,Math.max;Array.prototype.slice;var ri=Math.PI,ii=2*ri,ai=ii-1e-6;function oi(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function li(){return new oi}oi.prototype=li.prototype={constructor:oi,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,n,r){this._+="Q"+ +t+","+ +e+","+(this._x1=+n)+","+(this._y1=+r)},bezierCurveTo:function(t,e,n,r,i,a){this._+="C"+ +t+","+ +e+","+ +n+","+ +r+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,e,n,r,i){t=+t,e=+e,n=+n,r=+r,i=+i;var a=this._x1,o=this._y1,l=n-t,u=r-e,s=a-t,c=o-e,f=s*s+c*c;if(i<0)throw new Error("negative radius: "+i);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(f>1e-6)if(Math.abs(c*l-u*s)>1e-6&&i){var h=n-a,p=r-o,d=l*l+u*u,m=h*h+p*p,y=Math.sqrt(d),v=Math.sqrt(f),g=i*Math.tan((ri-Math.acos((d+f-m)/(2*y*v)))/2),_=g/v,b=g/y;Math.abs(_-1)>1e-6&&(this._+="L"+(t+_*s)+","+(e+_*c)),this._+="A"+i+","+i+",0,0,"+ +(c*h>s*p)+","+(this._x1=t+b*l)+","+(this._y1=e+b*u)}else this._+="L"+(this._x1=t)+","+(this._y1=e);else;},arc:function(t,e,n,r,i,a){t=+t,e=+e,a=!!a;var o=(n=+n)*Math.cos(r),l=n*Math.sin(r),u=t+o,s=e+l,c=1^a,f=a?r-i:i-r;if(n<0)throw new Error("negative radius: "+n);null===this._x1?this._+="M"+u+","+s:(Math.abs(this._x1-u)>1e-6||Math.abs(this._y1-s)>1e-6)&&(this._+="L"+u+","+s),n&&(f<0&&(f=f%ii+ii),f>ai?this._+="A"+n+","+n+",0,1,"+c+","+(t-o)+","+(e-l)+"A"+n+","+n+",0,1,"+c+","+(this._x1=u)+","+(this._y1=s):f>1e-6&&(this._+="A"+n+","+n+",0,"+ +(f>=ri)+","+c+","+(this._x1=t+n*Math.cos(i))+","+(this._y1=e+n*Math.sin(i))))},rect:function(t,e,n,r){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +n+"v"+ +r+"h"+-n+"Z"},toString:function(){return this._}};var ui=li;function si(){}function ci(t,e){var n=new si;if(t instanceof si)t.each((function(t,e){n.set(e,t)}));else if(Array.isArray(t)){var r,i=-1,a=t.length;if(null==e)for(;++ie?1:t>=e?0:NaN};var yi=function(t){return 1===t.length&&(t=function(t){return function(e,n){return mi(t(e),n)}}(t)),{left:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r>>1;t(e[a],n)<0?r=a+1:i=a}return r},right:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r>>1;t(e[a],n)>0?i=a:r=a+1}return r}}}(mi);yi.right,yi.left;var vi=Array.prototype;vi.slice,vi.map,Math.sqrt(50),Math.sqrt(10),Math.sqrt(2);Array.prototype.slice;var gi={},_i={},bi=34,wi=10,xi=13;function ki(t){return new Function("d","return {"+t.map((function(t,e){return JSON.stringify(t)+": d["+e+"]"})).join(",")+"}")}function Ei(t){var e=Object.create(null),n=[];return t.forEach((function(t){for(var r in t)r in e||n.push(e[r]=r)})),n}function Ti(t,e){var n=t+"",r=n.length;return r9999?"+"+Ti(e,6):Ti(e,4))+"-"+Ti(t.getUTCMonth()+1,2)+"-"+Ti(t.getUTCDate(),2)+(a?"T"+Ti(n,2)+":"+Ti(r,2)+":"+Ti(i,2)+"."+Ti(a,3)+"Z":i?"T"+Ti(n,2)+":"+Ti(r,2)+":"+Ti(i,2)+"Z":r||n?"T"+Ti(n,2)+":"+Ti(r,2)+"Z":"")}var Ci=function(t){var e=new RegExp('["'+t+"\n\r]"),n=t.charCodeAt(0);function r(t,e){var r,i=[],a=t.length,o=0,l=0,u=a<=0,s=!1;function c(){if(u)return _i;if(s)return s=!1,gi;var e,r,i=o;if(t.charCodeAt(i)===bi){for(;o++=a?u=!0:(r=t.charCodeAt(o++))===wi?s=!0:r===xi&&(s=!0,t.charCodeAt(o)===wi&&++o),t.slice(i+1,e-1).replace(/""/g,'"')}for(;o=(a=(m+v)/2))?m=a:v=a,(c=n>=(o=(y+g)/2))?y=o:g=o,i=p,!(p=p[f=c<<1|s]))return i[f]=d,t;if(l=+t._x.call(null,p.data),u=+t._y.call(null,p.data),e===l&&n===u)return d.next=p,i?i[f]=d:t._root=d,t;do{i=i?i[f]=new Array(4):t._root=new Array(4),(s=e>=(a=(m+v)/2))?m=a:v=a,(c=n>=(o=(y+g)/2))?y=o:g=o}while((f=c<<1|s)==(h=(u>=o)<<1|l>=a));return i[h]=p,i[f]=d,t}var Ui=function(t,e,n,r,i){this.node=t,this.x0=e,this.y0=n,this.x1=r,this.y1=i};function Ii(t){return t[0]}function Di(t){return t[1]}function ji(t,e,n){var r=new Hi(null==e?Ii:e,null==n?Di:n,NaN,NaN,NaN,NaN);return null==t?r:r.addAll(t)}function Hi(t,e,n,r,i,a){this._x=t,this._y=e,this._x0=n,this._y0=r,this._x1=i,this._y1=a,this._root=void 0}function Bi(t){for(var e={data:t.data},n=e;t=t.next;)n=n.next={data:t.data};return e}var Wi=ji.prototype=Hi.prototype;Wi.copy=function(){var t,e,n=new Hi(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return n;if(!r.length)return n._root=Bi(r),n;for(t=[{source:r,target:n._root=new Array(4)}];r=t.pop();)for(var i=0;i<4;++i)(e=r.source[i])&&(e.length?t.push({source:e,target:r.target[i]=new Array(4)}):r.target[i]=Bi(e));return n},Wi.add=function(t){var e=+this._x.call(null,t),n=+this._y.call(null,t);return zi(this.cover(e,n),e,n,t)},Wi.addAll=function(t){var e,n,r,i,a=t.length,o=new Array(a),l=new Array(a),u=1/0,s=1/0,c=-1/0,f=-1/0;for(n=0;nc&&(c=r),if&&(f=i));if(u>c||s>f)return this;for(this.cover(u,s).cover(c,f),n=0;nt||t>=i||r>e||e>=a;)switch(l=(eh||(a=u.y0)>p||(o=u.x1)=v)<<1|t>=y)&&(u=d[d.length-1],d[d.length-1]=d[d.length-1-s],d[d.length-1-s]=u)}else{var g=t-+this._x.call(null,m.data),_=e-+this._y.call(null,m.data),b=g*g+_*_;if(b=(l=(d+y)/2))?d=l:y=l,(c=o>=(u=(m+v)/2))?m=u:v=u,e=p,!(p=p[f=c<<1|s]))return this;if(!p.length)break;(e[f+1&3]||e[f+2&3]||e[f+3&3])&&(n=e,h=f)}for(;p.data!==t;)if(r=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,r?(i?r.next=i:delete r.next,this):e?(i?e[f]=i:delete e[f],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(n?n[h]=p:this._root=p),this):(this._root=i,this)},Wi.removeAll=function(t){for(var e=0,n=t.length;e1?r[0]+r.slice(2):r,+t.slice(n+1)]},Vi=function(t){return(t=Yi(Math.abs(t)))?t[1]:NaN},qi=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function $i(t){if(!(e=qi.exec(t)))throw new Error("invalid format: "+t);var e;return new Xi({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function Xi(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}$i.prototype=Xi.prototype,Xi.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var Qi,Ki,Gi,Zi,Ji=function(t){t:for(var e,n=t.length,r=1,i=-1;r0){if(!+t[r])break t;i=0}}return i>0?t.slice(0,i)+t.slice(e+1):t},ta=function(t,e){var n=Yi(t,e);if(!n)return t+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")},ea={"%":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.round(t).toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return ta(100*t,e)},r:ta,s:function(t,e){var n=Yi(t,e);if(!n)return t+"";var r=n[0],i=n[1],a=i-(Qi=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,o=r.length;return a===o?r:a>o?r+new Array(a-o+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+new Array(1-a).join("0")+Yi(t,Math.max(0,e+a-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}},na=function(t){return t},ra=Array.prototype.map,ia=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];Ki=function(t){var e,n,r=void 0===t.grouping||void 0===t.thousands?na:(e=ra.call(t.grouping,Number),n=t.thousands+"",function(t,r){for(var i=t.length,a=[],o=0,l=e[0],u=0;i>0&&l>0&&(u+l+1>r&&(l=Math.max(1,r-u)),a.push(t.substring(i-=l,i+l)),!((u+=l+1)>r));)l=e[o=(o+1)%e.length];return a.reverse().join(n)}),i=void 0===t.currency?"":t.currency[0]+"",a=void 0===t.currency?"":t.currency[1]+"",o=void 0===t.decimal?".":t.decimal+"",l=void 0===t.numerals?na:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(ra.call(t.numerals,String)),u=void 0===t.percent?"%":t.percent+"",s=void 0===t.minus?"-":t.minus+"",c=void 0===t.nan?"NaN":t.nan+"";function f(t){var e=(t=$i(t)).fill,n=t.align,f=t.sign,h=t.symbol,p=t.zero,d=t.width,m=t.comma,y=t.precision,v=t.trim,g=t.type;"n"===g?(m=!0,g="g"):ea[g]||(void 0===y&&(y=12),v=!0,g="g"),(p||"0"===e&&"="===n)&&(p=!0,e="0",n="=");var _="$"===h?i:"#"===h&&/[boxX]/.test(g)?"0"+g.toLowerCase():"",b="$"===h?a:/[%p]/.test(g)?u:"",w=ea[g],x=/[defgprs%]/.test(g);function k(t){var i,a,u,h=_,k=b;if("c"===g)k=w(t)+k,t="";else{var E=(t=+t)<0;if(t=isNaN(t)?c:w(Math.abs(t),y),v&&(t=Ji(t)),E&&0==+t&&(E=!1),h=(E?"("===f?f:s:"-"===f||"("===f?"":f)+h,k=("s"===g?ia[8+Qi/3]:"")+k+(E&&"("===f?")":""),x)for(i=-1,a=t.length;++i(u=t.charCodeAt(i))||u>57){k=(46===u?o+t.slice(i+1):t.slice(i))+k,t=t.slice(0,i);break}}m&&!p&&(t=r(t,1/0));var T=h.length+t.length+k.length,S=T>1)+h+t+k+S.slice(T);break;default:t=S+h+t+k}return l(t)}return y=void 0===y?6:/[gprs]/.test(g)?Math.max(1,Math.min(21,y)):Math.max(0,Math.min(20,y)),k.toString=function(){return t+""},k}return{format:f,formatPrefix:function(t,e){var n=f(((t=$i(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(Vi(e)/3))),i=Math.pow(10,-r),a=ia[8+r/3];return function(t){return n(i*t)+a}}}}({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"}),Gi=Ki.format,Zi=Ki.formatPrefix;var aa=function(){return new oa};function oa(){this.reset()}oa.prototype={constructor:oa,reset:function(){this.s=this.t=0},add:function(t){ua(la,t,this.t),ua(this,la.s,this.s),this.s?this.t+=la.t:this.s=la.t},valueOf:function(){return this.s}};var la=new oa;function ua(t,e,n){var r=t.s=e+n,i=r-e,a=r-i;t.t=e-a+(n-i)}var sa=1e-6,ca=1e-12,fa=Math.PI,ha=fa/2,pa=fa/4,da=2*fa,ma=fa/180,ya=Math.abs,va=Math.atan,ga=Math.atan2,_a=Math.cos,ba=(Math.ceil,Math.exp),wa=(Math.floor,Math.log),xa=(Math.pow,Math.sin),ka=Math.sign||function(t){return t>0?1:t<0?-1:0},Ea=Math.sqrt,Ta=Math.tan;function Sa(t){return t>1?0:t<-1?fa:Math.acos(t)}function Ca(t){return t>1?ha:t<-1?-ha:Math.asin(t)}function Ma(){}aa(),aa();function Na(t){var e=t[0],n=t[1],r=_a(n);return[r*_a(e),r*xa(e),xa(n)]}function Pa(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function Oa(t){var e=Ea(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}aa();function Aa(t,e){return[ya(t)>fa?t+Math.round(-t/da)*da:t,e]}Aa.invert=Aa;var La=function(){var t,e=[];return{point:function(e,n){t.push([e,n])},lineStart:function(){e.push(t=[])},lineEnd:Ma,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}},Fa=function(t,e){return ya(t[0]-e[0])=0;--a)i.point((c=s[a])[0],c[1]);else r(h.x,h.p.x,-1,i);h=h.p}s=(h=h.o).z,p=!p}while(!h.v);i.lineEnd()}}};function Ua(t){if(e=t.length){for(var e,n,r=0,i=t[0];++r=0?1:-1,T=E*k,S=T>fa,C=m*w;if(Ia.add(ga(C*E*xa(T),y*x+C*_a(T))),o+=S?k+E*da:k,S^p>=n^_>=n){var M=Pa(Na(h),Na(g));Oa(M);var N=Pa(a,M);Oa(N);var P=(S^k>=0?-1:1)*Ca(N[2]);(r>P||r===P&&(M[0]||M[1]))&&(l+=S^k>=0?1:-1)}}return(o<-sa||oe?1:t>=e?0:NaN};var Ba=function(t){return 1===t.length&&(t=function(t){return function(e,n){return Ha(t(e),n)}}(t)),{left:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r>>1;t(e[a],n)<0?r=a+1:i=a}return r},right:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r>>1;t(e[a],n)>0?i=a:r=a+1}return r}}}(Ha);Ba.right,Ba.left;var Wa=Array.prototype;Wa.slice,Wa.map,Math.sqrt(50),Math.sqrt(10),Math.sqrt(2);var Ya=function(t){for(var e,n,r,i=t.length,a=-1,o=0;++a=0;)for(e=(r=t[i]).length;--e>=0;)n[--o]=r[e];return n};var Va=function(t,e,n,r){return function(i){var a,o,l,u=e(i),s=La(),c=e(s),f=!1,h={point:p,lineStart:m,lineEnd:y,polygonStart:function(){h.point=v,h.lineStart=g,h.lineEnd=_,o=[],a=[]},polygonEnd:function(){h.point=p,h.lineStart=m,h.lineEnd=y,o=Ya(o);var t=ja(a,r);o.length?(f||(i.polygonStart(),f=!0),za(o,$a,t,n,i)):t&&(f||(i.polygonStart(),f=!0),i.lineStart(),n(null,null,1,i),i.lineEnd()),f&&(i.polygonEnd(),f=!1),o=a=null},sphere:function(){i.polygonStart(),i.lineStart(),n(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function p(e,n){t(e,n)&&i.point(e,n)}function d(t,e){u.point(t,e)}function m(){h.point=d,u.lineStart()}function y(){h.point=p,u.lineEnd()}function v(t,e){l.push([t,e]),c.point(t,e)}function g(){c.lineStart(),l=[]}function _(){v(l[0][0],l[0][1]),c.lineEnd();var t,e,n,r,u=c.clean(),h=s.result(),p=h.length;if(l.pop(),a.push(l),l=null,p)if(1&u){if((e=(n=h[0]).length-1)>0){for(f||(i.polygonStart(),f=!0),i.lineStart(),t=0;t1&&2&u&&h.push(h.pop().concat(h.shift())),o.push(h.filter(qa))}return h}};function qa(t){return t.length>1}function $a(t,e){return((t=t.x)[0]<0?t[1]-ha-sa:ha-t[1])-((e=e.x)[0]<0?e[1]-ha-sa:ha-e[1])}Va((function(){return!0}),(function(t){var e,n=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var l=a>0?fa:-fa,u=ya(a-n);ya(u-fa)0?ha:-ha),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(l,r),t.point(a,r),e=0):i!==l&&u>=fa&&(ya(n-i)sa?va((xa(e)*(a=_a(r))*xa(n)-xa(r)*(i=_a(e))*xa(t))/(i*a*o)):(e+r)/2}(n,r,a,o),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(l,r),e=0),t.point(n=a,r=o),i=l},lineEnd:function(){t.lineEnd(),n=r=NaN},clean:function(){return 2-e}}}),(function(t,e,n,r){var i;if(null==t)i=n*ha,r.point(-fa,i),r.point(0,i),r.point(fa,i),r.point(fa,0),r.point(fa,-i),r.point(0,-i),r.point(-fa,-i),r.point(-fa,0),r.point(-fa,i);else if(ya(t[0]-e[0])>sa){var a=t[0]sa&&--i>0);return[t/(.8707+(a=r*r)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),r]};function po(t,e){return[_a(e)*xa(t),xa(e)]}po.invert=to(Ca);function mo(t,e){var n=_a(e),r=1+_a(t)*n;return[n*xa(t)/r,xa(e)/r]}mo.invert=to((function(t){return 2*va(t)}));function yo(t,e){return[wa(Ta((ha+e)/2)),-t]}yo.invert=function(t,e){return[-e,2*va(ba(t))-ha]};function vo(t){var e=0,n=t.children,r=n&&n.length;if(r)for(;--r>=0;)e+=n[r].value;else e=1;t.value=e}function go(t,e){var n,r,i,a,o,l=new xo(t),u=+t.value&&(l.value=t.value),s=[l];for(null==e&&(e=_o);n=s.pop();)if(u&&(n.value=+n.data.value),(i=e(n.data))&&(o=i.length))for(n.children=new Array(o),a=o-1;a>=0;--a)s.push(r=n.children[a]=new xo(i[a])),r.parent=n,r.depth=n.depth+1;return l.eachBefore(wo)}function _o(t){return t.children}function bo(t){t.data=t.data.data}function wo(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function xo(t){this.data=t,this.depth=this.height=0,this.parent=null}xo.prototype=go.prototype={constructor:xo,count:function(){return this.eachAfter(vo)},each:function(t){var e,n,r,i,a=this,o=[a];do{for(e=o.reverse(),o=[];a=e.pop();)if(t(a),n=a.children)for(r=0,i=n.length;r=0;--n)i.push(e[n]);return this},sum:function(t){return this.eachAfter((function(e){for(var n=+t(e.data)||0,r=e.children,i=r&&r.length;--i>=0;)n+=r[i].value;e.value=n}))},sort:function(t){return this.eachBefore((function(e){e.children&&e.children.sort(t)}))},path:function(t){for(var e=this,n=function(t,e){if(t===e)return t;var n=t.ancestors(),r=e.ancestors(),i=null;t=n.pop(),e=r.pop();for(;t===e;)i=t,t=n.pop(),e=r.pop();return i}(e,t),r=[e];e!==n;)e=e.parent,r.push(e);for(var i=r.length;t!==n;)r.splice(i,0,t),t=t.parent;return r},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each((function(e){t.push(e)})),t},leaves:function(){var t=[];return this.eachBefore((function(e){e.children||t.push(e)})),t},links:function(){var t=this,e=[];return t.each((function(n){n!==t&&e.push({source:n.parent,target:n})})),e},copy:function(){return go(this).eachBefore(bo)}};Array.prototype.slice;function ko(t){if("function"!=typeof t)throw new Error;return t}function Eo(){return 0}var To=function(t){return function(){return t}};var So=function(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)},Co=function(t,e,n,r,i){for(var a,o=t.children,l=-1,u=o.length,s=t.value&&(r-e)/t.value;++lh&&(h=l),y=c*c*m,(p=Math.max(h/y,y/f))>d){c-=l;break}d=p}v.push(o={value:c,dice:u1?e:1)},n}(Po);(function t(e){function n(t,n,r,i,a){if((o=t._squarify)&&o.ratio===e)for(var o,l,u,s,c,f=-1,h=o.length,p=t.value;++f1?e:1)},n})(Po);var Lo=function(){return Math.random()},Fo=(function t(e){function n(t,n){return t=null==t?0:+t,n=null==n?1:+n,1===arguments.length?(n=t,t=0):n-=t,function(){return e()*n+t}}return n.source=t,n}(Lo),function t(e){function n(t,n){var r,i;return t=null==t?0:+t,n=null==n?1:+n,function(){var a;if(null!=r)a=r,r=null;else do{r=2*e()-1,a=2*e()-1,i=r*r+a*a}while(!i||i>1);return t+n*a*Math.sqrt(-2*Math.log(i)/i)}}return n.source=t,n}(Lo)),Ro=(function t(e){function n(){var t=Fo.source(e).apply(this,arguments);return function(){return Math.exp(t())}}return n.source=t,n}(Lo),function t(e){function n(t){return function(){for(var n=0,r=0;re?1:t>=e?0:NaN}),Uo=function(t){return 1===t.length&&(t=function(t){return function(e,n){return zo(t(e),n)}}(t)),{left:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r>>1;t(e[a],n)<0?r=a+1:i=a}return r},right:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r>>1;t(e[a],n)>0?i=a:r=a+1}return r}}};var Io=Uo(zo),Do=Io.right,jo=(Io.left,Do);var Ho=Array.prototype,Bo=(Ho.slice,Ho.map,Math.sqrt(50)),Wo=Math.sqrt(10),Yo=Math.sqrt(2),Vo=function(t,e,n){var r,i,a,o,l=-1;if(n=+n,(t=+t)===(e=+e)&&n>0)return[t];if((r=e0)for(t=Math.ceil(t/o),e=Math.floor(e/o),a=new Array(i=Math.ceil(e-t+1));++l=0?(a>=Bo?10:a>=Wo?5:a>=Yo?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=Bo?10:a>=Wo?5:a>=Yo?2:1)}function $o(t,e,n){var r=Math.abs(e-t)/Math.max(0,n),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),a=r/i;return a>=Bo?i*=10:a>=Wo?i*=5:a>=Yo&&(i*=2),er&&(e=n,n=r,r=e),function(t){return Math.max(n,Math.min(r,t))}}function ol(t,e,n){var r=t[0],i=t[1],a=e[0],o=e[1];return i2?ll:ol,i=a=null,f}function f(e){return isNaN(e=+e)?n:(i||(i=r(o.map(t),l,u)))(t(s(e)))}return f.invert=function(n){return s(e((a||(a=r(l,o.map(t),Qe)))(n)))},f.domain=function(t){return arguments.length?(o=Ko.call(t,el),s===rl||(s=al(o)),c()):o.slice()},f.range=function(t){return arguments.length?(l=Go.call(t),c()):l.slice()},f.rangeRound=function(t){return l=Go.call(t),u=on,c()},f.clamp=function(t){return arguments.length?(s=t?al(o):rl,f):s!==rl},f.interpolate=function(t){return arguments.length?(u=t,c()):u},f.unknown=function(t){return arguments.length?(n=t,f):n},function(n,r){return t=n,e=r,c()}}function cl(t,e){return sl()(t,e)}var fl=function(t,e,n,r){var i,a=$o(t,e,n);switch((r=$i(null==r?",f":r)).type){case"s":var o=Math.max(Math.abs(t),Math.abs(e));return null!=r.precision||isNaN(i=function(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Vi(e)/3)))-Vi(Math.abs(t)))}(a,o))||(r.precision=i),Zi(r,o);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(i=function(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,Vi(e)-Vi(t))+1}(a,Math.max(Math.abs(t),Math.abs(e))))||(r.precision=i-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(i=function(t){return Math.max(0,-Vi(Math.abs(t)))}(a))||(r.precision=i-2*("%"===r.type))}return Gi(r)};function hl(t){var e=t.domain;return t.ticks=function(t){var n=e();return Vo(n[0],n[n.length-1],null==t?10:t)},t.tickFormat=function(t,n){var r=e();return fl(r[0],r[r.length-1],null==t?10:t,n)},t.nice=function(n){null==n&&(n=10);var r,i=e(),a=0,o=i.length-1,l=i[a],u=i[o];return u0?r=qo(l=Math.floor(l/r)*r,u=Math.ceil(u/r)*r,n):r<0&&(r=qo(l=Math.ceil(l*r)/r,u=Math.floor(u*r)/r,n)),r>0?(i[a]=Math.floor(l/r)*r,i[o]=Math.ceil(u/r)*r,e(i)):r<0&&(i[a]=Math.ceil(l*r)/r,i[o]=Math.floor(u*r)/r,e(i)),t},t}function pl(){var t=cl(rl,rl);return t.copy=function(){return ul(t,pl())},Xo.apply(t,arguments),hl(t)}var dl=function(t,e){var n,r=0,i=(t=t.slice()).length-1,a=t[r],o=t[i];return o0){for(;hu)break;m.push(f)}}else for(;h=1;--c)if(!((f=s*c)u)break;m.push(f)}}else m=Vo(h,p,Math.min(p-h,d)).map(n);return r?m.reverse():m},r.tickFormat=function(t,i){if(null==i&&(i=10===a?".0e":","),"function"!=typeof i&&(i=Gi(i)),t===1/0)return i;null==t&&(t=10);var o=Math.max(1,a*t/r.ticks().length);return function(t){var r=t/n(Math.round(e(t)));return r*a0))return l;do{l.push(o=new Date(+n)),e(n,a),t(n)}while(o=e)for(;t(e),!n(e);)e.setTime(e-1)}),(function(t,r){if(t>=t)if(r<0)for(;++r<=0;)for(;e(t,-1),!n(t););else for(;--r>=0;)for(;e(t,1),!n(t););}))},n&&(i.count=function(e,r){return kl.setTime(+e),El.setTime(+r),t(kl),t(El),Math.floor(n(kl,El))},i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?i.filter(r?function(e){return r(e)%t==0}:function(e){return i.count(0,e)%t==0}):i:null}),i}var Sl=Tl((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t,e){return e.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));Sl.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Tl((function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,n){e.setFullYear(e.getFullYear()+n*t)})):null};var Cl=Sl,Ml=(Sl.range,Tl((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()}))),Nl=(Ml.range,6e4),Pl=6048e5;function Ol(t){return Tl((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+7*e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Nl)/Pl}))}var Al=Ol(0),Ll=Ol(1),Fl=Ol(2),Rl=Ol(3),zl=Ol(4),Ul=Ol(5),Il=Ol(6),Dl=(Al.range,Ll.range,Fl.range,Rl.range,zl.range,Ul.range,Il.range,Tl((function(t){t.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Nl)/864e5}),(function(t){return t.getDate()-1}))),jl=Dl,Hl=(Dl.range,Tl((function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds()-t.getMinutes()*Nl)}),(function(t,e){t.setTime(+t+36e5*e)}),(function(t,e){return(e-t)/36e5}),(function(t){return t.getHours()}))),Bl=(Hl.range,Tl((function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds())}),(function(t,e){t.setTime(+t+e*Nl)}),(function(t,e){return(e-t)/Nl}),(function(t){return t.getMinutes()}))),Wl=(Bl.range,Tl((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,e){t.setTime(+t+1e3*e)}),(function(t,e){return(e-t)/1e3}),(function(t){return t.getUTCSeconds()}))),Yl=(Wl.range,Tl((function(){}),(function(t,e){t.setTime(+t+e)}),(function(t,e){return e-t})));Yl.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?Tl((function(e){e.setTime(Math.floor(e/t)*t)}),(function(e,n){e.setTime(+e+n*t)}),(function(e,n){return(n-e)/t})):Yl:null};Yl.range;function Vl(t){return Tl((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+7*e)}),(function(t,e){return(e-t)/Pl}))}var ql=Vl(0),$l=Vl(1),Xl=Vl(2),Ql=Vl(3),Kl=Vl(4),Gl=Vl(5),Zl=Vl(6),Jl=(ql.range,$l.range,Xl.range,Ql.range,Kl.range,Gl.range,Zl.range,Tl((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/864e5}),(function(t){return t.getUTCDate()-1}))),tu=Jl,eu=(Jl.range,Tl((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)}),(function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()})));eu.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Tl((function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,n){e.setUTCFullYear(e.getUTCFullYear()+n*t)})):null};var nu=eu;eu.range;function ru(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function iu(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function au(t){return{y:t,m:0,d:1,H:0,M:0,S:0,L:0}}var ou,lu,uu,su={"-":"",_:" ",0:"0"},cu=/^\s*\d+/,fu=/^%/,hu=/[\\^$*+?|[\]().{}]/g;function pu(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a68?1900:2e3),n+r[0].length):-1}function Eu(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function Tu(t,e,n){var r=cu.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function Su(t,e,n){var r=cu.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Cu(t,e,n){var r=cu.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function Mu(t,e,n){var r=cu.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Nu(t,e,n){var r=cu.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function Pu(t,e,n){var r=cu.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function Ou(t,e,n){var r=cu.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Au(t,e,n){var r=cu.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Lu(t,e,n){var r=fu.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function Fu(t,e,n){var r=cu.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function Ru(t,e,n){var r=cu.exec(e.slice(n));return r?(t.Q=1e3*+r[0],n+r[0].length):-1}function zu(t,e){return pu(t.getDate(),e,2)}function Uu(t,e){return pu(t.getHours(),e,2)}function Iu(t,e){return pu(t.getHours()%12||12,e,2)}function Du(t,e){return pu(1+jl.count(Cl(t),t),e,3)}function ju(t,e){return pu(t.getMilliseconds(),e,3)}function Hu(t,e){return ju(t,e)+"000"}function Bu(t,e){return pu(t.getMonth()+1,e,2)}function Wu(t,e){return pu(t.getMinutes(),e,2)}function Yu(t,e){return pu(t.getSeconds(),e,2)}function Vu(t){var e=t.getDay();return 0===e?7:e}function qu(t,e){return pu(Al.count(Cl(t),t),e,2)}function $u(t,e){var n=t.getDay();return t=n>=4||0===n?zl(t):zl.ceil(t),pu(zl.count(Cl(t),t)+(4===Cl(t).getDay()),e,2)}function Xu(t){return t.getDay()}function Qu(t,e){return pu(Ll.count(Cl(t),t),e,2)}function Ku(t,e){return pu(t.getFullYear()%100,e,2)}function Gu(t,e){return pu(t.getFullYear()%1e4,e,4)}function Zu(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+pu(e/60|0,"0",2)+pu(e%60,"0",2)}function Ju(t,e){return pu(t.getUTCDate(),e,2)}function ts(t,e){return pu(t.getUTCHours(),e,2)}function es(t,e){return pu(t.getUTCHours()%12||12,e,2)}function ns(t,e){return pu(1+tu.count(nu(t),t),e,3)}function rs(t,e){return pu(t.getUTCMilliseconds(),e,3)}function is(t,e){return rs(t,e)+"000"}function as(t,e){return pu(t.getUTCMonth()+1,e,2)}function os(t,e){return pu(t.getUTCMinutes(),e,2)}function ls(t,e){return pu(t.getUTCSeconds(),e,2)}function us(t){var e=t.getUTCDay();return 0===e?7:e}function ss(t,e){return pu(ql.count(nu(t),t),e,2)}function cs(t,e){var n=t.getUTCDay();return t=n>=4||0===n?Kl(t):Kl.ceil(t),pu(Kl.count(nu(t),t)+(4===nu(t).getUTCDay()),e,2)}function fs(t){return t.getUTCDay()}function hs(t,e){return pu($l.count(nu(t),t),e,2)}function ps(t,e){return pu(t.getUTCFullYear()%100,e,2)}function ds(t,e){return pu(t.getUTCFullYear()%1e4,e,4)}function ms(){return"+0000"}function ys(){return"%"}function vs(t){return+t}function gs(t){return Math.floor(+t/1e3)}!function(t){ou=function(t){var e=t.dateTime,n=t.date,r=t.time,i=t.periods,a=t.days,o=t.shortDays,l=t.months,u=t.shortMonths,s=mu(i),c=yu(i),f=mu(a),h=yu(a),p=mu(o),d=yu(o),m=mu(l),y=yu(l),v=mu(u),g=yu(u),_={a:function(t){return o[t.getDay()]},A:function(t){return a[t.getDay()]},b:function(t){return u[t.getMonth()]},B:function(t){return l[t.getMonth()]},c:null,d:zu,e:zu,f:Hu,H:Uu,I:Iu,j:Du,L:ju,m:Bu,M:Wu,p:function(t){return i[+(t.getHours()>=12)]},Q:vs,s:gs,S:Yu,u:Vu,U:qu,V:$u,w:Xu,W:Qu,x:null,X:null,y:Ku,Y:Gu,Z:Zu,"%":ys},b={a:function(t){return o[t.getUTCDay()]},A:function(t){return a[t.getUTCDay()]},b:function(t){return u[t.getUTCMonth()]},B:function(t){return l[t.getUTCMonth()]},c:null,d:Ju,e:Ju,f:is,H:ts,I:es,j:ns,L:rs,m:as,M:os,p:function(t){return i[+(t.getUTCHours()>=12)]},Q:vs,s:gs,S:ls,u:us,U:ss,V:cs,w:fs,W:hs,x:null,X:null,y:ps,Y:ds,Z:ms,"%":ys},w={a:function(t,e,n){var r=p.exec(e.slice(n));return r?(t.w=d[r[0].toLowerCase()],n+r[0].length):-1},A:function(t,e,n){var r=f.exec(e.slice(n));return r?(t.w=h[r[0].toLowerCase()],n+r[0].length):-1},b:function(t,e,n){var r=v.exec(e.slice(n));return r?(t.m=g[r[0].toLowerCase()],n+r[0].length):-1},B:function(t,e,n){var r=m.exec(e.slice(n));return r?(t.m=y[r[0].toLowerCase()],n+r[0].length):-1},c:function(t,n,r){return E(t,e,n,r)},d:Su,e:Su,f:Au,H:Mu,I:Mu,j:Cu,L:Ou,m:Tu,M:Nu,p:function(t,e,n){var r=s.exec(e.slice(n));return r?(t.p=c[r[0].toLowerCase()],n+r[0].length):-1},Q:Fu,s:Ru,S:Pu,u:gu,U:_u,V:bu,w:vu,W:wu,x:function(t,e,r){return E(t,n,e,r)},X:function(t,e,n){return E(t,r,e,n)},y:ku,Y:xu,Z:Eu,"%":Lu};function x(t,e){return function(n){var r,i,a,o=[],l=-1,u=0,s=t.length;for(n instanceof Date||(n=new Date(+n));++l53)return null;"w"in a||(a.w=1),"Z"in a?(i=(r=iu(au(a.y))).getUTCDay(),r=i>4||0===i?$l.ceil(r):$l(r),r=tu.offset(r,7*(a.V-1)),a.y=r.getUTCFullYear(),a.m=r.getUTCMonth(),a.d=r.getUTCDate()+(a.w+6)%7):(i=(r=e(au(a.y))).getDay(),r=i>4||0===i?Ll.ceil(r):Ll(r),r=jl.offset(r,7*(a.V-1)),a.y=r.getFullYear(),a.m=r.getMonth(),a.d=r.getDate()+(a.w+6)%7)}else("W"in a||"U"in a)&&("w"in a||(a.w="u"in a?a.u%7:"W"in a?1:0),i="Z"in a?iu(au(a.y)).getUTCDay():e(au(a.y)).getDay(),a.m=0,a.d="W"in a?(a.w+6)%7+7*a.W-(i+5)%7:a.w+7*a.U-(i+6)%7);return"Z"in a?(a.H+=a.Z/100|0,a.M+=a.Z%100,iu(a)):e(a)}}function E(t,e,n,r){for(var i,a,o=0,l=e.length,u=n.length;o=u)return-1;if(37===(i=e.charCodeAt(o++))){if(i=e.charAt(o++),!(a=w[i in su?e.charAt(o++):i])||(r=a(t,n,r))<0)return-1}else if(i!=n.charCodeAt(r++))return-1}return r}return _.x=x(n,_),_.X=x(r,_),_.c=x(e,_),b.x=x(n,b),b.X=x(r,b),b.c=x(e,b),{format:function(t){var e=x(t+="",_);return e.toString=function(){return t},e},parse:function(t){var e=k(t+="",ru);return e.toString=function(){return t},e},utcFormat:function(t){var e=x(t+="",b);return e.toString=function(){return t},e},utcParse:function(t){var e=k(t,iu);return e.toString=function(){return t},e}}}(t),ou.format,ou.parse,lu=ou.utcFormat,uu=ou.utcParse}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});Date.prototype.toISOString||lu("%Y-%m-%dT%H:%M:%S.%LZ");+new Date("2000-01-01T00:00:00.000Z")||uu("%Y-%m-%dT%H:%M:%S.%LZ");var _s=Tl((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCMonth(t.getUTCMonth()+e)}),(function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()})),bs=(_s.range,Tl((function(t){t.setUTCMinutes(0,0,0)}),(function(t,e){t.setTime(+t+36e5*e)}),(function(t,e){return(e-t)/36e5}),(function(t){return t.getUTCHours()}))),ws=(bs.range,Tl((function(t){t.setUTCSeconds(0,0)}),(function(t,e){t.setTime(+t+e*Nl)}),(function(t,e){return(e-t)/Nl}),(function(t){return t.getUTCMinutes()})));ws.range;var xs=function(t){for(var e=t.length/6|0,n=new Array(e),r=0;r0)for(var r,i=t[0],a=e[0],o=t[n]-i,l=e[n]-a,u=-1;++u<=n;)r=u/n,this._basis.point(this._beta*t[u]+(1-this._beta)*(i+r*o),this._beta*e[u]+(1-this._beta)*(a+r*l));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};(function t(e){function n(t){return 1===e?new Us(t):new js(t,e)}return n.beta=function(e){return t(+e)},n})(.85);function Hs(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function Bs(t,e){this._context=t,this._k=(1-e)/6}Bs.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Hs(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:Hs(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};(function t(e){function n(t){return new Bs(t,e)}return n.tension=function(e){return t(+e)},n})(0);function Ws(t,e){this._context=t,this._k=(1-e)/6}Ws.prototype={areaStart:Rs,areaEnd:Rs,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Hs(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};(function t(e){function n(t){return new Ws(t,e)}return n.tension=function(e){return t(+e)},n})(0);function Ys(t,e){this._context=t,this._k=(1-e)/6}Ys.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Hs(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};(function t(e){function n(t){return new Ys(t,e)}return n.tension=function(e){return t(+e)},n})(0);function Vs(t,e,n){var r=t._x1,i=t._y1,a=t._x2,o=t._y2;if(t._l01_a>Es){var l=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,u=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*l-t._x0*t._l12_2a+t._x2*t._l01_2a)/u,i=(i*l-t._y0*t._l12_2a+t._y2*t._l01_2a)/u}if(t._l23_a>Es){var s=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,c=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*s+t._x1*t._l23_2a-e*t._l12_2a)/c,o=(o*s+t._y1*t._l23_2a-n*t._l12_2a)/c}t._context.bezierCurveTo(r,i,a,o,t._x2,t._y2)}function qs(t,e){this._context=t,this._alpha=e}qs.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:Vs(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};(function t(e){function n(t){return e?new qs(t,e):new Bs(t,0)}return n.alpha=function(e){return t(+e)},n})(.5);function $s(t,e){this._context=t,this._alpha=e}$s.prototype={areaStart:Rs,areaEnd:Rs,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Vs(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};(function t(e){function n(t){return e?new $s(t,e):new Ws(t,0)}return n.alpha=function(e){return t(+e)},n})(.5);function Xs(t,e){this._context=t,this._alpha=e}Xs.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Vs(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};(function t(e){function n(t){return e?new Xs(t,e):new Ys(t,0)}return n.alpha=function(e){return t(+e)},n})(.5);function Qs(t){this._context=t}Qs.prototype={areaStart:Rs,areaEnd:Rs,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function Ks(t){return t<0?-1:1}function Gs(t,e,n){var r=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(r||i<0&&-0),o=(n-t._y1)/(i||r<0&&-0),l=(a*i+o*r)/(r+i);return(Ks(a)+Ks(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(l))||0}function Zs(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function Js(t,e,n){var r=t._x0,i=t._y0,a=t._x1,o=t._y1,l=(a-r)/3;t._context.bezierCurveTo(r+l,i+l*e,a-l,o-l*n,a,o)}function tc(t){this._context=t}function ec(t){this._context=new nc(t)}function nc(t){this._context=t}function rc(t){this._context=t}function ic(t){var e,n,r=t.length-1,i=new Array(r),a=new Array(r),o=new Array(r);for(i[0]=0,a[0]=2,o[0]=t[0]+2*t[1],e=1;e=0;--e)i[e]=(o[e]-i[e+1])/a[e];for(a[r-1]=(t[r]+i[r-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}}this._x=t,this._y=e}};function oc(){this._=null}function lc(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function uc(t,e){var n=e,r=e.R,i=n.U;i?i.L===n?i.L=r:i.R=r:t._=r,r.U=i,n.U=r,n.R=r.L,n.R&&(n.R.U=n),r.L=n}function sc(t,e){var n=e,r=e.L,i=n.U;i?i.L===n?i.L=r:i.R=r:t._=r,r.U=i,n.U=r,n.L=r.R,n.L&&(n.L.U=n),r.R=n}function cc(t){for(;t.L;)t=t.L;return t}oc.prototype={constructor:oc,insert:function(t,e){var n,r,i;if(t){if(e.P=t,e.N=t.N,t.N&&(t.N.P=e),t.N=e,t.R){for(t=t.R;t.L;)t=t.L;t.L=e}else t.R=e;n=t}else this._?(t=cc(this._),e.P=null,e.N=t,t.P=t.L=e,n=t):(e.P=e.N=null,this._=e,n=null);for(e.L=e.R=null,e.U=n,e.C=!0,t=e;n&&n.C;)n===(r=n.U).L?(i=r.R)&&i.C?(n.C=i.C=!1,r.C=!0,t=r):(t===n.R&&(uc(this,n),n=(t=n).U),n.C=!1,r.C=!0,sc(this,r)):(i=r.L)&&i.C?(n.C=i.C=!1,r.C=!0,t=r):(t===n.L&&(sc(this,n),n=(t=n).U),n.C=!1,r.C=!0,uc(this,r)),n=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var e,n,r,i=t.U,a=t.L,o=t.R;if(n=a?o?cc(o):a:o,i?i.L===t?i.L=n:i.R=n:this._=n,a&&o?(r=n.C,n.C=t.C,n.L=a,a.U=n,n!==o?(i=n.U,n.U=t.U,t=n.R,i.L=t,n.R=o,o.U=n):(n.U=i,i=n,t=n.R)):(r=t.C,t=n),t&&(t.U=i),!r)if(t&&t.C)t.C=!1;else{do{if(t===this._)break;if(t===i.L){if((e=i.R).C&&(e.C=!1,i.C=!0,uc(this,i),e=i.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,sc(this,e),e=i.R),e.C=i.C,i.C=e.R.C=!1,uc(this,i),t=this._;break}}else if((e=i.L).C&&(e.C=!1,i.C=!0,sc(this,i),e=i.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,uc(this,e),e=i.L),e.C=i.C,i.C=e.L.C=!1,sc(this,i),t=this._;break}e.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}};var fc=oc;function hc(t,e,n,r){var i=[null,null],a=zc.push(i)-1;return i.left=t,i.right=e,n&&dc(i,t,e,n),r&&dc(i,e,t,r),Fc[t.index].halfedges.push(a),Fc[e.index].halfedges.push(a),i}function pc(t,e,n){var r=[e,n];return r.left=t,r}function dc(t,e,n,r){t[0]||t[1]?t.left===n?t[1]=r:t[0]=r:(t[0]=r,t.left=e,t.right=n)}function mc(t,e,n,r,i){var a,o=t[0],l=t[1],u=o[0],s=o[1],c=0,f=1,h=l[0]-u,p=l[1]-s;if(a=e-u,h||!(a>0)){if(a/=h,h<0){if(a0){if(a>f)return;a>c&&(c=a)}if(a=r-u,h||!(a<0)){if(a/=h,h<0){if(a>f)return;a>c&&(c=a)}else if(h>0){if(a0)){if(a/=p,p<0){if(a0){if(a>f)return;a>c&&(c=a)}if(a=i-s,p||!(a<0)){if(a/=p,p<0){if(a>f)return;a>c&&(c=a)}else if(p>0){if(a0||f<1)||(c>0&&(t[0]=[u+c*h,s+c*p]),f<1&&(t[1]=[u+f*h,s+f*p]),!0)}}}}}function yc(t,e,n,r,i){var a=t[1];if(a)return!0;var o,l,u=t[0],s=t.left,c=t.right,f=s[0],h=s[1],p=c[0],d=c[1],m=(f+p)/2,y=(h+d)/2;if(d===h){if(m=r)return;if(f>p){if(u){if(u[1]>=i)return}else u=[m,n];a=[m,i]}else{if(u){if(u[1]1)if(f>p){if(u){if(u[1]>=i)return}else u=[(n-l)/o,n];a=[(i-l)/o,i]}else{if(u){if(u[1]=r)return}else u=[e,o*e+l];a=[r,o*r+l]}else{if(u){if(u[0]=-Ic)){var p=u*u+s*s,d=c*c+f*f,m=(f*p-s*d)/h,y=(u*d-c*p)/h,v=wc.pop()||new xc;v.arc=t,v.site=i,v.x=m+o,v.y=(v.cy=y+l)+Math.sqrt(m*m+y*y),t.circle=v;for(var g=null,_=Rc._;_;)if(v.y<_.y||v.y===_.y&&v.x<=_.x){if(!_.L){g=_.P;break}_=_.L}else{if(!_.R){g=_;break}_=_.R}Rc.insert(g,v),g||(bc=v)}}}}function Ec(t){var e=t.circle;e&&(e.P||(bc=e.N),Rc.remove(e),wc.push(e),lc(e),t.circle=null)}var Tc=[];function Sc(){lc(this),this.edge=this.site=this.circle=null}function Cc(t){var e=Tc.pop()||new Sc;return e.site=t,e}function Mc(t){Ec(t),Lc.remove(t),Tc.push(t),lc(t)}function Nc(t){var e=t.circle,n=e.x,r=e.cy,i=[n,r],a=t.P,o=t.N,l=[t];Mc(t);for(var u=a;u.circle&&Math.abs(n-u.circle.x)Uc)l=l.L;else{if(!((i=a-Ac(l,o))>Uc)){r>-Uc?(e=l.P,n=l):i>-Uc?(e=l,n=l.N):e=n=l;break}if(!l.R){e=l;break}l=l.R}!function(t){Fc[t.index]={site:t,halfedges:[]}}(t);var u=Cc(t);if(Lc.insert(e,u),e||n){if(e===n)return Ec(e),n=Cc(e.site),Lc.insert(u,n),u.edge=n.edge=hc(e.site,u.site),kc(e),void kc(n);if(n){Ec(e),Ec(n);var s=e.site,c=s[0],f=s[1],h=t[0]-c,p=t[1]-f,d=n.site,m=d[0]-c,y=d[1]-f,v=2*(h*y-p*m),g=h*h+p*p,_=m*m+y*y,b=[(y*g-p*_)/v+c,(h*_-m*g)/v+f];dc(n.edge,s,d,b),u.edge=hc(s,t,null,b),n.edge=hc(t,d,null,b),kc(e),kc(n)}else u.edge=hc(e.site,u.site)}}function Oc(t,e){var n=t.site,r=n[0],i=n[1],a=i-e;if(!a)return r;var o=t.P;if(!o)return-1/0;var l=(n=o.site)[0],u=n[1],s=u-e;if(!s)return l;var c=l-r,f=1/a-1/s,h=c/s;return f?(-h+Math.sqrt(h*h-2*f*(c*c/(-2*s)-u+s/2+i-a/2)))/f+r:(r+l)/2}function Ac(t,e){var n=t.N;if(n)return Oc(n,e);var r=t.site;return r[1]===e?r[0]:1/0}var Lc,Fc,Rc,zc,Uc=1e-6,Ic=1e-12;function Dc(t,e){return e[1]-t[1]||e[0]-t[0]}function jc(t,e){var n,r,i,a=t.sort(Dc).pop();for(zc=[],Fc=new Array(t.length),Lc=new fc,Rc=new fc;;)if(i=bc,a&&(!i||a[1]Uc||Math.abs(i[0][1]-i[1][1])>Uc)||delete zc[a]}(o,l,u,s),function(t,e,n,r){var i,a,o,l,u,s,c,f,h,p,d,m,y=Fc.length,v=!0;for(i=0;iUc||Math.abs(m-h)>Uc)&&(u.splice(l,0,zc.push(pc(o,p,Math.abs(d-t)Uc?[t,Math.abs(f-t)Uc?[Math.abs(h-r)Uc?[n,Math.abs(f-n)Uc?[Math.abs(h-e)=l)return null;var u=t-i.site[0],s=e-i.site[1],c=u*u+s*s;do{i=a.cells[r=o],o=null,i.halfedges.forEach((function(n){var r=a.edges[n],l=r.left;if(l!==i.site&&l||(l=r.right)){var u=t-l[0],s=e-l[1],f=u*u+s*s;fr&&(t.splice(a+1,0,s),n=!0)}var i;return n}}var Vc=function(){let t,e=t=>t[0],n=t=>t[1];function r(r){let i=r.length,a=0,o=0,l=0,u=0,s=0,c=t?+t[0]:1/0,f=t?+t[1]:-1/0;for(let h=0;hf&&(f=p)))}const h=((i=a)*u-o*l)/(i*s-o*o),p=(l-h*o)/i,d=t=>h*t+p,m=Bc(r,e,n,l,d),y=[[c,c*h+p],[f,f*h+p]];return y.a=h,y.b=p,y.predict=d,y.rSquared=m,y}return r.domain=function(e){return arguments.length?(t=e,r):t},r.x=function(t){return arguments.length?(e=t,r):e},r.y=function(t){return arguments.length?(n=t,r):n},r};var qc=function(){let t,e=t=>t[0],n=t=>t[1];function r(r){let i=r.length,a=0,o=0,l=0,u=0,s=0,c=0,f=t?+t[0]:1/0,h=t?+t[1]:-1/0;for(let p=0;ph&&(h=d)))}const p=((i=a)*l-o*u)/(i*s-Math.pow(o,2)),d=Math.exp((u-p*o)/i),m=t=>d*Math.pow(t,p),y=Yc(f,h,m);return y.a=d,y.b=p,y.predict=m,y.rSquared=Bc(r,e,n,c,m),y}return r.domain=function(e){return arguments.length?(t=e,r):t},r.x=function(t){return arguments.length?(e=t,r):e},r.y=function(t){return arguments.length?(n=t,r):n},r};var $c=function(t){return t};function Xc(t,...e){return Qc(t,$c,$c,e)}function Qc(t,e,n,r){return function t(i,a){if(a>=r.length)return n(i);const o=new Map,l=r[a++];let u=-1;for(const t of i){const e=l(t,++u,i),n=o.get(e);n?n.push(t):o.set(e,[t])}for(const[e,n]of o)o.set(e,t(n,a));return e(o)}(t,0)}var Kc=n(8),Gc=n.n(Kc),Zc=n(3),Jc=n.n(Zc),tf=n(5),ef=n.n(tf),nf=function(t){var e=t.activeFile,n=t.handleClose;return i.a.createElement("div",{className:"col-4"},i.a.createElement("div",{className:"card"},i.a.createElement("div",{className:"card-header"},i.a.createElement("h5",{className:"card-title"},e.file_path),i.a.createElement("h6",{className:"text-muted"},"Additional information"),i.a.createElement("button",{type:"button",className:"close","aria-label":"Close",onClick:n},i.a.createElement("span",{"aria-hidden":"true"},"×"))),i.a.createElement("div",{className:"card-body"},i.a.createElement("h6",{className:"text-muted"},i.a.createElement("strong",null,"Method Teardown")),i.a.createElement("table",{className:"table table-borderless mt-0 method-table"},i.a.createElement("tbody",null,Object.entries(e.details).map((function(t){var e=u()(t,2),n=e[0],r=e[1];return i.a.createElement("tr",{className:"row",key:n},i.a.createElement("td",{className:"px-3 py-1 col-9 text-truncate"},n),i.a.createElement("td",{className:"px-3 py-1 col-3"},Math.round(100*r)/100))})))),i.a.createElement("h6",{className:"text-muted mt-3"},"Git history (last 10 commits)"),i.a.createElement("table",{className:"table table-borderless mt-0 method-table"},i.a.createElement("tbody",null,e.history.map((function(t){var e=u()(t,2),n=e[0],r=e[1];return i.a.createElement("tr",{className:"row",key:n},i.a.createElement("td",{className:"px-3 py-1 col-3 text-truncate"},n),i.a.createElement("td",{className:"px-3 py-1 col-8 text-truncate"},r))})))))))},rf=function(t){var e=t.state,n=t.dispatch,r=t.activePlot;return i.a.createElement("div",{className:"mt-3"},i.a.createElement("h6",{className:"text-muted"},i.a.createElement("strong",null,"Display options")),i.a.createElement("form",null,i.a.createElement("div",{className:"form-row"},i.a.createElement("div",{className:"form-group col-2"},i.a.createElement("input",{checked:e.displayFilenames,className:"form-check-input",type:"checkbox",id:"filenames-check",onChange:function(){n({type:"SET_DISPLAY_FILENAMES",displayFilenames:!e.displayFilenames})}}),i.a.createElement("label",{className:"form-check-label text-muted",htmlFor:"filenames-check"},i.a.createElement("small",null,"Display filenames"))),i.a.createElement("div",{className:"form-group col-2"},i.a.createElement("input",{checked:e.displayRegression,className:"form-check-input",type:"checkbox",id:"regression-check",disabled:r!==mf.SCATTER_PLOT,onChange:function(){n({type:"SET_DISPLAY_REGRESSION",displayRegression:!e.displayRegression})}}),i.a.createElement("label",{className:"form-check-label text-muted",htmlFor:"regression-check"},i.a.createElement("small",null,"Display regression"))),i.a.createElement("div",{className:"form-group col-3"},i.a.createElement("label",{htmlFor:"regression-type",className:"text-muted ".concat(r===mf.TREE_MAP&&"disabled")},i.a.createElement("small",null,"Regression Type")),i.a.createElement("select",{id:"regression-type",className:"form-control",disabled:r!==mf.SCATTER_PLOT,onChange:function(t){n({type:"SET_REGRESSION_TYPE",regressionType:parseInt(t.currentTarget.value)})}},i.a.createElement("option",{selected:!0,value:"0"},"Power Law"),i.a.createElement("option",{value:"1"},"Linear"))))))},af=function(t){var e=t.fileClickCallback,n=t.values,a=t.filePrefix,o=t.displayRegression,l=t.regressionType,u=t.displayFilenames,s=t.path,c=t.activeFile,f=Object(r.useRef)(null);return Object(r.useEffect)((function(){Cf(f.current,{values:n,displayRegression:o,regressionType:l,displayFilenames:u,filePrefix:a,path:s,activeFile:c},e)})),i.a.createElement("div",{id:"canvas",ref:f})},of=function(t){var e=t.fileClickCallback,n=t.values,a=t.filePrefix,o=t.displayRegression,l=t.regressionType,u=t.measurementType,s=t.displayFilenames,c=t.path,f=t.activeFile,h=Object(r.useRef)(null);return Object(r.useEffect)((function(){Tf(h.current,{values:n,displayRegression:o,regressionType:l,measurementType:u,displayFilenames:s,filePrefix:a,path:c,activeFile:f},e)})),i.a.createElement("div",{id:"canvas",ref:h})},lf=function(t){var e=t.fileClickCallback,n=t.values,a=t.filePrefix,o=t.displayRegression,l=t.regressionType,u=t.measurementType,s=t.displayFilenames,c=t.path,f=t.activeFile,h=Object(r.useRef)(null);return Object(r.useEffect)((function(){Sf(h.current,{values:n,displayRegression:o,regressionType:l,measurementType:u,displayFilenames:s,filePrefix:a,path:c,activeFile:f},e)})),i.a.createElement("div",{id:"canvas",ref:h})},uf=n(41),sf=n.n(uf);function cf(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function ff(t){for(var e=1;e0&&i.a.createElement(nf,{activeFile:n.activeFile,handleClose:function(){a({type:"SET_ACTIVE_FILE",activeFile:{}})}}))},wf=function(t,e){switch(t){case df:return"y = ".concat(e.a.toFixed(2)," x + ").concat(e.b.toFixed(2));case pf:default:return"y = ".concat(e.a.toFixed(2)," x ^ ").concat(e.b.toFixed(2))}},xf=function(t,e,n){return function(){var t=Ao,e=!1,n=1,r=1,i=[0],a=Eo,o=Eo,l=Eo,u=Eo,s=Eo;function c(t){return t.x0=t.y0=0,t.x1=n,t.y1=r,t.eachBefore(f),i=[0],e&&t.eachBefore(So),t}function f(e){var n=i[e.depth],r=e.x0+n,c=e.y0+n,f=e.x1-n,h=e.y1-n;f2&&void 0!==arguments[2]?arguments[2]:function(){});t.innerHTML="";var p=600,d=600,m=Jo(xs),y=(n=n.filter((function(t){return t.file_path.startsWith("".concat(s).concat(f))}))).map((function(t){var e;switch(i){case vf:e=t.y;break;case gf:e=t.x;break;case yf:default:e=t.y*t.x}return{name:t.file_path.substring(s.length+1),value:e,file_path:t.file_path,details:t.details,history:t.history}})).map((function(t){return{name:t.name.split("/"),value:t.value,file_path:t.file_path,details:t.details,history:t.history}})),v={name:s,children:Array.from(Xc(y,(function(t){return t.name[0]})),(function(t){var e=u()(t,2),n=e[0],r=e[1];return{name:n,children:Array.from(Xc(r,(function(t){return t.name[1]})),(function(t){var e=u()(t,2);return{name:e[0],children:e[1]}}))}}))},g=ae(t).append("svg").attr("viewBox",[0,0,p,d]).style("font-size","10px");if(v.children.length>0){var _=xf(v,p,d),b=g.selectAll("g").data(_.leaves()).join("g").attr("transform",(function(t){return"translate(".concat(t.x0,",").concat(t.y0,")")}));b.append("title").text((function(t){return"".concat(t.ancestors().reverse().map((function(t){return t.data.name})).join("/"),"\n").concat(kf(t.value))})),b.append("rect").attr("fill",(function(t){for(;t.depth>1;)t=t.parent;return m(t.data.name)})).attr("fill-opacity",.6).attr("width",(function(t){return t.x1-t.x0})).attr("height",(function(t){return t.y1-t.y0})).on("click",(function(t){h(t.data)})),o&&Ef(b)}},Sf=function(t,e){var n=e.values,r=(e.displayRegression,e.regressionType,e.measurementType),i=void 0===r?0:r,a=(e.displayFilenames,e.filePrefix),o=void 0===a?"":a,l=e.path,u=void 0===l?"":l;e.activeFile,arguments.length>2&&void 0!==arguments[2]&&arguments[2];t.innerHTML="";var s=600,c=600;n=n.filter((function(t){return t.file_path.startsWith("".concat(o).concat(u))}));var f={top:20,right:30,bottom:30,left:40},h=ae(t).append("svg").attr("viewBox",[0,0,s,c]).style("font-size","10px"),p=n.map((function(t){return i===vf?t.y:t.x})),m=pl().domain(d(p)).range(["green","red"]),y=pl().domain(d(p)).nice(20).range([f.left,s-f.right]),v=E().domain(y.domain()).thresholds(y.ticks(20))(p),g=pl().domain([0,T(v,(function(t){return t.length}))]).nice().range([c-f.bottom,f.top]),_=function(t){return t.attr("transform","translate(0,".concat(c-f.bottom,")")).call(D(y).tickSizeOuter(0))},b=function(t){return t.attr("transform","translate(".concat(f.left,",0)")).call(j(g))};h.append("g").selectAll("rect").data(v).join("rect").attr("fill",(function(t){return m(t.x0)})).attr("x",(function(t){return y(t.x0)+1})).attr("width",(function(t){return Math.max(0,y(t.x1)-y(t.x0)-1)})).attr("y",(function(t){return g(t.length)})).attr("height",(function(t){return g(0)-g(t.length)})),h.append("g").call(_),h.append("g").call(b)},Cf=function(t,e){var n=e.values,r=e.displayRegression,i=void 0===r||r,a=e.regressionType,o=void 0===a?0:a,l=(e.measurementType,e.displayFilenames),u=void 0!==l&&l,s=e.filePrefix,c=void 0===s?"":s,f=e.path,h=void 0===f?"":f,p=(e.activeFile,arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){});t.innerHTML="";var m=600,y=600;n=n.filter((function(t){return t.file_path.startsWith("".concat(c).concat(h))}));var v={top:20,right:30,bottom:30,left:40},g=xl().domain(d(n.filter((function(t){return t.y>0})),(function(t){return t.x*t.y}))).range(["green","red"]),_=xl().domain(d(n.filter((function(t){return t.y>0})),(function(t){return t.x*t.y}))).range(["lightgreen","tomato"]),b=pl().domain(d(n,(function(t){return t.x}))).nice().range([v.left,m-v.right]),w=pl().domain(d(n,(function(t){return t.y}))).nice().range([y-v.bottom,v.top]),x=function(t){return t.attr("transform","translate(0,".concat(y-v.bottom,")")).call(D(b)).call((function(t){return t.select(".domain").remove()})).call((function(t){return t.append("text").attr("x",m/2+v.left).attr("y",30).attr("fill","#000").attr("font-size",12).attr("font-weight","bold").attr("text-anchor","end").text("Churn")}))},k=function(t){return t.attr("transform","translate(".concat(v.left,",0)")).call(j(w)).call((function(t){return t.select(".domain").remove()})).call((function(t){return t.append("text").attr("y",-30).attr("x",-y/2).attr("transform","rotate(-90)").attr("fill","#000").attr("font-size",12).attr("text-anchor","start").attr("font-weight","bold").text("Complexity")}))},E=Os().x((function(t){return b(t[0])})).y((function(t){return w(t[1])})),S=ae(t).append("svg").attr("viewBox",[0,0,m,y]),C=S.append("g");if(C.append("g").attr("class","axis").call(x).selectAll(".tick line").classed("baseline",(function(t){return 0===t})),C.append("g").attr("class","axis").call(k).selectAll(".tick line").classed("baseline",(function(t){return 0===t})),C.append("g").attr("stroke-width",1.5).attr("font-family","Red Hat Text").attr("font-size",12).selectAll("g").data(n).join("g").attr("transform",(function(t){return"translate(".concat(b(t.x),",").concat(w(t.y),")")})).call((function(t){return t.append("circle").attr("fill",(function(t){return _(t.x*t.y)})).attr("stroke",(function(t){return g(t.x*t.y)})).attr("style","cursor:pointer").attr("r",4)})).call((function(t){return u?t.append("text").attr("dy","0.35em").attr("x",7).attr("style","cursor:pointer").text((function(t){return t.file_path})):null})).on("click",(function(t){p(t)})),i){var M=function(t){switch(t){case df:return Vc().x((function(t){return t.x})).y((function(t){return t.y})).domain([3,T(n,(function(t){return t.x}))]);case pf:default:return n=n.filter((function(t){return t.y>0})),qc().x((function(t){return t.x})).y((function(t){return t.y})).domain([3,T(n,(function(t){return t.x}))])}}(o),N=M(n);C.append("g").attr("font-family","Red Hat Text").attr("font-size",24).call((function(t){return t.append("path").attr("class","regression").datum(M(n)).attr("d",E)})).call((function(t){return t.append("text").attr("dy","60").attr("dx","33%").text("R^2 = ".concat(N.rSquared.toFixed(2)))})).call((function(t){return t.append("text").attr("dy","30").attr("dx","33%").text(wf(o,N))}))}},Mf=n(12),Nf=n(1),Pf=n.n(Nf);function Of(t){return(Of="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Af(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Lf(t){for(var e=1;e=0||(i[n]=t[n]);return i}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(i[n]=t[n])}return i}function Rf(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e0||!Array.isArray(e)&&e?Af({},t,e):{}}function jf(t){var e=t.icon,n=t.mask,r=t.symbol,i=t.className,a=t.title,o=If(e),l=Df("classes",[].concat(Rf(function(t){var e,n=t.spin,r=t.pulse,i=t.fixedWidth,a=t.inverse,o=t.border,l=t.listItem,u=t.flip,s=t.size,c=t.rotation,f=t.pull,h=(Af(e={"fa-spin":n,"fa-pulse":r,"fa-fw":i,"fa-inverse":a,"fa-border":o,"fa-li":l,"fa-flip-horizontal":"horizontal"===u||"both"===u,"fa-flip-vertical":"vertical"===u||"both"===u},"fa-".concat(s),void 0!==s),Af(e,"fa-rotate-".concat(c),void 0!==c),Af(e,"fa-pull-".concat(f),void 0!==f),Af(e,"fa-swap-opacity",t.swapOpacity),e);return Object.keys(h).map((function(t){return h[t]?t:null})).filter((function(t){return t}))}(t)),Rf(i.split(" ")))),u=Df("transform","string"==typeof t.transform?Mf.b.transform(t.transform):t.transform),s=Df("mask",If(n)),c=Object(Mf.a)(o,Lf({},l,u,s,{symbol:r,title:a}));if(!c)return function(){var t;!Uf&&console&&"function"==typeof console.error&&(t=console).error.apply(t,arguments)}("Could not find icon",o),null;var f=c.abstract,h={};return Object.keys(t).forEach((function(e){jf.defaultProps.hasOwnProperty(e)||(h[e]=t[e])})),Hf(f[0],h)}jf.displayName="FontAwesomeIcon",jf.propTypes={border:Pf.a.bool,className:Pf.a.string,mask:Pf.a.oneOfType([Pf.a.object,Pf.a.array,Pf.a.string]),fixedWidth:Pf.a.bool,inverse:Pf.a.bool,flip:Pf.a.oneOf(["horizontal","vertical","both"]),icon:Pf.a.oneOfType([Pf.a.object,Pf.a.array,Pf.a.string]),listItem:Pf.a.bool,pull:Pf.a.oneOf(["right","left"]),pulse:Pf.a.bool,rotation:Pf.a.oneOf([90,180,270]),size:Pf.a.oneOf(["lg","xs","sm","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"]),spin:Pf.a.bool,symbol:Pf.a.oneOfType([Pf.a.bool,Pf.a.string]),title:Pf.a.string,transform:Pf.a.oneOfType([Pf.a.string,Pf.a.object]),swapOpacity:Pf.a.bool},jf.defaultProps={border:!1,className:"",mask:null,fixedWidth:!1,inverse:!1,flip:null,icon:null,listItem:!1,pull:null,pulse:!1,rotation:null,size:null,spin:!1,symbol:!1,title:"",transform:null,swapOpacity:!1};var Hf=function t(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("string"==typeof n)return n;var i=(n.children||[]).map((function(n){return t(e,n)})),a=Object.keys(n.attributes||{}).reduce((function(t,e){var r=n.attributes[e];switch(e){case"class":t.attrs.className=r,delete n.attributes.class;break;case"style":t.attrs.style=function(t){return t.split(";").map((function(t){return t.trim()})).filter((function(t){return t})).reduce((function(t,e){var n,r=e.indexOf(":"),i=zf(e.slice(0,r)),a=e.slice(r+1).trim();return i.startsWith("webkit")?t[(n=i,n.charAt(0).toUpperCase()+n.slice(1))]=a:t[i]=a,t}),{})}(r);break;default:0===e.indexOf("aria-")||0===e.indexOf("data-")?t.attrs[e.toLowerCase()]=r:t.attrs[zf(e)]=r}return t}),{attrs:{}}),o=r.style,l=void 0===o?{}:o,u=Ff(r,["style"]);return a.attrs.style=Lf({},a.attrs.style,l),e.apply(void 0,[n.tag,Lf({},a.attrs,u)].concat(Rf(i)))}.bind(null,i.a.createElement),Bf={prefix:"fas",iconName:"arrow-right",icon:[448,512,[],"f061","M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z"]};function Wf(){var t=Object(r.useState)(95),e=u()(t,2),n=e[0],a=e[1],o=Object(r.useState)([]),l=u()(o,2),s=l[0],c=l[1],f=function(){var t=ef()(Jc.a.mark((function t(e){var n;return Jc.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,fetch("/suggestions?t=".concat(e));case 2:return t.next=4,t.sent.json();case 4:n=t.sent,c(n);case 6:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}();return Object(r.useEffect)((function(){f(n)}),[]),i.a.createElement("div",{className:"card"},i.a.createElement("div",{className:"card-body"},i.a.createElement("div",{className:"d-flex justify-content-between"},i.a.createElement("div",null,i.a.createElement("h5",{className:"card-title"},"Refactoring Candidates"),i.a.createElement("h6",{className:"card-subtitle text-muted"},"Top 95 Percentile of Churn * Complexity")),i.a.createElement("div",{id:"percentile-input-group"},i.a.createElement("label",{htmlFor:"percentile",className:"text-muted"},i.a.createElement("small",null,"Percentile")),i.a.createElement("div",{className:"input-group align-items-start"},i.a.createElement("input",{type:"text",className:"form-control",placeholder:"","aria-label":"","aria-describedby":"percentile-button",id:"percentile",value:n,onChange:function(t){return a(t.target.value)}}),i.a.createElement("div",{className:"input-group-append"},i.a.createElement("button",{className:"btn btn-dark",type:"button",id:"percentile-button",onClick:function(t){t.preventDefault(),f(n)}},i.a.createElement(jf,{icon:Bf})))))),i.a.createElement("table",{className:"table mt-4"},i.a.createElement("thead",null,i.a.createElement("tr",null,i.a.createElement("th",{scope:"col"},"File Path"),i.a.createElement("th",{scope:"col"},"Churn"),i.a.createElement("th",{scope:"col"},"Complexity"),i.a.createElement("th",{scope:"col"},"Churn * Complexity"))),i.a.createElement("tbody",{id:"suggestions-table"},s.map((function(t){return i.a.createElement("tr",{key:t.file_path},i.a.createElement("td",null,t.file_path),i.a.createElement("td",null,t.x),i.a.createElement("td",null,Math.round(t.y)),i.a.createElement("td",null,Math.round(t.x*t.y)))}))))))}document.addEventListener("DOMContentLoaded",(function(){document.getElementById("react-graph")&&(o.a.render(i.a.createElement(bf,null),document.getElementById("react-graph")),o.a.render(i.a.createElement(Wf,null),document.getElementById("react-suggestions")))})),window.scatterPlot=Cf}]);
30
+ */var r,i,a,o,l;if(Object.defineProperty(e,"__esModule",{value:!0}),"undefined"==typeof window||"function"!=typeof MessageChannel){var u=null,s=null,c=function(){if(null!==u)try{var t=e.unstable_now();u(!0,t),u=null}catch(t){throw setTimeout(c,0),t}},f=Date.now();e.unstable_now=function(){return Date.now()-f},r=function(t){null!==u?setTimeout(r,0,t):(u=t,setTimeout(c,0))},i=function(t,e){s=setTimeout(t,e)},a=function(){clearTimeout(s)},o=function(){return!1},l=e.unstable_forceFrameRate=function(){}}else{var h=window.performance,p=window.Date,d=window.setTimeout,m=window.clearTimeout,y=window.requestAnimationFrame,v=window.cancelAnimationFrame;if("undefined"!=typeof console&&("function"!=typeof y&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),"function"!=typeof v&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")),"object"==typeof h&&"function"==typeof h.now)e.unstable_now=function(){return h.now()};else{var g=p.now();e.unstable_now=function(){return p.now()-g}}var _=!1,b=null,w=-1,x=5,k=0;o=function(){return e.unstable_now()>=k},l=function(){},e.unstable_forceFrameRate=function(t){0>t||125N(o,n))void 0!==u&&0>N(u,o)?(t[r]=u,t[l]=n,r=l):(t[r]=o,t[a]=n,r=a);else{if(!(void 0!==u&&0>N(u,n)))break t;t[r]=u,t[l]=n,r=l}}}return e}return null}function N(t,e){var n=t.sortIndex-e.sortIndex;return 0!==n?n:t.id-e.id}var P=[],O=[],A=1,F=null,L=3,R=!1,z=!1,j=!1;function I(t){for(var e=C(O);null!==e;){if(null===e.callback)M(O);else{if(!(e.startTime<=t))break;M(O),e.sortIndex=e.expirationTime,S(P,e)}e=C(O)}}function U(t){if(j=!1,I(t),!z)if(null!==C(P))z=!0,r(D);else{var e=C(O);null!==e&&i(U,e.startTime-t)}}function D(t,n){z=!1,j&&(j=!1,a()),R=!0;var r=L;try{for(I(n),F=C(P);null!==F&&(!(F.expirationTime>n)||t&&!o());){var l=F.callback;if(null!==l){F.callback=null,L=F.priorityLevel;var u=l(F.expirationTime<=n);n=e.unstable_now(),"function"==typeof u?F.callback=u:F===C(P)&&M(P),I(n)}else M(P);F=C(P)}if(null!==F)var s=!0;else{var c=C(O);null!==c&&i(U,c.startTime-n),s=!1}return s}finally{F=null,L=r,R=!1}}function H(t){switch(t){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var $=l;e.unstable_ImmediatePriority=1,e.unstable_UserBlockingPriority=2,e.unstable_NormalPriority=3,e.unstable_IdlePriority=5,e.unstable_LowPriority=4,e.unstable_runWithPriority=function(t,e){switch(t){case 1:case 2:case 3:case 4:case 5:break;default:t=3}var n=L;L=t;try{return e()}finally{L=n}},e.unstable_next=function(t){switch(L){case 1:case 2:case 3:var e=3;break;default:e=L}var n=L;L=e;try{return t()}finally{L=n}},e.unstable_scheduleCallback=function(t,n,o){var l=e.unstable_now();if("object"==typeof o&&null!==o){var u=o.delay;u="number"==typeof u&&0l?(t.sortIndex=u,S(O,t),null===C(P)&&t===C(O)&&(j?a():j=!0,i(U,u-l))):(t.sortIndex=o,S(P,t),z||R||(z=!0,r(D))),t},e.unstable_cancelCallback=function(t){t.callback=null},e.unstable_wrapCallback=function(t){var e=L;return function(){var n=L;L=e;try{return t.apply(this,arguments)}finally{L=n}}},e.unstable_getCurrentPriorityLevel=function(){return L},e.unstable_shouldYield=function(){var t=e.unstable_now();I(t);var n=C(P);return n!==F&&null!==F&&null!==n&&null!==n.callback&&n.startTime<=t&&n.expirationTime=0;--a){var o=this.tryEntries[a],l=o.completion;if("root"===o.tryLoc)return i("end");if(o.tryLoc<=this.prev){var u=r.call(o,"catchLoc"),s=r.call(o,"finallyLoc");if(u&&s){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),S(n),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;S(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:M(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),d}},t}(t.exports);try{regeneratorRuntime=r}catch(t){Function("r","regeneratorRuntime = r")(r)}},function(t,e,n){(function(t){var r=void 0!==t&&t||"undefined"!=typeof self&&self||window,i=Function.prototype.apply;function a(t,e){this._id=t,this._clearFn=e}e.setTimeout=function(){return new a(i.call(setTimeout,r,arguments),clearTimeout)},e.setInterval=function(){return new a(i.call(setInterval,r,arguments),clearInterval)},e.clearTimeout=e.clearInterval=function(t){t&&t.close()},a.prototype.unref=a.prototype.ref=function(){},a.prototype.close=function(){this._clearFn.call(r,this._id)},e.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},e.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},e._unrefActive=e.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout((function(){t._onTimeout&&t._onTimeout()}),e))},n(66),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||this&&this.setImmediate,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||this&&this.clearImmediate}).call(this,n(10))},function(t,e,n){(function(t,e){!function(t,n){"use strict";if(!t.setImmediate){var r,i,a,o,l,u=1,s={},c=!1,f=t.document,h=Object.getPrototypeOf&&Object.getPrototypeOf(t);h=h&&h.setTimeout?h:t,"[object process]"==={}.toString.call(t.process)?r=function(t){e.nextTick((function(){d(t)}))}:!function(){if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}}()?t.MessageChannel?((a=new MessageChannel).port1.onmessage=function(t){d(t.data)},r=function(t){a.port2.postMessage(t)}):f&&"onreadystatechange"in f.createElement("script")?(i=f.documentElement,r=function(t){var e=f.createElement("script");e.onreadystatechange=function(){d(t),e.onreadystatechange=null,i.removeChild(e),e=null},i.appendChild(e)}):r=function(t){setTimeout(d,0,t)}:(o="setImmediate$"+Math.random()+"$",l=function(e){e.source===t&&"string"==typeof e.data&&0===e.data.indexOf(o)&&d(+e.data.slice(o.length))},t.addEventListener?t.addEventListener("message",l,!1):t.attachEvent("onmessage",l),r=function(e){t.postMessage(o+e,"*")}),h.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),n=0;n1)for(var n=1;n
31
+ /** @license React v16.10.0
32
+ * react-is.production.min.js
33
+ *
34
+ * Copyright (c) Facebook, Inc. and its affiliates.
35
+ *
36
+ * This source code is licensed under the MIT license found in the
37
+ * LICENSE file in the root directory of this source tree.
38
+ */Object.defineProperty(e,"__esModule",{value:!0});var r="function"==typeof Symbol&&Symbol.for,i=r?Symbol.for("react.element"):60103,a=r?Symbol.for("react.portal"):60106,o=r?Symbol.for("react.fragment"):60107,l=r?Symbol.for("react.strict_mode"):60108,u=r?Symbol.for("react.profiler"):60114,s=r?Symbol.for("react.provider"):60109,c=r?Symbol.for("react.context"):60110,f=r?Symbol.for("react.async_mode"):60111,h=r?Symbol.for("react.concurrent_mode"):60111,p=r?Symbol.for("react.forward_ref"):60112,d=r?Symbol.for("react.suspense"):60113,m=r?Symbol.for("react.suspense_list"):60120,y=r?Symbol.for("react.memo"):60115,v=r?Symbol.for("react.lazy"):60116,g=r?Symbol.for("react.fundamental"):60117,_=r?Symbol.for("react.responder"):60118,b=r?Symbol.for("react.scope"):60119;function w(t){if("object"==typeof t&&null!==t){var e=t.$$typeof;switch(e){case i:switch(t=t.type){case f:case h:case o:case u:case l:case d:return t;default:switch(t=t&&t.$$typeof){case c:case p:case s:return t;default:return e}}case v:case y:case a:return e}}}function x(t){return w(t)===h}e.typeOf=w,e.AsyncMode=f,e.ConcurrentMode=h,e.ContextConsumer=c,e.ContextProvider=s,e.Element=i,e.ForwardRef=p,e.Fragment=o,e.Lazy=v,e.Memo=y,e.Portal=a,e.Profiler=u,e.StrictMode=l,e.Suspense=d,e.isValidElementType=function(t){return"string"==typeof t||"function"==typeof t||t===o||t===h||t===u||t===l||t===d||t===m||"object"==typeof t&&null!==t&&(t.$$typeof===v||t.$$typeof===y||t.$$typeof===s||t.$$typeof===c||t.$$typeof===p||t.$$typeof===g||t.$$typeof===_||t.$$typeof===b)},e.isAsyncMode=function(t){return x(t)||w(t)===f},e.isConcurrentMode=x,e.isContextConsumer=function(t){return w(t)===c},e.isContextProvider=function(t){return w(t)===s},e.isElement=function(t){return"object"==typeof t&&null!==t&&t.$$typeof===i},e.isForwardRef=function(t){return w(t)===p},e.isFragment=function(t){return w(t)===o},e.isLazy=function(t){return w(t)===v},e.isMemo=function(t){return w(t)===y},e.isPortal=function(t){return w(t)===a},e.isProfiler=function(t){return w(t)===u},e.isStrictMode=function(t){return w(t)===l},e.isSuspense=function(t){return w(t)===d}},function(t,e,n){"use strict";n.r(e);var r=n(0),i=n.n(r),a=n(40),o=n.n(a),l=n(2),u=n.n(l),s=function(t,e){return t<e?-1:t>e?1:t>=e?0:NaN};var c,f,h=(1===(c=s).length&&(f=c,c=function(t,e){return s(f(t),e)}),{left:function(t,e,n,r){for(null==n&&(n=0),null==r&&(r=t.length);n<r;){var i=n+r>>>1;c(t[i],e)<0?n=i+1:r=i}return n},right:function(t,e,n,r){for(null==n&&(n=0),null==r&&(r=t.length);n<r;){var i=n+r>>>1;c(t[i],e)>0?r=i:n=i+1}return n}}),p=h.right;var d=function(t,e){var n,r,i,a=t.length,o=-1;if(null==e){for(;++o<a;)if(null!=(n=t[o])&&n>=n)for(r=i=n;++o<a;)null!=(n=t[o])&&(r>n&&(r=n),i<n&&(i=n))}else for(;++o<a;)if(null!=(n=e(t[o],o,t))&&n>=n)for(r=i=n;++o<a;)null!=(n=e(t[o],o,t))&&(r>n&&(r=n),i<n&&(i=n));return[r,i]},m=Array.prototype,y=m.slice,v=(m.map,function(t){return function(){return t}}),g=function(t){return t},_=function(t,e,n){t=+t,e=+e,n=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+n;for(var r=-1,i=0|Math.max(0,Math.ceil((e-t)/n)),a=new Array(i);++r<i;)a[r]=t+r*n;return a},b=Math.sqrt(50),w=Math.sqrt(10),x=Math.sqrt(2);var k=function(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1},E=function(){var t=g,e=d,n=k;function r(r){var i,a,o=r.length,l=new Array(o);for(i=0;i<o;++i)l[i]=t(r[i],i,r);var u,s,c,f,h,d,m=e(l),y=m[0],v=m[1],g=n(l,y,v);Array.isArray(g)||(u=y,s=v,c=g,f=Math.abs(s-u)/Math.max(0,c),h=Math.pow(10,Math.floor(Math.log(f)/Math.LN10)),(d=f/h)>=b?h*=10:d>=w?h*=5:d>=x&&(h*=2),g=s<u?-h:h,g=_(Math.ceil(y/g)*g,v,g));for(var k=g.length;g[0]<=y;)g.shift(),--k;for(;g[k-1]>v;)g.pop(),--k;var E,T=new Array(k+1);for(i=0;i<=k;++i)(E=T[i]=[]).x0=i>0?g[i-1]:y,E.x1=i<k?g[i]:v;for(i=0;i<o;++i)y<=(a=l[i])&&a<=v&&T[p(g,a,0,k)].push(r[i]);return T}return r.value=function(e){return arguments.length?(t="function"==typeof e?e:v(e),r):t},r.domain=function(t){return arguments.length?(e="function"==typeof t?t:v([t[0],t[1]]),r):e},r.thresholds=function(t){return arguments.length?(n="function"==typeof t?t:Array.isArray(t)?v(y.call(t)):v(t),r):n},r},T=function(t,e){var n,r,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(n=t[a])&&n>=n)for(r=n;++a<i;)null!=(n=t[a])&&n>r&&(r=n)}else for(;++a<i;)if(null!=(n=e(t[a],a,t))&&n>=n)for(r=n;++a<i;)null!=(n=e(t[a],a,t))&&n>r&&(r=n);return r};var S=Array.prototype.slice,C=function(t){return t},M=1,N=2,P=3,O=4,A=1e-6;function F(t){return"translate("+(t+.5)+",0)"}function L(t){return"translate(0,"+(t+.5)+")"}function R(t){return function(e){return+t(e)}}function z(t){var e=Math.max(0,t.bandwidth()-1)/2;return t.round()&&(e=Math.round(e)),function(n){return+t(n)+e}}function j(){return!this.__axis}function I(t,e){var n=[],r=null,i=null,a=6,o=6,l=3,u=t===M||t===O?-1:1,s=t===O||t===N?"x":"y",c=t===M||t===P?F:L;function f(f){var h=null==r?e.ticks?e.ticks.apply(e,n):e.domain():r,p=null==i?e.tickFormat?e.tickFormat.apply(e,n):C:i,d=Math.max(a,0)+l,m=e.range(),y=+m[0]+.5,v=+m[m.length-1]+.5,g=(e.bandwidth?z:R)(e.copy()),_=f.selection?f.selection():f,b=_.selectAll(".domain").data([null]),w=_.selectAll(".tick").data(h,e).order(),x=w.exit(),k=w.enter().append("g").attr("class","tick"),E=w.select("line"),T=w.select("text");b=b.merge(b.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),w=w.merge(k),E=E.merge(k.append("line").attr("stroke","currentColor").attr(s+"2",u*a)),T=T.merge(k.append("text").attr("fill","currentColor").attr(s,u*d).attr("dy",t===M?"0em":t===P?"0.71em":"0.32em")),f!==_&&(b=b.transition(f),w=w.transition(f),E=E.transition(f),T=T.transition(f),x=x.transition(f).attr("opacity",A).attr("transform",(function(t){return isFinite(t=g(t))?c(t):this.getAttribute("transform")})),k.attr("opacity",A).attr("transform",(function(t){var e=this.parentNode.__axis;return c(e&&isFinite(e=e(t))?e:g(t))}))),x.remove(),b.attr("d",t===O||t==N?o?"M"+u*o+","+y+"H0.5V"+v+"H"+u*o:"M0.5,"+y+"V"+v:o?"M"+y+","+u*o+"V0.5H"+v+"V"+u*o:"M"+y+",0.5H"+v),w.attr("opacity",1).attr("transform",(function(t){return c(g(t))})),E.attr(s+"2",u*a),T.attr(s,u*d).text(p),_.filter(j).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===N?"start":t===O?"end":"middle"),_.each((function(){this.__axis=g}))}return f.scale=function(t){return arguments.length?(e=t,f):e},f.ticks=function(){return n=S.call(arguments),f},f.tickArguments=function(t){return arguments.length?(n=null==t?[]:S.call(t),f):n.slice()},f.tickValues=function(t){return arguments.length?(r=null==t?null:S.call(t),f):r&&r.slice()},f.tickFormat=function(t){return arguments.length?(i=t,f):i},f.tickSize=function(t){return arguments.length?(a=o=+t,f):a},f.tickSizeInner=function(t){return arguments.length?(a=+t,f):a},f.tickSizeOuter=function(t){return arguments.length?(o=+t,f):o},f.tickPadding=function(t){return arguments.length?(l=+t,f):l},f}function U(t){return I(P,t)}function D(t){return I(O,t)}var H={value:function(){}};function $(){for(var t,e=0,n=arguments.length,r={};e<n;++e){if(!(t=arguments[e]+"")||t in r)throw new Error("illegal type: "+t);r[t]=[]}return new W(r)}function W(t){this._=t}function B(t,e){return t.trim().split(/^|\s+/).map((function(t){var n="",r=t.indexOf(".");if(r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:n}}))}function q(t,e){for(var n,r=0,i=t.length;r<i;++r)if((n=t[r]).name===e)return n.value}function Y(t,e,n){for(var r=0,i=t.length;r<i;++r)if(t[r].name===e){t[r]=H,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=n&&t.push({name:e,value:n}),t}W.prototype=$.prototype={constructor:W,on:function(t,e){var n,r=this._,i=B(t+"",r),a=-1,o=i.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++a<o;)if(n=(t=i[a]).type)r[n]=Y(r[n],t.name,e);else if(null==e)for(n in r)r[n]=Y(r[n],t.name,null);return this}for(;++a<o;)if((n=(t=i[a]).type)&&(n=q(r[n],t.name)))return n},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new W(t)},call:function(t,e){if((n=arguments.length-2)>0)for(var n,r,i=new Array(n),a=0;a<n;++a)i[a]=arguments[a+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(a=0,n=(r=this._[t]).length;a<n;++a)r[a].value.apply(e,i)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,a=r.length;i<a;++i)r[i].value.apply(e,n)}};var V=$,X="http://www.w3.org/1999/xhtml",Q={svg:"http://www.w3.org/2000/svg",xhtml:X,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},K=function(t){var e=t+="",n=e.indexOf(":");return n>=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),Q.hasOwnProperty(e)?{space:Q[e],local:t}:t};function G(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===X&&e.documentElement.namespaceURI===X?e.createElement(t):e.createElementNS(n,t)}}function Z(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}var J=function(t){var e=K(t);return(e.local?Z:G)(e)};function tt(){}var et=function(t){return null==t?tt:function(){return this.querySelector(t)}};function nt(){return[]}var rt=function(t){return null==t?nt:function(){return this.querySelectorAll(t)}},it=function(t){return function(){return this.matches(t)}},at=function(t){return new Array(t.length)};function ot(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}ot.prototype={constructor:ot,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var lt="$";function ut(t,e,n,r,i,a){for(var o,l=0,u=e.length,s=a.length;l<s;++l)(o=e[l])?(o.__data__=a[l],r[l]=o):n[l]=new ot(t,a[l]);for(;l<u;++l)(o=e[l])&&(i[l]=o)}function st(t,e,n,r,i,a,o){var l,u,s,c={},f=e.length,h=a.length,p=new Array(f);for(l=0;l<f;++l)(u=e[l])&&(p[l]=s=lt+o.call(u,u.__data__,l,e),s in c?i[l]=u:c[s]=u);for(l=0;l<h;++l)(u=c[s=lt+o.call(t,a[l],l,a)])?(r[l]=u,u.__data__=a[l],c[s]=null):n[l]=new ot(t,a[l]);for(l=0;l<f;++l)(u=e[l])&&c[p[l]]===u&&(i[l]=u)}function ct(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function ft(t){return function(){this.removeAttribute(t)}}function ht(t){return function(){this.removeAttributeNS(t.space,t.local)}}function pt(t,e){return function(){this.setAttribute(t,e)}}function dt(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function mt(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}}function yt(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}var vt=function(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView};function gt(t){return function(){this.style.removeProperty(t)}}function _t(t,e,n){return function(){this.style.setProperty(t,e,n)}}function bt(t,e,n){return function(){var r=e.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}function wt(t,e){return t.style.getPropertyValue(e)||vt(t).getComputedStyle(t,null).getPropertyValue(e)}function xt(t){return function(){delete this[t]}}function kt(t,e){return function(){this[t]=e}}function Et(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}function Tt(t){return t.trim().split(/^|\s+/)}function St(t){return t.classList||new Ct(t)}function Ct(t){this._node=t,this._names=Tt(t.getAttribute("class")||"")}function Mt(t,e){for(var n=St(t),r=-1,i=e.length;++r<i;)n.add(e[r])}function Nt(t,e){for(var n=St(t),r=-1,i=e.length;++r<i;)n.remove(e[r])}function Pt(t){return function(){Mt(this,t)}}function Ot(t){return function(){Nt(this,t)}}function At(t,e){return function(){(e.apply(this,arguments)?Mt:Nt)(this,t)}}Ct.prototype={add:function(t){this._names.indexOf(t)<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function Ft(){this.textContent=""}function Lt(t){return function(){this.textContent=t}}function Rt(t){return function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}}function zt(){this.innerHTML=""}function jt(t){return function(){this.innerHTML=t}}function It(t){return function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}}function Ut(){this.nextSibling&&this.parentNode.appendChild(this)}function Dt(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Ht(){return null}function $t(){var t=this.parentNode;t&&t.removeChild(this)}function Wt(){return this.parentNode.insertBefore(this.cloneNode(!1),this.nextSibling)}function Bt(){return this.parentNode.insertBefore(this.cloneNode(!0),this.nextSibling)}var qt={},Yt=null;"undefined"!=typeof document&&("onmouseenter"in document.documentElement||(qt={mouseenter:"mouseover",mouseleave:"mouseout"}));function Vt(t,e,n){return t=Xt(t,e,n),function(e){var n=e.relatedTarget;n&&(n===this||8&n.compareDocumentPosition(this))||t.call(this,e)}}function Xt(t,e,n){return function(r){var i=Yt;Yt=r;try{t.call(this,this.__data__,e,n)}finally{Yt=i}}}function Qt(t){return t.trim().split(/^|\s+/).map((function(t){var e="",n=t.indexOf(".");return n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}}))}function Kt(t){return function(){var e=this.__on;if(e){for(var n,r=0,i=-1,a=e.length;r<a;++r)n=e[r],t.type&&n.type!==t.type||n.name!==t.name?e[++i]=n:this.removeEventListener(n.type,n.listener,n.capture);++i?e.length=i:delete this.__on}}}function Gt(t,e,n){var r=qt.hasOwnProperty(t.type)?Vt:Xt;return function(i,a,o){var l,u=this.__on,s=r(e,a,o);if(u)for(var c=0,f=u.length;c<f;++c)if((l=u[c]).type===t.type&&l.name===t.name)return this.removeEventListener(l.type,l.listener,l.capture),this.addEventListener(l.type,l.listener=s,l.capture=n),void(l.value=e);this.addEventListener(t.type,s,n),l={type:t.type,name:t.name,value:e,listener:s,capture:n},u?u.push(l):this.__on=[l]}}function Zt(t,e,n){var r=vt(t),i=r.CustomEvent;"function"==typeof i?i=new i(e,n):(i=r.document.createEvent("Event"),n?(i.initEvent(e,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(e,!1,!1)),t.dispatchEvent(i)}function Jt(t,e){return function(){return Zt(this,t,e)}}function te(t,e){return function(){return Zt(this,t,e.apply(this,arguments))}}var ee=[null];function ne(t,e){this._groups=t,this._parents=e}function re(){return new ne([[document.documentElement]],ee)}ne.prototype=re.prototype={constructor:ne,select:function(t){"function"!=typeof t&&(t=et(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var a,o,l=e[i],u=l.length,s=r[i]=new Array(u),c=0;c<u;++c)(a=l[c])&&(o=t.call(a,a.__data__,c,l))&&("__data__"in a&&(o.__data__=a.__data__),s[c]=o);return new ne(r,this._parents)},selectAll:function(t){"function"!=typeof t&&(t=rt(t));for(var e=this._groups,n=e.length,r=[],i=[],a=0;a<n;++a)for(var o,l=e[a],u=l.length,s=0;s<u;++s)(o=l[s])&&(r.push(t.call(o,o.__data__,s,l)),i.push(o));return new ne(r,i)},filter:function(t){"function"!=typeof t&&(t=it(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var a,o=e[i],l=o.length,u=r[i]=[],s=0;s<l;++s)(a=o[s])&&t.call(a,a.__data__,s,o)&&u.push(a);return new ne(r,this._parents)},data:function(t,e){if(!t)return d=new Array(this.size()),c=-1,this.each((function(t){d[++c]=t})),d;var n,r=e?st:ut,i=this._parents,a=this._groups;"function"!=typeof t&&(n=t,t=function(){return n});for(var o=a.length,l=new Array(o),u=new Array(o),s=new Array(o),c=0;c<o;++c){var f=i[c],h=a[c],p=h.length,d=t.call(f,f&&f.__data__,c,i),m=d.length,y=u[c]=new Array(m),v=l[c]=new Array(m);r(f,h,y,v,s[c]=new Array(p),d,e);for(var g,_,b=0,w=0;b<m;++b)if(g=y[b]){for(b>=w&&(w=b+1);!(_=v[w])&&++w<m;);g._next=_||null}}return(l=new ne(l,i))._enter=u,l._exit=s,l},enter:function(){return new ne(this._enter||this._groups.map(at),this._parents)},exit:function(){return new ne(this._exit||this._groups.map(at),this._parents)},join:function(t,e,n){var r=this.enter(),i=this,a=this.exit();return r="function"==typeof t?t(r):r.append(t+""),null!=e&&(i=e(i)),null==n?a.remove():n(a),r&&i?r.merge(i).order():i},merge:function(t){for(var e=this._groups,n=t._groups,r=e.length,i=n.length,a=Math.min(r,i),o=new Array(r),l=0;l<a;++l)for(var u,s=e[l],c=n[l],f=s.length,h=o[l]=new Array(f),p=0;p<f;++p)(u=s[p]||c[p])&&(h[p]=u);for(;l<r;++l)o[l]=e[l];return new ne(o,this._parents)},order:function(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var r,i=t[e],a=i.length-1,o=i[a];--a>=0;)(r=i[a])&&(o&&4^r.compareDocumentPosition(o)&&o.parentNode.insertBefore(r,o),o=r);return this},sort:function(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=ct);for(var n=this._groups,r=n.length,i=new Array(r),a=0;a<r;++a){for(var o,l=n[a],u=l.length,s=i[a]=new Array(u),c=0;c<u;++c)(o=l[c])&&(s[c]=o);s.sort(e)}return new ne(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){var t=new Array(this.size()),e=-1;return this.each((function(){t[++e]=this})),t},node:function(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null},size:function(){var t=0;return this.each((function(){++t})),t},empty:function(){return!this.node()},each:function(t){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var i,a=e[n],o=0,l=a.length;o<l;++o)(i=a[o])&&t.call(i,i.__data__,o,a);return this},attr:function(t,e){var n=K(t);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==e?n.local?ht:ft:"function"==typeof e?n.local?yt:mt:n.local?dt:pt)(n,e))},style:function(t,e,n){return arguments.length>1?this.each((null==e?gt:"function"==typeof e?bt:_t)(t,e,null==n?"":n)):wt(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?xt:"function"==typeof e?Et:kt)(t,e)):this.node()[t]},classed:function(t,e){var n=Tt(t+"");if(arguments.length<2){for(var r=St(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each(("function"==typeof e?At:e?Pt:Ot)(n,e))},text:function(t){return arguments.length?this.each(null==t?Ft:("function"==typeof t?Rt:Lt)(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?zt:("function"==typeof t?It:jt)(t)):this.node().innerHTML},raise:function(){return this.each(Ut)},lower:function(){return this.each(Dt)},append:function(t){var e="function"==typeof t?t:J(t);return this.select((function(){return this.appendChild(e.apply(this,arguments))}))},insert:function(t,e){var n="function"==typeof t?t:J(t),r=null==e?Ht:"function"==typeof e?e:et(e);return this.select((function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)}))},remove:function(){return this.each($t)},clone:function(t){return this.select(t?Bt:Wt)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,e,n){var r,i,a=Qt(t+""),o=a.length;if(!(arguments.length<2)){for(l=e?Gt:Kt,null==n&&(n=!1),r=0;r<o;++r)this.each(l(a[r],e,n));return this}var l=this.node().__on;if(l)for(var u,s=0,c=l.length;s<c;++s)for(r=0,u=l[s];r<o;++r)if((i=a[r]).type===u.type&&i.name===u.name)return u.value},dispatch:function(t,e){return this.each(("function"==typeof e?te:Jt)(t,e))}};var ie=re,ae=function(t){return"string"==typeof t?new ne([[document.querySelector(t)]],[document.documentElement]):new ne([[t]],ee)},oe=0;function le(){this._="@"+(++oe).toString(36)}le.prototype=function(){return new le}.prototype={constructor:le,get:function(t){for(var e=this._;!(e in t);)if(!(t=t.parentNode))return;return t[e]},set:function(t,e){return t[this._]=e},remove:function(t){return this._ in t&&delete t[this._]},toString:function(){return this._}};function ue(t,e,n,r,i,a,o,l,u,s){this.target=t,this.type=e,this.subject=n,this.identifier=r,this.active=i,this.x=a,this.y=o,this.dx=l,this.dy=u,this._=s}ue.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};var se=function(t,e,n){t.prototype=e.prototype=n,n.constructor=t};function ce(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function fe(){}var he="\\s*([+-]?\\d+)\\s*",pe="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",de="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",me=/^#([0-9a-f]{3,8})$/,ye=new RegExp("^rgb\\("+[he,he,he]+"\\)$"),ve=new RegExp("^rgb\\("+[de,de,de]+"\\)$"),ge=new RegExp("^rgba\\("+[he,he,he,pe]+"\\)$"),_e=new RegExp("^rgba\\("+[de,de,de,pe]+"\\)$"),be=new RegExp("^hsl\\("+[pe,de,de]+"\\)$"),we=new RegExp("^hsla\\("+[pe,de,de,pe]+"\\)$"),xe={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function ke(){return this.rgb().formatHex()}function Ee(){return this.rgb().formatRgb()}function Te(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=me.exec(t))?(n=e[1].length,e=parseInt(e[1],16),6===n?Se(e):3===n?new Pe(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?new Pe(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?new Pe(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=ye.exec(t))?new Pe(e[1],e[2],e[3],1):(e=ve.exec(t))?new Pe(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=ge.exec(t))?Ce(e[1],e[2],e[3],e[4]):(e=_e.exec(t))?Ce(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=be.exec(t))?Le(e[1],e[2]/100,e[3]/100,1):(e=we.exec(t))?Le(e[1],e[2]/100,e[3]/100,e[4]):xe.hasOwnProperty(t)?Se(xe[t]):"transparent"===t?new Pe(NaN,NaN,NaN,0):null}function Se(t){return new Pe(t>>16&255,t>>8&255,255&t,1)}function Ce(t,e,n,r){return r<=0&&(t=e=n=NaN),new Pe(t,e,n,r)}function Me(t){return t instanceof fe||(t=Te(t)),t?new Pe((t=t.rgb()).r,t.g,t.b,t.opacity):new Pe}function Ne(t,e,n,r){return 1===arguments.length?Me(t):new Pe(t,e,n,null==r?1:r)}function Pe(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function Oe(){return"#"+Fe(this.r)+Fe(this.g)+Fe(this.b)}function Ae(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}function Fe(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function Le(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new je(t,e,n,r)}function Re(t){if(t instanceof je)return new je(t.h,t.s,t.l,t.opacity);if(t instanceof fe||(t=Te(t)),!t)return new je;if(t instanceof je)return t;var e=(t=t.rgb()).r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),a=Math.max(e,n,r),o=NaN,l=a-i,u=(a+i)/2;return l?(o=e===a?(n-r)/l+6*(n<r):n===a?(r-e)/l+2:(e-n)/l+4,l/=u<.5?a+i:2-a-i,o*=60):l=u>0&&u<1?0:o,new je(o,l,u,t.opacity)}function ze(t,e,n,r){return 1===arguments.length?Re(t):new je(t,e,n,null==r?1:r)}function je(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function Ie(t,e,n){return 255*(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)}function Ue(t,e,n,r,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*n+(1+3*t+3*a-3*o)*r+o*i)/6}se(fe,Te,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:ke,formatHex:ke,formatHsl:function(){return Re(this).formatHsl()},formatRgb:Ee,toString:Ee}),se(Pe,Ne,ce(fe,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new Pe(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new Pe(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Oe,formatHex:Oe,formatRgb:Ae,toString:Ae})),se(je,ze,ce(fe,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new je(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new je(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new Pe(Ie(t>=240?t-240:t+120,i,r),Ie(t,i,r),Ie(t<120?t+240:t-120,i,r),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===t?")":", "+t+")")}}));var De=function(t){return function(){return t}};function He(t,e){return function(n){return t+n*e}}function $e(t,e){var n=e-t;return n?He(t,n>180||n<-180?n-360*Math.round(n/360):n):De(isNaN(t)?e:t)}function We(t){return 1==(t=+t)?Be:function(e,n){return n-e?function(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}(e,n,t):De(isNaN(e)?n:e)}}function Be(t,e){var n=e-t;return n?He(t,n):De(isNaN(t)?e:t)}var qe=function t(e){var n=We(e);function r(t,e){var r=n((t=Ne(t)).r,(e=Ne(e)).r),i=n(t.g,e.g),a=n(t.b,e.b),o=Be(t.opacity,e.opacity);return function(e){return t.r=r(e),t.g=i(e),t.b=a(e),t.opacity=o(e),t+""}}return r.gamma=t,r}(1);function Ye(t){return function(e){var n,r,i=e.length,a=new Array(i),o=new Array(i),l=new Array(i);for(n=0;n<i;++n)r=Ne(e[n]),a[n]=r.r||0,o[n]=r.g||0,l[n]=r.b||0;return a=t(a),o=t(o),l=t(l),r.opacity=1,function(t){return r.r=a(t),r.g=o(t),r.b=l(t),r+""}}}Ye((function(t){var e=t.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[r],a=t[r+1],o=r>0?t[r-1]:2*i-a,l=r<e-1?t[r+2]:2*a-i;return Ue((n-r/e)*e,o,i,a,l)}})),Ye((function(t){var e=t.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*e),i=t[(r+e-1)%e],a=t[r%e],o=t[(r+1)%e],l=t[(r+2)%e];return Ue((n-r/e)*e,i,a,o,l)}}));var Ve=function(t,e){var n,r=e?e.length:0,i=t?Math.min(r,t.length):0,a=new Array(i),o=new Array(r);for(n=0;n<i;++n)a[n]=an(t[n],e[n]);for(;n<r;++n)o[n]=e[n];return function(t){for(n=0;n<i;++n)o[n]=a[n](t);return o}},Xe=function(t,e){var n=new Date;return e-=t=+t,function(r){return n.setTime(t+e*r),n}},Qe=function(t,e){return e-=t=+t,function(n){return t+e*n}},Ke=function(t,e){var n,r={},i={};for(n in null!==t&&"object"==typeof t||(t={}),null!==e&&"object"==typeof e||(e={}),e)n in t?r[n]=an(t[n],e[n]):i[n]=e[n];return function(t){for(n in r)i[n]=r[n](t);return i}},Ge=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Ze=new RegExp(Ge.source,"g");var Je,tn,en,nn,rn=function(t,e){var n,r,i,a=Ge.lastIndex=Ze.lastIndex=0,o=-1,l=[],u=[];for(t+="",e+="";(n=Ge.exec(t))&&(r=Ze.exec(e));)(i=r.index)>a&&(i=e.slice(a,i),l[o]?l[o]+=i:l[++o]=i),(n=n[0])===(r=r[0])?l[o]?l[o]+=r:l[++o]=r:(l[++o]=null,u.push({i:o,x:Qe(n,r)})),a=Ze.lastIndex;return a<e.length&&(i=e.slice(a),l[o]?l[o]+=i:l[++o]=i),l.length<2?u[0]?function(t){return function(e){return t(e)+""}}(u[0].x):function(t){return function(){return t}}(e):(e=u.length,function(t){for(var n,r=0;r<e;++r)l[(n=u[r]).i]=n.x(t);return l.join("")})},an=function(t,e){var n,r=typeof e;return null==e||"boolean"===r?De(e):("number"===r?Qe:"string"===r?(n=Te(e))?(e=n,qe):rn:e instanceof Te?qe:e instanceof Date?Xe:Array.isArray(e)?Ve:"function"!=typeof e.valueOf&&"function"!=typeof e.toString||isNaN(e)?Ke:Qe)(t,e)},on=function(t,e){return e-=t=+t,function(n){return Math.round(t+e*n)}},ln=180/Math.PI,un={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},sn=function(t,e,n,r,i,a){var o,l,u;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(u=t*n+e*r)&&(n-=t*u,r-=e*u),(l=Math.sqrt(n*n+r*r))&&(n/=l,r/=l,u/=l),t*r<e*n&&(t=-t,e=-e,u=-u,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(e,t)*ln,skewX:Math.atan(u)*ln,scaleX:o,scaleY:l}};function cn(t,e,n,r){function i(t){return t.length?t.pop()+" ":""}return function(a,o){var l=[],u=[];return a=t(a),o=t(o),function(t,r,i,a,o,l){if(t!==i||r!==a){var u=o.push("translate(",null,e,null,n);l.push({i:u-4,x:Qe(t,i)},{i:u-2,x:Qe(r,a)})}else(i||a)&&o.push("translate("+i+e+a+n)}(a.translateX,a.translateY,o.translateX,o.translateY,l,u),function(t,e,n,a){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),a.push({i:n.push(i(n)+"rotate(",null,r)-2,x:Qe(t,e)})):e&&n.push(i(n)+"rotate("+e+r)}(a.rotate,o.rotate,l,u),function(t,e,n,a){t!==e?a.push({i:n.push(i(n)+"skewX(",null,r)-2,x:Qe(t,e)}):e&&n.push(i(n)+"skewX("+e+r)}(a.skewX,o.skewX,l,u),function(t,e,n,r,a,o){if(t!==n||e!==r){var l=a.push(i(a)+"scale(",null,",",null,")");o.push({i:l-4,x:Qe(t,n)},{i:l-2,x:Qe(e,r)})}else 1===n&&1===r||a.push(i(a)+"scale("+n+","+r+")")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,l,u),a=o=null,function(t){for(var e,n=-1,r=u.length;++n<r;)l[(e=u[n]).i]=e.x(t);return l.join("")}}}var fn=cn((function(t){return"none"===t?un:(Je||(Je=document.createElement("DIV"),tn=document.documentElement,en=document.defaultView),Je.style.transform=t,t=en.getComputedStyle(tn.appendChild(Je),null).getPropertyValue("transform"),tn.removeChild(Je),t=t.slice(7,-1).split(","),sn(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]))}),"px, ","px)","deg)"),hn=cn((function(t){return null==t?un:(nn||(nn=document.createElementNS("http://www.w3.org/2000/svg","g")),nn.setAttribute("transform",t),(t=nn.transform.baseVal.consolidate())?(t=t.matrix,sn(t.a,t.b,t.c,t.d,t.e,t.f)):un)}),", ",")",")");Math.SQRT2;function pn(t){return function(e,n){var r=t((e=ze(e)).h,(n=ze(n)).h),i=Be(e.s,n.s),a=Be(e.l,n.l),o=Be(e.opacity,n.opacity);return function(t){return e.h=r(t),e.s=i(t),e.l=a(t),e.opacity=o(t),e+""}}}pn($e),pn(Be);var dn=Math.PI/180,mn=180/Math.PI,yn=.96422,vn=1,gn=.82521,_n=4/29,bn=6/29,wn=3*bn*bn,xn=bn*bn*bn;function kn(t){if(t instanceof Tn)return new Tn(t.l,t.a,t.b,t.opacity);if(t instanceof An)return Fn(t);t instanceof Pe||(t=Me(t));var e,n,r=Nn(t.r),i=Nn(t.g),a=Nn(t.b),o=Sn((.2225045*r+.7168786*i+.0606169*a)/vn);return r===i&&i===a?e=n=o:(e=Sn((.4360747*r+.3850649*i+.1430804*a)/yn),n=Sn((.0139322*r+.0971045*i+.7141733*a)/gn)),new Tn(116*o-16,500*(e-o),200*(o-n),t.opacity)}function En(t,e,n,r){return 1===arguments.length?kn(t):new Tn(t,e,n,null==r?1:r)}function Tn(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}function Sn(t){return t>xn?Math.pow(t,1/3):t/wn+_n}function Cn(t){return t>bn?t*t*t:wn*(t-_n)}function Mn(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Nn(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Pn(t){if(t instanceof An)return new An(t.h,t.c,t.l,t.opacity);if(t instanceof Tn||(t=kn(t)),0===t.a&&0===t.b)return new An(NaN,0<t.l&&t.l<100?0:NaN,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*mn;return new An(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function On(t,e,n,r){return 1===arguments.length?Pn(t):new An(t,e,n,null==r?1:r)}function An(t,e,n,r){this.h=+t,this.c=+e,this.l=+n,this.opacity=+r}function Fn(t){if(isNaN(t.h))return new Tn(t.l,0,0,t.opacity);var e=t.h*dn;return new Tn(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}function Ln(t){return function(e,n){var r=t((e=On(e)).h,(n=On(n)).h),i=Be(e.c,n.c),a=Be(e.l,n.l),o=Be(e.opacity,n.opacity);return function(t){return e.h=r(t),e.c=i(t),e.l=a(t),e.opacity=o(t),e+""}}}se(Tn,En,ce(fe,{brighter:function(t){return new Tn(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new Tn(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return new Pe(Mn(3.1338561*(e=yn*Cn(e))-1.6168667*(t=vn*Cn(t))-.4906146*(n=gn*Cn(n))),Mn(-.9787684*e+1.9161415*t+.033454*n),Mn(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}})),se(An,On,ce(fe,{brighter:function(t){return new An(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new An(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return Fn(this).rgb()}}));Ln($e),Ln(Be);var Rn=-.29227,zn=-.90649,jn=1.97294,In=jn*zn,Un=1.78277*jn,Dn=1.78277*Rn- -.14861*zn;function Hn(t,e,n,r){return 1===arguments.length?function(t){if(t instanceof $n)return new $n(t.h,t.s,t.l,t.opacity);t instanceof Pe||(t=Me(t));var e=t.r/255,n=t.g/255,r=t.b/255,i=(Dn*r+In*e-Un*n)/(Dn+In-Un),a=r-i,o=(jn*(n-i)-Rn*a)/zn,l=Math.sqrt(o*o+a*a)/(jn*i*(1-i)),u=l?Math.atan2(o,a)*mn-120:NaN;return new $n(u<0?u+360:u,l,i,t.opacity)}(t):new $n(t,e,n,null==r?1:r)}function $n(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function Wn(t){return function e(n){function r(e,r){var i=t((e=Hn(e)).h,(r=Hn(r)).h),a=Be(e.s,r.s),o=Be(e.l,r.l),l=Be(e.opacity,r.opacity);return function(t){return e.h=i(t),e.s=a(t),e.l=o(Math.pow(t,n)),e.opacity=l(t),e+""}}return n=+n,r.gamma=e,r}(1)}se($n,Hn,ce(fe,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new $n(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new $n(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*dn,e=+this.l,n=isNaN(this.s)?0:this.s*e*(1-e),r=Math.cos(t),i=Math.sin(t);return new Pe(255*(e+n*(-.14861*r+1.78277*i)),255*(e+n*(Rn*r+zn*i)),255*(e+n*(jn*r)),this.opacity)}}));Wn($e),Wn(Be);var Bn,qn,Yn=0,Vn=0,Xn=0,Qn=1e3,Kn=0,Gn=0,Zn=0,Jn="object"==typeof performance&&performance.now?performance:Date,tr="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function er(){return Gn||(tr(nr),Gn=Jn.now()+Zn)}function nr(){Gn=0}function rr(){this._call=this._time=this._next=null}function ir(t,e,n){var r=new rr;return r.restart(t,e,n),r}function ar(){Gn=(Kn=Jn.now())+Zn,Yn=Vn=0;try{!function(){er(),++Yn;for(var t,e=Bn;e;)(t=Gn-e._time)>=0&&e._call.call(null,t),e=e._next;--Yn}()}finally{Yn=0,function(){var t,e,n=Bn,r=1/0;for(;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:Bn=e);qn=t,lr(r)}(),Gn=0}}function or(){var t=Jn.now(),e=t-Kn;e>Qn&&(Zn-=e,Kn=t)}function lr(t){Yn||(Vn&&(Vn=clearTimeout(Vn)),t-Gn>24?(t<1/0&&(Vn=setTimeout(ar,t-Jn.now()-Zn)),Xn&&(Xn=clearInterval(Xn))):(Xn||(Kn=Jn.now(),Xn=setInterval(or,Qn)),Yn=1,tr(ar)))}rr.prototype=ir.prototype={constructor:rr,restart:function(t,e,n){if("function"!=typeof t)throw new TypeError("callback is not a function");n=(null==n?er():+n)+(null==e?0:+e),this._next||qn===this||(qn?qn._next=this:Bn=this,qn=this),this._call=t,this._time=n,lr()},stop:function(){this._call&&(this._call=null,this._time=1/0,lr())}};var ur=function(t,e,n){var r=new rr;return e=null==e?0:+e,r.restart((function(n){r.stop(),t(n+e)}),e,n),r},sr=V("start","end","cancel","interrupt"),cr=[],fr=0,hr=1,pr=2,dr=3,mr=4,yr=5,vr=6,gr=function(t,e,n,r,i,a){var o=t.__transition;if(o){if(n in o)return}else t.__transition={};!function(t,e,n){var r,i=t.__transition;function a(u){var s,c,f,h;if(n.state!==hr)return l();for(s in i)if((h=i[s]).name===n.name){if(h.state===dr)return ur(a);h.state===mr?(h.state=vr,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete i[s]):+s<e&&(h.state=vr,h.timer.stop(),h.on.call("cancel",t,t.__data__,h.index,h.group),delete i[s])}if(ur((function(){n.state===dr&&(n.state=mr,n.timer.restart(o,n.delay,n.time),o(u))})),n.state=pr,n.on.call("start",t,t.__data__,n.index,n.group),n.state===pr){for(n.state=dr,r=new Array(f=n.tween.length),s=0,c=-1;s<f;++s)(h=n.tween[s].value.call(t,t.__data__,n.index,n.group))&&(r[++c]=h);r.length=c+1}}function o(e){for(var i=e<n.duration?n.ease.call(null,e/n.duration):(n.timer.restart(l),n.state=yr,1),a=-1,o=r.length;++a<o;)r[a].call(t,i);n.state===yr&&(n.on.call("end",t,t.__data__,n.index,n.group),l())}function l(){for(var r in n.state=vr,n.timer.stop(),delete i[e],i)return;delete t.__transition}i[e]=n,n.timer=ir((function(t){n.state=hr,n.timer.restart(a,n.delay,n.time),n.delay<=t&&a(t-n.delay)}),0,n.time)}(t,n,{name:e,index:r,group:i,on:sr,tween:cr,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:fr})};function _r(t,e){var n=wr(t,e);if(n.state>fr)throw new Error("too late; already scheduled");return n}function br(t,e){var n=wr(t,e);if(n.state>dr)throw new Error("too late; already running");return n}function wr(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}var xr=function(t,e){var n,r,i,a=t.__transition,o=!0;if(a){for(i in e=null==e?null:e+"",a)(n=a[i]).name===e?(r=n.state>pr&&n.state<yr,n.state=vr,n.timer.stop(),n.on.call(r?"interrupt":"cancel",t,t.__data__,n.index,n.group),delete a[i]):o=!1;o&&delete t.__transition}};function kr(t,e){var n,r;return function(){var i=br(this,t),a=i.tween;if(a!==n)for(var o=0,l=(r=n=a).length;o<l;++o)if(r[o].name===e){(r=r.slice()).splice(o,1);break}i.tween=r}}function Er(t,e,n){var r,i;if("function"!=typeof n)throw new Error;return function(){var a=br(this,t),o=a.tween;if(o!==r){i=(r=o).slice();for(var l={name:e,value:n},u=0,s=i.length;u<s;++u)if(i[u].name===e){i[u]=l;break}u===s&&i.push(l)}a.tween=i}}function Tr(t,e,n){var r=t._id;return t.each((function(){var t=br(this,r);(t.value||(t.value={}))[e]=n.apply(this,arguments)})),function(t){return wr(t,r).value[e]}}var Sr=function(t,e){var n;return("number"==typeof e?Qe:e instanceof Te?qe:(n=Te(e))?(e=n,qe):rn)(t,e)};function Cr(t){return function(){this.removeAttribute(t)}}function Mr(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Nr(t,e,n){var r,i,a=n+"";return function(){var o=this.getAttribute(t);return o===a?null:o===r?i:i=e(r=o,n)}}function Pr(t,e,n){var r,i,a=n+"";return function(){var o=this.getAttributeNS(t.space,t.local);return o===a?null:o===r?i:i=e(r=o,n)}}function Or(t,e,n){var r,i,a;return function(){var o,l,u=n(this);if(null!=u)return(o=this.getAttribute(t))===(l=u+"")?null:o===r&&l===i?a:(i=l,a=e(r=o,u));this.removeAttribute(t)}}function Ar(t,e,n){var r,i,a;return function(){var o,l,u=n(this);if(null!=u)return(o=this.getAttributeNS(t.space,t.local))===(l=u+"")?null:o===r&&l===i?a:(i=l,a=e(r=o,u));this.removeAttributeNS(t.space,t.local)}}function Fr(t,e){var n,r;function i(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&function(t,e){return function(n){this.setAttributeNS(t.space,t.local,e(n))}}(t,i)),n}return i._value=e,i}function Lr(t,e){var n,r;function i(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&function(t,e){return function(n){this.setAttribute(t,e(n))}}(t,i)),n}return i._value=e,i}function Rr(t,e){return function(){_r(this,t).delay=+e.apply(this,arguments)}}function zr(t,e){return e=+e,function(){_r(this,t).delay=e}}function jr(t,e){return function(){br(this,t).duration=+e.apply(this,arguments)}}function Ir(t,e){return e=+e,function(){br(this,t).duration=e}}function Ur(t,e){if("function"!=typeof e)throw new Error;return function(){br(this,t).ease=e}}function Dr(t,e,n){var r,i,a=function(t){return(t+"").trim().split(/^|\s+/).every((function(t){var e=t.indexOf(".");return e>=0&&(t=t.slice(0,e)),!t||"start"===t}))}(e)?_r:br;return function(){var o=a(this,t),l=o.on;l!==r&&(i=(r=l).copy()).on(e,n),o.on=i}}var Hr=ie.prototype.constructor;function $r(t){return function(){this.style.removeProperty(t)}}function Wr(t,e,n){var r,i;function a(){var a=e.apply(this,arguments);return a!==i&&(r=(i=a)&&function(t,e,n){return function(r){this.style.setProperty(t,e(r),n)}}(t,a,n)),r}return a._value=e,a}var Br=0;function qr(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}function Yr(){return++Br}var Vr=ie.prototype;qr.prototype=function(t){return ie().transition(t)}.prototype={constructor:qr,select:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=et(t));for(var r=this._groups,i=r.length,a=new Array(i),o=0;o<i;++o)for(var l,u,s=r[o],c=s.length,f=a[o]=new Array(c),h=0;h<c;++h)(l=s[h])&&(u=t.call(l,l.__data__,h,s))&&("__data__"in l&&(u.__data__=l.__data__),f[h]=u,gr(f[h],e,n,h,f,wr(l,n)));return new qr(a,this._parents,e,n)},selectAll:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=rt(t));for(var r=this._groups,i=r.length,a=[],o=[],l=0;l<i;++l)for(var u,s=r[l],c=s.length,f=0;f<c;++f)if(u=s[f]){for(var h,p=t.call(u,u.__data__,f,s),d=wr(u,n),m=0,y=p.length;m<y;++m)(h=p[m])&&gr(h,e,n,m,p,d);a.push(p),o.push(u)}return new qr(a,o,e,n)},filter:function(t){"function"!=typeof t&&(t=it(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var a,o=e[i],l=o.length,u=r[i]=[],s=0;s<l;++s)(a=o[s])&&t.call(a,a.__data__,s,o)&&u.push(a);return new qr(r,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,r=e.length,i=n.length,a=Math.min(r,i),o=new Array(r),l=0;l<a;++l)for(var u,s=e[l],c=n[l],f=s.length,h=o[l]=new Array(f),p=0;p<f;++p)(u=s[p]||c[p])&&(h[p]=u);for(;l<r;++l)o[l]=e[l];return new qr(o,this._parents,this._name,this._id)},selection:function(){return new Hr(this._groups,this._parents)},transition:function(){for(var t=this._name,e=this._id,n=Yr(),r=this._groups,i=r.length,a=0;a<i;++a)for(var o,l=r[a],u=l.length,s=0;s<u;++s)if(o=l[s]){var c=wr(o,e);gr(o,t,n,s,l,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new qr(r,this._parents,t,n)},call:Vr.call,nodes:Vr.nodes,node:Vr.node,size:Vr.size,empty:Vr.empty,each:Vr.each,on:function(t,e){var n=this._id;return arguments.length<2?wr(this.node(),n).on.on(t):this.each(Dr(n,t,e))},attr:function(t,e){var n=K(t),r="transform"===n?hn:Sr;return this.attrTween(t,"function"==typeof e?(n.local?Ar:Or)(n,r,Tr(this,"attr."+t,e)):null==e?(n.local?Mr:Cr)(n):(n.local?Pr:Nr)(n,r,e))},attrTween:function(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==e)return this.tween(n,null);if("function"!=typeof e)throw new Error;var r=K(t);return this.tween(n,(r.local?Fr:Lr)(r,e))},style:function(t,e,n){var r="transform"==(t+="")?fn:Sr;return null==e?this.styleTween(t,function(t,e){var n,r,i;return function(){var a=wt(this,t),o=(this.style.removeProperty(t),wt(this,t));return a===o?null:a===n&&o===r?i:i=e(n=a,r=o)}}(t,r)).on("end.style."+t,$r(t)):"function"==typeof e?this.styleTween(t,function(t,e,n){var r,i,a;return function(){var o=wt(this,t),l=n(this),u=l+"";return null==l&&(this.style.removeProperty(t),u=l=wt(this,t)),o===u?null:o===r&&u===i?a:(i=u,a=e(r=o,l))}}(t,r,Tr(this,"style."+t,e))).each(function(t,e){var n,r,i,a,o="style."+e,l="end."+o;return function(){var u=br(this,t),s=u.on,c=null==u.value[o]?a||(a=$r(e)):void 0;s===n&&i===c||(r=(n=s).copy()).on(l,i=c),u.on=r}}(this._id,t)):this.styleTween(t,function(t,e,n){var r,i,a=n+"";return function(){var o=wt(this,t);return o===a?null:o===r?i:i=e(r=o,n)}}(t,r,e),n).on("end.style."+t,null)},styleTween:function(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==e)return this.tween(r,null);if("function"!=typeof e)throw new Error;return this.tween(r,Wr(t,e,null==n?"":n))},text:function(t){return this.tween("text","function"==typeof t?function(t){return function(){var e=t(this);this.textContent=null==e?"":e}}(Tr(this,"text",t)):function(t){return function(){this.textContent=t}}(null==t?"":t+""))},remove:function(){return this.on("end.remove",(t=this._id,function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}));var t},tween:function(t,e){var n=this._id;if(t+="",arguments.length<2){for(var r,i=wr(this.node(),n).tween,a=0,o=i.length;a<o;++a)if((r=i[a]).name===t)return r.value;return null}return this.each((null==e?kr:Er)(n,t,e))},delay:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?Rr:zr)(e,t)):wr(this.node(),e).delay},duration:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?jr:Ir)(e,t)):wr(this.node(),e).duration},ease:function(t){var e=this._id;return arguments.length?this.each(Ur(e,t)):wr(this.node(),e).ease},end:function(){var t,e,n=this,r=n._id,i=n.size();return new Promise((function(a,o){var l={value:o},u={value:function(){0==--i&&a()}};n.each((function(){var n=br(this,r),i=n.on;i!==t&&((e=(t=i).copy())._.cancel.push(l),e._.interrupt.push(l),e._.end.push(u)),n.on=e}))}))}};(function t(e){function n(t){return Math.pow(t,e)}return e=+e,n.exponent=t,n})(3),function t(e){function n(t){return 1-Math.pow(1-t,e)}return e=+e,n.exponent=t,n}(3),function t(e){function n(t){return((t*=2)<=1?Math.pow(t,e):2-Math.pow(2-t,e))/2}return e=+e,n.exponent=t,n}(3),Math.PI;(function t(e){function n(t){return t*t*((e+1)*t-e)}return e=+e,n.overshoot=t,n})(1.70158),function t(e){function n(t){return--t*t*((e+1)*t+e)+1}return e=+e,n.overshoot=t,n}(1.70158),function t(e){function n(t){return((t*=2)<1?t*t*((e+1)*t-e):(t-=2)*t*((e+1)*t+e)+2)/2}return e=+e,n.overshoot=t,n}(1.70158);var Xr=2*Math.PI,Qr=(function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=Xr);function i(t){return e*Math.pow(2,10*--t)*Math.sin((r-t)/n)}return i.amplitude=function(e){return t(e,n*Xr)},i.period=function(n){return t(e,n)},i}(1,.3),function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=Xr);function i(t){return 1-e*Math.pow(2,-10*(t=+t))*Math.sin((t+r)/n)}return i.amplitude=function(e){return t(e,n*Xr)},i.period=function(n){return t(e,n)},i}(1,.3),function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=Xr);function i(t){return((t=2*t-1)<0?e*Math.pow(2,10*t)*Math.sin((r-t)/n):2-e*Math.pow(2,-10*t)*Math.sin((r+t)/n))/2}return i.amplitude=function(e){return t(e,n*Xr)},i.period=function(n){return t(e,n)},i}(1,.3),{time:null,delay:0,duration:250,ease:function(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}});function Kr(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))return Qr.time=er(),Qr;return n}ie.prototype.interrupt=function(t){return this.each((function(){xr(this,t)}))},ie.prototype.transition=function(t){var e,n;t instanceof qr?(e=t._id,t=t._name):(e=Yr(),(n=Qr).time=er(),t=null==t?null:t+"");for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var o,l=r[a],u=l.length,s=0;s<u;++s)(o=l[s])&&gr(o,t,e,s,l,n||Kr(o,e));return new qr(r,this._parents,t,e)};function Gr(t){return[+t[0],+t[1]]}function Zr(t){return[Gr(t[0]),Gr(t[1])]}["w","e"].map(Jr),["n","s"].map(Jr),["n","w","e","s","nw","ne","sw","se"].map(Jr);function Jr(t){return{type:t}}var ti=function(t,e){return t<e?-1:t>e?1:t>=e?0:NaN};var ei=function(t){return 1===t.length&&(t=function(t){return function(e,n){return ti(t(e),n)}}(t)),{left:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r<i;){var a=r+i>>>1;t(e[a],n)<0?r=a+1:i=a}return r},right:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r<i;){var a=r+i>>>1;t(e[a],n)>0?i=a:r=a+1}return r}}}(ti);ei.right,ei.left;var ni=Array.prototype;ni.slice,ni.map,Math.sqrt(50),Math.sqrt(10),Math.sqrt(2);Math.cos,Math.sin,Math.PI,Math.max;Array.prototype.slice;var ri=Math.PI,ii=2*ri,ai=ii-1e-6;function oi(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function li(){return new oi}oi.prototype=li.prototype={constructor:oi,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,n,r){this._+="Q"+ +t+","+ +e+","+(this._x1=+n)+","+(this._y1=+r)},bezierCurveTo:function(t,e,n,r,i,a){this._+="C"+ +t+","+ +e+","+ +n+","+ +r+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,e,n,r,i){t=+t,e=+e,n=+n,r=+r,i=+i;var a=this._x1,o=this._y1,l=n-t,u=r-e,s=a-t,c=o-e,f=s*s+c*c;if(i<0)throw new Error("negative radius: "+i);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(f>1e-6)if(Math.abs(c*l-u*s)>1e-6&&i){var h=n-a,p=r-o,d=l*l+u*u,m=h*h+p*p,y=Math.sqrt(d),v=Math.sqrt(f),g=i*Math.tan((ri-Math.acos((d+f-m)/(2*y*v)))/2),_=g/v,b=g/y;Math.abs(_-1)>1e-6&&(this._+="L"+(t+_*s)+","+(e+_*c)),this._+="A"+i+","+i+",0,0,"+ +(c*h>s*p)+","+(this._x1=t+b*l)+","+(this._y1=e+b*u)}else this._+="L"+(this._x1=t)+","+(this._y1=e);else;},arc:function(t,e,n,r,i,a){t=+t,e=+e,a=!!a;var o=(n=+n)*Math.cos(r),l=n*Math.sin(r),u=t+o,s=e+l,c=1^a,f=a?r-i:i-r;if(n<0)throw new Error("negative radius: "+n);null===this._x1?this._+="M"+u+","+s:(Math.abs(this._x1-u)>1e-6||Math.abs(this._y1-s)>1e-6)&&(this._+="L"+u+","+s),n&&(f<0&&(f=f%ii+ii),f>ai?this._+="A"+n+","+n+",0,1,"+c+","+(t-o)+","+(e-l)+"A"+n+","+n+",0,1,"+c+","+(this._x1=u)+","+(this._y1=s):f>1e-6&&(this._+="A"+n+","+n+",0,"+ +(f>=ri)+","+c+","+(this._x1=t+n*Math.cos(i))+","+(this._y1=e+n*Math.sin(i))))},rect:function(t,e,n,r){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +n+"v"+ +r+"h"+-n+"Z"},toString:function(){return this._}};var ui=li;function si(){}function ci(t,e){var n=new si;if(t instanceof si)t.each((function(t,e){n.set(e,t)}));else if(Array.isArray(t)){var r,i=-1,a=t.length;if(null==e)for(;++i<a;)n.set(i,t[i]);else for(;++i<a;)n.set(e(r=t[i],i,t),r)}else if(t)for(var o in t)n.set(o,t[o]);return n}si.prototype=ci.prototype={constructor:si,has:function(t){return"$"+t in this},get:function(t){return this["$"+t]},set:function(t,e){return this["$"+t]=e,this},remove:function(t){var e="$"+t;return e in this&&delete this[e]},clear:function(){for(var t in this)"$"===t[0]&&delete this[t]},keys:function(){var t=[];for(var e in this)"$"===e[0]&&t.push(e.slice(1));return t},values:function(){var t=[];for(var e in this)"$"===e[0]&&t.push(this[e]);return t},entries:function(){var t=[];for(var e in this)"$"===e[0]&&t.push({key:e.slice(1),value:this[e]});return t},size:function(){var t=0;for(var e in this)"$"===e[0]&&++t;return t},empty:function(){for(var t in this)if("$"===t[0])return!1;return!0},each:function(t){for(var e in this)"$"===e[0]&&t(this[e],e.slice(1),this)}};var fi=ci;function hi(){}var pi=fi.prototype;function di(t,e){var n=new hi;if(t instanceof hi)t.each((function(t){n.add(t)}));else if(t){var r=-1,i=t.length;if(null==e)for(;++r<i;)n.add(t[r]);else for(;++r<i;)n.add(e(t[r],r,t))}return n}hi.prototype=di.prototype={constructor:hi,has:pi.has,add:function(t){return this["$"+(t+="")]=t,this},remove:pi.remove,clear:pi.clear,values:pi.keys,size:pi.size,empty:pi.empty,each:pi.each};var mi=function(t,e){return t<e?-1:t>e?1:t>=e?0:NaN};var yi=function(t){return 1===t.length&&(t=function(t){return function(e,n){return mi(t(e),n)}}(t)),{left:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r<i;){var a=r+i>>>1;t(e[a],n)<0?r=a+1:i=a}return r},right:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r<i;){var a=r+i>>>1;t(e[a],n)>0?i=a:r=a+1}return r}}}(mi);yi.right,yi.left;var vi=Array.prototype;vi.slice,vi.map,Math.sqrt(50),Math.sqrt(10),Math.sqrt(2);Array.prototype.slice;var gi={},_i={},bi=34,wi=10,xi=13;function ki(t){return new Function("d","return {"+t.map((function(t,e){return JSON.stringify(t)+": d["+e+"]"})).join(",")+"}")}function Ei(t){var e=Object.create(null),n=[];return t.forEach((function(t){for(var r in t)r in e||n.push(e[r]=r)})),n}function Ti(t,e){var n=t+"",r=n.length;return r<e?new Array(e-r+1).join(0)+n:n}function Si(t){var e,n=t.getUTCHours(),r=t.getUTCMinutes(),i=t.getUTCSeconds(),a=t.getUTCMilliseconds();return isNaN(t)?"Invalid Date":((e=t.getUTCFullYear())<0?"-"+Ti(-e,6):e>9999?"+"+Ti(e,6):Ti(e,4))+"-"+Ti(t.getUTCMonth()+1,2)+"-"+Ti(t.getUTCDate(),2)+(a?"T"+Ti(n,2)+":"+Ti(r,2)+":"+Ti(i,2)+"."+Ti(a,3)+"Z":i?"T"+Ti(n,2)+":"+Ti(r,2)+":"+Ti(i,2)+"Z":r||n?"T"+Ti(n,2)+":"+Ti(r,2)+"Z":"")}var Ci=function(t){var e=new RegExp('["'+t+"\n\r]"),n=t.charCodeAt(0);function r(t,e){var r,i=[],a=t.length,o=0,l=0,u=a<=0,s=!1;function c(){if(u)return _i;if(s)return s=!1,gi;var e,r,i=o;if(t.charCodeAt(i)===bi){for(;o++<a&&t.charCodeAt(o)!==bi||t.charCodeAt(++o)===bi;);return(e=o)>=a?u=!0:(r=t.charCodeAt(o++))===wi?s=!0:r===xi&&(s=!0,t.charCodeAt(o)===wi&&++o),t.slice(i+1,e-1).replace(/""/g,'"')}for(;o<a;){if((r=t.charCodeAt(e=o++))===wi)s=!0;else if(r===xi)s=!0,t.charCodeAt(o)===wi&&++o;else if(r!==n)continue;return t.slice(i,e)}return u=!0,t.slice(i,a)}for(t.charCodeAt(a-1)===wi&&--a,t.charCodeAt(a-1)===xi&&--a;(r=c())!==_i;){for(var f=[];r!==gi&&r!==_i;)f.push(r),r=c();e&&null==(f=e(f,l++))||i.push(f)}return i}function i(e,n){return e.map((function(e){return n.map((function(t){return o(e[t])})).join(t)}))}function a(e){return e.map(o).join(t)}function o(t){return null==t?"":t instanceof Date?Si(t):e.test(t+="")?'"'+t.replace(/"/g,'""')+'"':t}return{parse:function(t,e){var n,i,a=r(t,(function(t,r){if(n)return n(t,r-1);i=t,n=e?function(t,e){var n=ki(t);return function(r,i){return e(n(r),i,t)}}(t,e):ki(t)}));return a.columns=i||[],a},parseRows:r,format:function(e,n){return null==n&&(n=Ei(e)),[n.map(o).join(t)].concat(i(e,n)).join("\n")},formatBody:function(t,e){return null==e&&(e=Ei(t)),i(t,e).join("\n")},formatRows:function(t){return t.map(a).join("\n")}}},Mi=Ci(","),Ni=Mi.parse,Pi=(Mi.parseRows,Mi.format,Mi.formatBody,Mi.formatRows,Ci("\t")),Oi=Pi.parse;Pi.parseRows,Pi.format,Pi.formatBody,Pi.formatRows;function Ai(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);return t.text()}var Fi=function(t,e){return fetch(t,e).then(Ai)};function Li(t){return function(e,n,r){return 2===arguments.length&&"function"==typeof n&&(r=n,n=void 0),Fi(e,n).then((function(e){return t(e,r)}))}}Li(Ni),Li(Oi);function Ri(t){return function(e,n){return Fi(e,n).then((function(e){return(new DOMParser).parseFromString(e,t)}))}}Ri("application/xml"),Ri("text/html"),Ri("image/svg+xml");function zi(t,e,n,r){if(isNaN(e)||isNaN(n))return t;var i,a,o,l,u,s,c,f,h,p=t._root,d={data:r},m=t._x0,y=t._y0,v=t._x1,g=t._y1;if(!p)return t._root=d,t;for(;p.length;)if((s=e>=(a=(m+v)/2))?m=a:v=a,(c=n>=(o=(y+g)/2))?y=o:g=o,i=p,!(p=p[f=c<<1|s]))return i[f]=d,t;if(l=+t._x.call(null,p.data),u=+t._y.call(null,p.data),e===l&&n===u)return d.next=p,i?i[f]=d:t._root=d,t;do{i=i?i[f]=new Array(4):t._root=new Array(4),(s=e>=(a=(m+v)/2))?m=a:v=a,(c=n>=(o=(y+g)/2))?y=o:g=o}while((f=c<<1|s)==(h=(u>=o)<<1|l>=a));return i[h]=p,i[f]=d,t}var ji=function(t,e,n,r,i){this.node=t,this.x0=e,this.y0=n,this.x1=r,this.y1=i};function Ii(t){return t[0]}function Ui(t){return t[1]}function Di(t,e,n){var r=new Hi(null==e?Ii:e,null==n?Ui:n,NaN,NaN,NaN,NaN);return null==t?r:r.addAll(t)}function Hi(t,e,n,r,i,a){this._x=t,this._y=e,this._x0=n,this._y0=r,this._x1=i,this._y1=a,this._root=void 0}function $i(t){for(var e={data:t.data},n=e;t=t.next;)n=n.next={data:t.data};return e}var Wi=Di.prototype=Hi.prototype;Wi.copy=function(){var t,e,n=new Hi(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return n;if(!r.length)return n._root=$i(r),n;for(t=[{source:r,target:n._root=new Array(4)}];r=t.pop();)for(var i=0;i<4;++i)(e=r.source[i])&&(e.length?t.push({source:e,target:r.target[i]=new Array(4)}):r.target[i]=$i(e));return n},Wi.add=function(t){var e=+this._x.call(null,t),n=+this._y.call(null,t);return zi(this.cover(e,n),e,n,t)},Wi.addAll=function(t){var e,n,r,i,a=t.length,o=new Array(a),l=new Array(a),u=1/0,s=1/0,c=-1/0,f=-1/0;for(n=0;n<a;++n)isNaN(r=+this._x.call(null,e=t[n]))||isNaN(i=+this._y.call(null,e))||(o[n]=r,l[n]=i,r<u&&(u=r),r>c&&(c=r),i<s&&(s=i),i>f&&(f=i));if(u>c||s>f)return this;for(this.cover(u,s).cover(c,f),n=0;n<a;++n)zi(this,o[n],l[n],t[n]);return this},Wi.cover=function(t,e){if(isNaN(t=+t)||isNaN(e=+e))return this;var n=this._x0,r=this._y0,i=this._x1,a=this._y1;if(isNaN(n))i=(n=Math.floor(t))+1,a=(r=Math.floor(e))+1;else{for(var o,l,u=i-n,s=this._root;n>t||t>=i||r>e||e>=a;)switch(l=(e<r)<<1|t<n,(o=new Array(4))[l]=s,s=o,u*=2,l){case 0:i=n+u,a=r+u;break;case 1:n=i-u,a=r+u;break;case 2:i=n+u,r=a-u;break;case 3:n=i-u,r=a-u}this._root&&this._root.length&&(this._root=s)}return this._x0=n,this._y0=r,this._x1=i,this._y1=a,this},Wi.data=function(){var t=[];return this.visit((function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)})),t},Wi.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},Wi.find=function(t,e,n){var r,i,a,o,l,u,s,c=this._x0,f=this._y0,h=this._x1,p=this._y1,d=[],m=this._root;for(m&&d.push(new ji(m,c,f,h,p)),null==n?n=1/0:(c=t-n,f=e-n,h=t+n,p=e+n,n*=n);u=d.pop();)if(!(!(m=u.node)||(i=u.x0)>h||(a=u.y0)>p||(o=u.x1)<c||(l=u.y1)<f))if(m.length){var y=(i+o)/2,v=(a+l)/2;d.push(new ji(m[3],y,v,o,l),new ji(m[2],i,v,y,l),new ji(m[1],y,a,o,v),new ji(m[0],i,a,y,v)),(s=(e>=v)<<1|t>=y)&&(u=d[d.length-1],d[d.length-1]=d[d.length-1-s],d[d.length-1-s]=u)}else{var g=t-+this._x.call(null,m.data),_=e-+this._y.call(null,m.data),b=g*g+_*_;if(b<n){var w=Math.sqrt(n=b);c=t-w,f=e-w,h=t+w,p=e+w,r=m.data}}return r},Wi.remove=function(t){if(isNaN(a=+this._x.call(null,t))||isNaN(o=+this._y.call(null,t)))return this;var e,n,r,i,a,o,l,u,s,c,f,h,p=this._root,d=this._x0,m=this._y0,y=this._x1,v=this._y1;if(!p)return this;if(p.length)for(;;){if((s=a>=(l=(d+y)/2))?d=l:y=l,(c=o>=(u=(m+v)/2))?m=u:v=u,e=p,!(p=p[f=c<<1|s]))return this;if(!p.length)break;(e[f+1&3]||e[f+2&3]||e[f+3&3])&&(n=e,h=f)}for(;p.data!==t;)if(r=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,r?(i?r.next=i:delete r.next,this):e?(i?e[f]=i:delete e[f],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(n?n[h]=p:this._root=p),this):(this._root=i,this)},Wi.removeAll=function(t){for(var e=0,n=t.length;e<n;++e)this.remove(t[e]);return this},Wi.root=function(){return this._root},Wi.size=function(){var t=0;return this.visit((function(e){if(!e.length)do{++t}while(e=e.next)})),t},Wi.visit=function(t){var e,n,r,i,a,o,l=[],u=this._root;for(u&&l.push(new ji(u,this._x0,this._y0,this._x1,this._y1));e=l.pop();)if(!t(u=e.node,r=e.x0,i=e.y0,a=e.x1,o=e.y1)&&u.length){var s=(r+a)/2,c=(i+o)/2;(n=u[3])&&l.push(new ji(n,s,c,a,o)),(n=u[2])&&l.push(new ji(n,r,c,s,o)),(n=u[1])&&l.push(new ji(n,s,i,a,c)),(n=u[0])&&l.push(new ji(n,r,i,s,c))}return this},Wi.visitAfter=function(t){var e,n=[],r=[];for(this._root&&n.push(new ji(this._root,this._x0,this._y0,this._x1,this._y1));e=n.pop();){var i=e.node;if(i.length){var a,o=e.x0,l=e.y0,u=e.x1,s=e.y1,c=(o+u)/2,f=(l+s)/2;(a=i[0])&&n.push(new ji(a,o,l,c,f)),(a=i[1])&&n.push(new ji(a,c,l,u,f)),(a=i[2])&&n.push(new ji(a,o,f,c,s)),(a=i[3])&&n.push(new ji(a,c,f,u,s))}r.push(e)}for(;e=r.pop();)t(e.node,e.x0,e.y0,e.x1,e.y1);return this},Wi.x=function(t){return arguments.length?(this._x=t,this):this._x},Wi.y=function(t){return arguments.length?(this._y=t,this):this._y};Math.PI,Math.sqrt(5);var Bi=function(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]},qi=function(t){return(t=Bi(Math.abs(t)))?t[1]:NaN},Yi=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Vi(t){if(!(e=Yi.exec(t)))throw new Error("invalid format: "+t);var e;return new Xi({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function Xi(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}Vi.prototype=Xi.prototype,Xi.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var Qi,Ki,Gi,Zi,Ji=function(t){t:for(var e,n=t.length,r=1,i=-1;r<n;++r)switch(t[r]){case".":i=e=r;break;case"0":0===i&&(i=r),e=r;break;default:if(i>0){if(!+t[r])break t;i=0}}return i>0?t.slice(0,i)+t.slice(e+1):t},ta=function(t,e){var n=Bi(t,e);if(!n)return t+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")},ea={"%":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.round(t).toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return ta(100*t,e)},r:ta,s:function(t,e){var n=Bi(t,e);if(!n)return t+"";var r=n[0],i=n[1],a=i-(Qi=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,o=r.length;return a===o?r:a>o?r+new Array(a-o+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+new Array(1-a).join("0")+Bi(t,Math.max(0,e+a-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}},na=function(t){return t},ra=Array.prototype.map,ia=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];Ki=function(t){var e,n,r=void 0===t.grouping||void 0===t.thousands?na:(e=ra.call(t.grouping,Number),n=t.thousands+"",function(t,r){for(var i=t.length,a=[],o=0,l=e[0],u=0;i>0&&l>0&&(u+l+1>r&&(l=Math.max(1,r-u)),a.push(t.substring(i-=l,i+l)),!((u+=l+1)>r));)l=e[o=(o+1)%e.length];return a.reverse().join(n)}),i=void 0===t.currency?"":t.currency[0]+"",a=void 0===t.currency?"":t.currency[1]+"",o=void 0===t.decimal?".":t.decimal+"",l=void 0===t.numerals?na:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(ra.call(t.numerals,String)),u=void 0===t.percent?"%":t.percent+"",s=void 0===t.minus?"-":t.minus+"",c=void 0===t.nan?"NaN":t.nan+"";function f(t){var e=(t=Vi(t)).fill,n=t.align,f=t.sign,h=t.symbol,p=t.zero,d=t.width,m=t.comma,y=t.precision,v=t.trim,g=t.type;"n"===g?(m=!0,g="g"):ea[g]||(void 0===y&&(y=12),v=!0,g="g"),(p||"0"===e&&"="===n)&&(p=!0,e="0",n="=");var _="$"===h?i:"#"===h&&/[boxX]/.test(g)?"0"+g.toLowerCase():"",b="$"===h?a:/[%p]/.test(g)?u:"",w=ea[g],x=/[defgprs%]/.test(g);function k(t){var i,a,u,h=_,k=b;if("c"===g)k=w(t)+k,t="";else{var E=(t=+t)<0;if(t=isNaN(t)?c:w(Math.abs(t),y),v&&(t=Ji(t)),E&&0==+t&&(E=!1),h=(E?"("===f?f:s:"-"===f||"("===f?"":f)+h,k=("s"===g?ia[8+Qi/3]:"")+k+(E&&"("===f?")":""),x)for(i=-1,a=t.length;++i<a;)if(48>(u=t.charCodeAt(i))||u>57){k=(46===u?o+t.slice(i+1):t.slice(i))+k,t=t.slice(0,i);break}}m&&!p&&(t=r(t,1/0));var T=h.length+t.length+k.length,S=T<d?new Array(d-T+1).join(e):"";switch(m&&p&&(t=r(S+t,S.length?d-k.length:1/0),S=""),n){case"<":t=h+t+k+S;break;case"=":t=h+S+t+k;break;case"^":t=S.slice(0,T=S.length>>1)+h+t+k+S.slice(T);break;default:t=S+h+t+k}return l(t)}return y=void 0===y?6:/[gprs]/.test(g)?Math.max(1,Math.min(21,y)):Math.max(0,Math.min(20,y)),k.toString=function(){return t+""},k}return{format:f,formatPrefix:function(t,e){var n=f(((t=Vi(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(qi(e)/3))),i=Math.pow(10,-r),a=ia[8+r/3];return function(t){return n(i*t)+a}}}}({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"}),Gi=Ki.format,Zi=Ki.formatPrefix;var aa=function(){return new oa};function oa(){this.reset()}oa.prototype={constructor:oa,reset:function(){this.s=this.t=0},add:function(t){ua(la,t,this.t),ua(this,la.s,this.s),this.s?this.t+=la.t:this.s=la.t},valueOf:function(){return this.s}};var la=new oa;function ua(t,e,n){var r=t.s=e+n,i=r-e,a=r-i;t.t=e-a+(n-i)}var sa=1e-6,ca=1e-12,fa=Math.PI,ha=fa/2,pa=fa/4,da=2*fa,ma=fa/180,ya=Math.abs,va=Math.atan,ga=Math.atan2,_a=Math.cos,ba=(Math.ceil,Math.exp),wa=(Math.floor,Math.log),xa=(Math.pow,Math.sin),ka=Math.sign||function(t){return t>0?1:t<0?-1:0},Ea=Math.sqrt,Ta=Math.tan;function Sa(t){return t>1?0:t<-1?fa:Math.acos(t)}function Ca(t){return t>1?ha:t<-1?-ha:Math.asin(t)}function Ma(){}aa(),aa();function Na(t){var e=t[0],n=t[1],r=_a(n);return[r*_a(e),r*xa(e),xa(n)]}function Pa(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function Oa(t){var e=Ea(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}aa();function Aa(t,e){return[ya(t)>fa?t+Math.round(-t/da)*da:t,e]}Aa.invert=Aa;var Fa=function(){var t,e=[];return{point:function(e,n){t.push([e,n])},lineStart:function(){e.push(t=[])},lineEnd:Ma,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}},La=function(t,e){return ya(t[0]-e[0])<sa&&ya(t[1]-e[1])<sa};function Ra(t,e,n,r){this.x=t,this.z=e,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}var za=function(t,e,n,r,i){var a,o,l=[],u=[];if(t.forEach((function(t){if(!((e=t.length-1)<=0)){var e,n,r=t[0],o=t[e];if(La(r,o)){for(i.lineStart(),a=0;a<e;++a)i.point((r=t[a])[0],r[1]);i.lineEnd()}else l.push(n=new Ra(r,t,null,!0)),u.push(n.o=new Ra(r,null,n,!1)),l.push(n=new Ra(o,t,null,!1)),u.push(n.o=new Ra(o,null,n,!0))}})),l.length){for(u.sort(e),ja(l),ja(u),a=0,o=u.length;a<o;++a)u[a].e=n=!n;for(var s,c,f=l[0];;){for(var h=f,p=!0;h.v;)if((h=h.n)===f)return;s=h.z,i.lineStart();do{if(h.v=h.o.v=!0,h.e){if(p)for(a=0,o=s.length;a<o;++a)i.point((c=s[a])[0],c[1]);else r(h.x,h.n.x,1,i);h=h.n}else{if(p)for(s=h.p.z,a=s.length-1;a>=0;--a)i.point((c=s[a])[0],c[1]);else r(h.x,h.p.x,-1,i);h=h.p}s=(h=h.o).z,p=!p}while(!h.v);i.lineEnd()}}};function ja(t){if(e=t.length){for(var e,n,r=0,i=t[0];++r<e;)i.n=n=t[r],n.p=i,i=n;i.n=n=t[0],n.p=i}}var Ia=aa();function Ua(t){return ya(t[0])<=fa?t[0]:ka(t[0])*((ya(t[0])+fa)%da-fa)}var Da=function(t,e){var n=Ua(e),r=e[1],i=xa(r),a=[xa(n),-_a(n),0],o=0,l=0;Ia.reset(),1===i?r=ha+sa:-1===i&&(r=-ha-sa);for(var u=0,s=t.length;u<s;++u)if(f=(c=t[u]).length)for(var c,f,h=c[f-1],p=Ua(h),d=h[1]/2+pa,m=xa(d),y=_a(d),v=0;v<f;++v,p=_,m=w,y=x,h=g){var g=c[v],_=Ua(g),b=g[1]/2+pa,w=xa(b),x=_a(b),k=_-p,E=k>=0?1:-1,T=E*k,S=T>fa,C=m*w;if(Ia.add(ga(C*E*xa(T),y*x+C*_a(T))),o+=S?k+E*da:k,S^p>=n^_>=n){var M=Pa(Na(h),Na(g));Oa(M);var N=Pa(a,M);Oa(N);var P=(S^k>=0?-1:1)*Ca(N[2]);(r>P||r===P&&(M[0]||M[1]))&&(l+=S^k>=0?1:-1)}}return(o<-sa||o<sa&&Ia<-sa)^1&l},Ha=function(t,e){return t<e?-1:t>e?1:t>=e?0:NaN};var $a=function(t){return 1===t.length&&(t=function(t){return function(e,n){return Ha(t(e),n)}}(t)),{left:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r<i;){var a=r+i>>>1;t(e[a],n)<0?r=a+1:i=a}return r},right:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r<i;){var a=r+i>>>1;t(e[a],n)>0?i=a:r=a+1}return r}}}(Ha);$a.right,$a.left;var Wa=Array.prototype;Wa.slice,Wa.map,Math.sqrt(50),Math.sqrt(10),Math.sqrt(2);var Ba=function(t){for(var e,n,r,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(n=new Array(o);--i>=0;)for(e=(r=t[i]).length;--e>=0;)n[--o]=r[e];return n};var qa=function(t,e,n,r){return function(i){var a,o,l,u=e(i),s=Fa(),c=e(s),f=!1,h={point:p,lineStart:m,lineEnd:y,polygonStart:function(){h.point=v,h.lineStart=g,h.lineEnd=_,o=[],a=[]},polygonEnd:function(){h.point=p,h.lineStart=m,h.lineEnd=y,o=Ba(o);var t=Da(a,r);o.length?(f||(i.polygonStart(),f=!0),za(o,Va,t,n,i)):t&&(f||(i.polygonStart(),f=!0),i.lineStart(),n(null,null,1,i),i.lineEnd()),f&&(i.polygonEnd(),f=!1),o=a=null},sphere:function(){i.polygonStart(),i.lineStart(),n(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function p(e,n){t(e,n)&&i.point(e,n)}function d(t,e){u.point(t,e)}function m(){h.point=d,u.lineStart()}function y(){h.point=p,u.lineEnd()}function v(t,e){l.push([t,e]),c.point(t,e)}function g(){c.lineStart(),l=[]}function _(){v(l[0][0],l[0][1]),c.lineEnd();var t,e,n,r,u=c.clean(),h=s.result(),p=h.length;if(l.pop(),a.push(l),l=null,p)if(1&u){if((e=(n=h[0]).length-1)>0){for(f||(i.polygonStart(),f=!0),i.lineStart(),t=0;t<e;++t)i.point((r=n[t])[0],r[1]);i.lineEnd()}}else p>1&&2&u&&h.push(h.pop().concat(h.shift())),o.push(h.filter(Ya))}return h}};function Ya(t){return t.length>1}function Va(t,e){return((t=t.x)[0]<0?t[1]-ha-sa:ha-t[1])-((e=e.x)[0]<0?e[1]-ha-sa:ha-e[1])}qa((function(){return!0}),(function(t){var e,n=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var l=a>0?fa:-fa,u=ya(a-n);ya(u-fa)<sa?(t.point(n,r=(r+o)/2>0?ha:-ha),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(l,r),t.point(a,r),e=0):i!==l&&u>=fa&&(ya(n-i)<sa&&(n-=i*sa),ya(a-l)<sa&&(a-=l*sa),r=function(t,e,n,r){var i,a,o=xa(t-n);return ya(o)>sa?va((xa(e)*(a=_a(r))*xa(n)-xa(r)*(i=_a(e))*xa(t))/(i*a*o)):(e+r)/2}(n,r,a,o),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(l,r),e=0),t.point(n=a,r=o),i=l},lineEnd:function(){t.lineEnd(),n=r=NaN},clean:function(){return 2-e}}}),(function(t,e,n,r){var i;if(null==t)i=n*ha,r.point(-fa,i),r.point(0,i),r.point(fa,i),r.point(fa,0),r.point(fa,-i),r.point(0,-i),r.point(-fa,-i),r.point(-fa,0),r.point(-fa,i);else if(ya(t[0]-e[0])>sa){var a=t[0]<e[0]?fa:-fa;i=n*a/2,r.point(-a,i),r.point(0,i),r.point(a,i)}else r.point(e[0],e[1])}),[-fa,-ha]);aa();aa(),aa();function Xa(t){this._context=t}Xa.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._context.moveTo(t,e),this._point=1;break;case 1:this._context.lineTo(t,e);break;default:this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,da)}},result:Ma};aa();function Qa(){this._string=[]}function Ka(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}Qa.prototype={_radius:4.5,_circle:Ka(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._string.push("M",t,",",e),this._point=1;break;case 1:this._string.push("L",t,",",e);break;default:null==this._circle&&(this._circle=Ka(this._radius)),this._string.push("M",t,",",e,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}};function Ga(t){return function(e){var n=new Za;for(var r in t)n[r]=t[r];return n.stream=e,n}}function Za(){}Za.prototype={constructor:Za,point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};_a(30*ma);Ga({point:function(t,e){this.stream.point(t*ma,e*ma)}});function Ja(t){return function(e,n){var r=_a(e),i=_a(n),a=t(r*i);return[a*i*xa(e),a*xa(n)]}}function to(t){return function(e,n){var r=Ea(e*e+n*n),i=t(r),a=xa(i),o=_a(i);return[ga(e*a,r*o),Ca(r&&n*a/r)]}}var eo=Ja((function(t){return Ea(2/(1+t))}));eo.invert=to((function(t){return 2*Ca(t/2)}));var no=Ja((function(t){return(t=Sa(t))&&t/xa(t)}));no.invert=to((function(t){return t}));function ro(t,e){return[t,wa(Ta((ha+e)/2))]}ro.invert=function(t,e){return[t,2*va(ba(e))-ha]};function io(t,e){return[t,e]}io.invert=io;var ao=1.340264,oo=-.081106,lo=893e-6,uo=.003796,so=Ea(3)/2;function co(t,e){var n=Ca(so*xa(e)),r=n*n,i=r*r*r;return[t*_a(n)/(so*(ao+3*oo*r+i*(7*lo+9*uo*r))),n*(ao+oo*r+i*(lo+uo*r))]}co.invert=function(t,e){for(var n,r=e,i=r*r,a=i*i*i,o=0;o<12&&(a=(i=(r-=n=(r*(ao+oo*i+a*(lo+uo*i))-e)/(ao+3*oo*i+a*(7*lo+9*uo*i)))*r)*i*i,!(ya(n)<ca));++o);return[so*t*(ao+3*oo*i+a*(7*lo+9*uo*i))/_a(r),Ca(xa(r)/so)]};function fo(t,e){var n=_a(e),r=_a(t)*n;return[n*xa(t)/r,xa(e)/r]}fo.invert=to(va);function ho(t,e){var n=e*e,r=n*n;return[t*(.8707-.131979*n+r*(r*(.003971*n-.001529*r)-.013791)),e*(1.007226+n*(.015085+r*(.028874*n-.044475-.005916*r)))]}ho.invert=function(t,e){var n,r=e,i=25;do{var a=r*r,o=a*a;r-=n=(r*(1.007226+a*(.015085+o*(.028874*a-.044475-.005916*o)))-e)/(1.007226+a*(.045255+o*(.259866*a-.311325-.005916*11*o)))}while(ya(n)>sa&&--i>0);return[t/(.8707+(a=r*r)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),r]};function po(t,e){return[_a(e)*xa(t),xa(e)]}po.invert=to(Ca);function mo(t,e){var n=_a(e),r=1+_a(t)*n;return[n*xa(t)/r,xa(e)/r]}mo.invert=to((function(t){return 2*va(t)}));function yo(t,e){return[wa(Ta((ha+e)/2)),-t]}yo.invert=function(t,e){return[-e,2*va(ba(t))-ha]};function vo(t){var e=0,n=t.children,r=n&&n.length;if(r)for(;--r>=0;)e+=n[r].value;else e=1;t.value=e}function go(t,e){var n,r,i,a,o,l=new xo(t),u=+t.value&&(l.value=t.value),s=[l];for(null==e&&(e=_o);n=s.pop();)if(u&&(n.value=+n.data.value),(i=e(n.data))&&(o=i.length))for(n.children=new Array(o),a=o-1;a>=0;--a)s.push(r=n.children[a]=new xo(i[a])),r.parent=n,r.depth=n.depth+1;return l.eachBefore(wo)}function _o(t){return t.children}function bo(t){t.data=t.data.data}function wo(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function xo(t){this.data=t,this.depth=this.height=0,this.parent=null}xo.prototype=go.prototype={constructor:xo,count:function(){return this.eachAfter(vo)},each:function(t){var e,n,r,i,a=this,o=[a];do{for(e=o.reverse(),o=[];a=e.pop();)if(t(a),n=a.children)for(r=0,i=n.length;r<i;++r)o.push(n[r])}while(o.length);return this},eachAfter:function(t){for(var e,n,r,i=this,a=[i],o=[];i=a.pop();)if(o.push(i),e=i.children)for(n=0,r=e.length;n<r;++n)a.push(e[n]);for(;i=o.pop();)t(i);return this},eachBefore:function(t){for(var e,n,r=this,i=[r];r=i.pop();)if(t(r),e=r.children)for(n=e.length-1;n>=0;--n)i.push(e[n]);return this},sum:function(t){return this.eachAfter((function(e){for(var n=+t(e.data)||0,r=e.children,i=r&&r.length;--i>=0;)n+=r[i].value;e.value=n}))},sort:function(t){return this.eachBefore((function(e){e.children&&e.children.sort(t)}))},path:function(t){for(var e=this,n=function(t,e){if(t===e)return t;var n=t.ancestors(),r=e.ancestors(),i=null;t=n.pop(),e=r.pop();for(;t===e;)i=t,t=n.pop(),e=r.pop();return i}(e,t),r=[e];e!==n;)e=e.parent,r.push(e);for(var i=r.length;t!==n;)r.splice(i,0,t),t=t.parent;return r},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each((function(e){t.push(e)})),t},leaves:function(){var t=[];return this.eachBefore((function(e){e.children||t.push(e)})),t},links:function(){var t=this,e=[];return t.each((function(n){n!==t&&e.push({source:n.parent,target:n})})),e},copy:function(){return go(this).eachBefore(bo)}};Array.prototype.slice;function ko(t){if("function"!=typeof t)throw new Error;return t}function Eo(){return 0}var To=function(t){return function(){return t}};var So=function(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)},Co=function(t,e,n,r,i){for(var a,o=t.children,l=-1,u=o.length,s=t.value&&(r-e)/t.value;++l<u;)(a=o[l]).y0=n,a.y1=i,a.x0=e,a.x1=e+=a.value*s};function Mo(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}Mo.prototype=Object.create(xo.prototype);var No=function(t,e,n,r,i){for(var a,o=t.children,l=-1,u=o.length,s=t.value&&(i-n)/t.value;++l<u;)(a=o[l]).x0=e,a.x1=r,a.y0=n,a.y1=n+=a.value*s},Po=(1+Math.sqrt(5))/2;function Oo(t,e,n,r,i,a){for(var o,l,u,s,c,f,h,p,d,m,y,v=[],g=e.children,_=0,b=0,w=g.length,x=e.value;_<w;){u=i-n,s=a-r;do{c=g[b++].value}while(!c&&b<w);for(f=h=c,y=c*c*(m=Math.max(s/u,u/s)/(x*t)),d=Math.max(h/y,y/f);b<w;++b){if(c+=l=g[b].value,l<f&&(f=l),l>h&&(h=l),y=c*c*m,(p=Math.max(h/y,y/f))>d){c-=l;break}d=p}v.push(o={value:c,dice:u<s,children:g.slice(_,b)}),o.dice?Co(o,n,r,i,x?r+=s*c/x:a):No(o,n,r,x?n+=u*c/x:i,a),x-=c,_=b}return v}var Ao=function t(e){function n(t,n,r,i,a){Oo(e,t,n,r,i,a)}return n.ratio=function(e){return t((e=+e)>1?e:1)},n}(Po);(function t(e){function n(t,n,r,i,a){if((o=t._squarify)&&o.ratio===e)for(var o,l,u,s,c,f=-1,h=o.length,p=t.value;++f<h;){for(u=(l=o[f]).children,s=l.value=0,c=u.length;s<c;++s)l.value+=u[s].value;l.dice?Co(l,n,r,i,r+=(a-r)*l.value/p):No(l,n,r,n+=(i-n)*l.value/p,a),p-=l.value}else t._squarify=o=Oo(e,t,n,r,i,a),o.ratio=e}return n.ratio=function(e){return t((e=+e)>1?e:1)},n})(Po);var Fo=function(){return Math.random()},Lo=(function t(e){function n(t,n){return t=null==t?0:+t,n=null==n?1:+n,1===arguments.length?(n=t,t=0):n-=t,function(){return e()*n+t}}return n.source=t,n}(Fo),function t(e){function n(t,n){var r,i;return t=null==t?0:+t,n=null==n?1:+n,function(){var a;if(null!=r)a=r,r=null;else do{r=2*e()-1,a=2*e()-1,i=r*r+a*a}while(!i||i>1);return t+n*a*Math.sqrt(-2*Math.log(i)/i)}}return n.source=t,n}(Fo)),Ro=(function t(e){function n(){var t=Lo.source(e).apply(this,arguments);return function(){return Math.exp(t())}}return n.source=t,n}(Fo),function t(e){function n(t){return function(){for(var n=0,r=0;r<t;++r)n+=e();return n}}return n.source=t,n}(Fo)),zo=(function t(e){function n(t){var n=Ro.source(e)(t);return function(){return n()/t}}return n.source=t,n}(Fo),function t(e){function n(t){return function(){return-Math.log(1-e())/t}}return n.source=t,n}(Fo),function(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}),jo=function(t){return 1===t.length&&(t=function(t){return function(e,n){return zo(t(e),n)}}(t)),{left:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r<i;){var a=r+i>>>1;t(e[a],n)<0?r=a+1:i=a}return r},right:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r<i;){var a=r+i>>>1;t(e[a],n)>0?i=a:r=a+1}return r}}};var Io=jo(zo),Uo=Io.right,Do=(Io.left,Uo);var Ho=Array.prototype,$o=(Ho.slice,Ho.map,Math.sqrt(50)),Wo=Math.sqrt(10),Bo=Math.sqrt(2),qo=function(t,e,n){var r,i,a,o,l=-1;if(n=+n,(t=+t)===(e=+e)&&n>0)return[t];if((r=e<t)&&(i=t,t=e,e=i),0===(o=Yo(t,e,n))||!isFinite(o))return[];if(o>0)for(t=Math.ceil(t/o),e=Math.floor(e/o),a=new Array(i=Math.ceil(e-t+1));++l<i;)a[l]=(t+l)*o;else for(t=Math.floor(t*o),e=Math.ceil(e*o),a=new Array(i=Math.ceil(t-e+1));++l<i;)a[l]=(t-l)/o;return r&&a.reverse(),a};function Yo(t,e,n){var r=(e-t)/Math.max(0,n),i=Math.floor(Math.log(r)/Math.LN10),a=r/Math.pow(10,i);return i>=0?(a>=$o?10:a>=Wo?5:a>=Bo?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=$o?10:a>=Wo?5:a>=Bo?2:1)}function Vo(t,e,n){var r=Math.abs(e-t)/Math.max(0,n),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),a=r/i;return a>=$o?i*=10:a>=Wo?i*=5:a>=Bo&&(i*=2),e<t?-i:i}function Xo(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t)}return this}var Qo=Array.prototype,Ko=Qo.map,Go=Qo.slice,Zo={name:"implicit"};function Jo(){var t=fi(),e=[],n=[],r=Zo;function i(i){var a=i+"",o=t.get(a);if(!o){if(r!==Zo)return r;t.set(a,o=e.push(i))}return n[(o-1)%n.length]}return i.domain=function(n){if(!arguments.length)return e.slice();e=[],t=fi();for(var r,a,o=-1,l=n.length;++o<l;)t.has(a=(r=n[o])+"")||t.set(a,e.push(r));return i},i.range=function(t){return arguments.length?(n=Go.call(t),i):n.slice()},i.unknown=function(t){return arguments.length?(r=t,i):r},i.copy=function(){return Jo(e,n).unknown(r)},Xo.apply(i,arguments),i}var tl=function(t){return function(){return t}},el=function(t){return+t},nl=[0,1];function rl(t){return t}function il(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:tl(isNaN(e)?NaN:.5)}function al(t){var e,n=t[0],r=t[t.length-1];return n>r&&(e=n,n=r,r=e),function(t){return Math.max(n,Math.min(r,t))}}function ol(t,e,n){var r=t[0],i=t[1],a=e[0],o=e[1];return i<r?(r=il(i,r),a=n(o,a)):(r=il(r,i),a=n(a,o)),function(t){return a(r(t))}}function ll(t,e,n){var r=Math.min(t.length,e.length)-1,i=new Array(r),a=new Array(r),o=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++o<r;)i[o]=il(t[o],t[o+1]),a[o]=n(e[o],e[o+1]);return function(e){var n=Do(t,e,1,r)-1;return a[n](i[n](e))}}function ul(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function sl(){var t,e,n,r,i,a,o=nl,l=nl,u=an,s=rl;function c(){return r=Math.min(o.length,l.length)>2?ll:ol,i=a=null,f}function f(e){return isNaN(e=+e)?n:(i||(i=r(o.map(t),l,u)))(t(s(e)))}return f.invert=function(n){return s(e((a||(a=r(l,o.map(t),Qe)))(n)))},f.domain=function(t){return arguments.length?(o=Ko.call(t,el),s===rl||(s=al(o)),c()):o.slice()},f.range=function(t){return arguments.length?(l=Go.call(t),c()):l.slice()},f.rangeRound=function(t){return l=Go.call(t),u=on,c()},f.clamp=function(t){return arguments.length?(s=t?al(o):rl,f):s!==rl},f.interpolate=function(t){return arguments.length?(u=t,c()):u},f.unknown=function(t){return arguments.length?(n=t,f):n},function(n,r){return t=n,e=r,c()}}function cl(t,e){return sl()(t,e)}var fl=function(t,e,n,r){var i,a=Vo(t,e,n);switch((r=Vi(null==r?",f":r)).type){case"s":var o=Math.max(Math.abs(t),Math.abs(e));return null!=r.precision||isNaN(i=function(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(qi(e)/3)))-qi(Math.abs(t)))}(a,o))||(r.precision=i),Zi(r,o);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(i=function(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,qi(e)-qi(t))+1}(a,Math.max(Math.abs(t),Math.abs(e))))||(r.precision=i-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(i=function(t){return Math.max(0,-qi(Math.abs(t)))}(a))||(r.precision=i-2*("%"===r.type))}return Gi(r)};function hl(t){var e=t.domain;return t.ticks=function(t){var n=e();return qo(n[0],n[n.length-1],null==t?10:t)},t.tickFormat=function(t,n){var r=e();return fl(r[0],r[r.length-1],null==t?10:t,n)},t.nice=function(n){null==n&&(n=10);var r,i=e(),a=0,o=i.length-1,l=i[a],u=i[o];return u<l&&(r=l,l=u,u=r,r=a,a=o,o=r),(r=Yo(l,u,n))>0?r=Yo(l=Math.floor(l/r)*r,u=Math.ceil(u/r)*r,n):r<0&&(r=Yo(l=Math.ceil(l*r)/r,u=Math.floor(u*r)/r,n)),r>0?(i[a]=Math.floor(l/r)*r,i[o]=Math.ceil(u/r)*r,e(i)):r<0&&(i[a]=Math.ceil(l*r)/r,i[o]=Math.floor(u*r)/r,e(i)),t},t}function pl(){var t=cl(rl,rl);return t.copy=function(){return ul(t,pl())},Xo.apply(t,arguments),hl(t)}var dl=function(t,e){var n,r=0,i=(t=t.slice()).length-1,a=t[r],o=t[i];return o<a&&(n=r,r=i,i=n,n=a,a=o,o=n),t[r]=e.floor(a),t[i]=e.ceil(o),t};function ml(t){return Math.log(t)}function yl(t){return Math.exp(t)}function vl(t){return-Math.log(-t)}function gl(t){return-Math.exp(-t)}function _l(t){return isFinite(t)?+("1e"+t):t<0?0:t}function bl(t){return function(e){return-t(-e)}}function wl(t){var e,n,r=t(ml,yl),i=r.domain,a=10;function o(){return e=function(t){return t===Math.E?Math.log:10===t&&Math.log10||2===t&&Math.log2||(t=Math.log(t),function(e){return Math.log(e)/t})}(a),n=function(t){return 10===t?_l:t===Math.E?Math.exp:function(e){return Math.pow(t,e)}}(a),i()[0]<0?(e=bl(e),n=bl(n),t(vl,gl)):t(ml,yl),r}return r.base=function(t){return arguments.length?(a=+t,o()):a},r.domain=function(t){return arguments.length?(i(t),o()):i()},r.ticks=function(t){var r,o=i(),l=o[0],u=o[o.length-1];(r=u<l)&&(h=l,l=u,u=h);var s,c,f,h=e(l),p=e(u),d=null==t?10:+t,m=[];if(!(a%1)&&p-h<d){if(h=Math.round(h)-1,p=Math.round(p)+1,l>0){for(;h<p;++h)for(c=1,s=n(h);c<a;++c)if(!((f=s*c)<l)){if(f>u)break;m.push(f)}}else for(;h<p;++h)for(c=a-1,s=n(h);c>=1;--c)if(!((f=s*c)<l)){if(f>u)break;m.push(f)}}else m=qo(h,p,Math.min(p-h,d)).map(n);return r?m.reverse():m},r.tickFormat=function(t,i){if(null==i&&(i=10===a?".0e":","),"function"!=typeof i&&(i=Gi(i)),t===1/0)return i;null==t&&(t=10);var o=Math.max(1,a*t/r.ticks().length);return function(t){var r=t/n(Math.round(e(t)));return r*a<a-.5&&(r*=a),r<=o?i(t):""}},r.nice=function(){return i(dl(i(),{floor:function(t){return n(Math.floor(e(t)))},ceil:function(t){return n(Math.ceil(e(t)))}}))},r}function xl(){var t=wl(sl()).domain([1,10]);return t.copy=function(){return ul(t,xl()).base(t.base())},Xo.apply(t,arguments),t}var kl=new Date,El=new Date;function Tl(t,e,n,r){function i(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return i.floor=function(e){return t(e=new Date(+e)),e},i.ceil=function(n){return t(n=new Date(n-1)),e(n,1),t(n),n},i.round=function(t){var e=i(t),n=i.ceil(t);return t-e<n-t?e:n},i.offset=function(t,n){return e(t=new Date(+t),null==n?1:Math.floor(n)),t},i.range=function(n,r,a){var o,l=[];if(n=i.ceil(n),a=null==a?1:Math.floor(a),!(n<r&&a>0))return l;do{l.push(o=new Date(+n)),e(n,a),t(n)}while(o<n&&n<r);return l},i.filter=function(n){return Tl((function(e){if(e>=e)for(;t(e),!n(e);)e.setTime(e-1)}),(function(t,r){if(t>=t)if(r<0)for(;++r<=0;)for(;e(t,-1),!n(t););else for(;--r>=0;)for(;e(t,1),!n(t););}))},n&&(i.count=function(e,r){return kl.setTime(+e),El.setTime(+r),t(kl),t(El),Math.floor(n(kl,El))},i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?i.filter(r?function(e){return r(e)%t==0}:function(e){return i.count(0,e)%t==0}):i:null}),i}var Sl=Tl((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t,e){return e.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));Sl.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Tl((function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,n){e.setFullYear(e.getFullYear()+n*t)})):null};var Cl=Sl,Ml=(Sl.range,Tl((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()}))),Nl=(Ml.range,6e4),Pl=6048e5;function Ol(t){return Tl((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+7*e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Nl)/Pl}))}var Al=Ol(0),Fl=Ol(1),Ll=Ol(2),Rl=Ol(3),zl=Ol(4),jl=Ol(5),Il=Ol(6),Ul=(Al.range,Fl.range,Ll.range,Rl.range,zl.range,jl.range,Il.range,Tl((function(t){t.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Nl)/864e5}),(function(t){return t.getDate()-1}))),Dl=Ul,Hl=(Ul.range,Tl((function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds()-t.getMinutes()*Nl)}),(function(t,e){t.setTime(+t+36e5*e)}),(function(t,e){return(e-t)/36e5}),(function(t){return t.getHours()}))),$l=(Hl.range,Tl((function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds())}),(function(t,e){t.setTime(+t+e*Nl)}),(function(t,e){return(e-t)/Nl}),(function(t){return t.getMinutes()}))),Wl=($l.range,Tl((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,e){t.setTime(+t+1e3*e)}),(function(t,e){return(e-t)/1e3}),(function(t){return t.getUTCSeconds()}))),Bl=(Wl.range,Tl((function(){}),(function(t,e){t.setTime(+t+e)}),(function(t,e){return e-t})));Bl.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?Tl((function(e){e.setTime(Math.floor(e/t)*t)}),(function(e,n){e.setTime(+e+n*t)}),(function(e,n){return(n-e)/t})):Bl:null};Bl.range;function ql(t){return Tl((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+7*e)}),(function(t,e){return(e-t)/Pl}))}var Yl=ql(0),Vl=ql(1),Xl=ql(2),Ql=ql(3),Kl=ql(4),Gl=ql(5),Zl=ql(6),Jl=(Yl.range,Vl.range,Xl.range,Ql.range,Kl.range,Gl.range,Zl.range,Tl((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/864e5}),(function(t){return t.getUTCDate()-1}))),tu=Jl,eu=(Jl.range,Tl((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)}),(function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()})));eu.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Tl((function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,n){e.setUTCFullYear(e.getUTCFullYear()+n*t)})):null};var nu=eu;eu.range;function ru(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function iu(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function au(t){return{y:t,m:0,d:1,H:0,M:0,S:0,L:0}}var ou,lu,uu,su={"-":"",_:" ",0:"0"},cu=/^\s*\d+/,fu=/^%/,hu=/[\\^$*+?|[\]().{}]/g;function pu(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a<n?new Array(n-a+1).join(e)+i:i)}function du(t){return t.replace(hu,"\\$&")}function mu(t){return new RegExp("^(?:"+t.map(du).join("|")+")","i")}function yu(t){for(var e={},n=-1,r=t.length;++n<r;)e[t[n].toLowerCase()]=n;return e}function vu(t,e,n){var r=cu.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function gu(t,e,n){var r=cu.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function _u(t,e,n){var r=cu.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function bu(t,e,n){var r=cu.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function wu(t,e,n){var r=cu.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function xu(t,e,n){var r=cu.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function ku(t,e,n){var r=cu.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Eu(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function Tu(t,e,n){var r=cu.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function Su(t,e,n){var r=cu.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Cu(t,e,n){var r=cu.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function Mu(t,e,n){var r=cu.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Nu(t,e,n){var r=cu.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function Pu(t,e,n){var r=cu.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function Ou(t,e,n){var r=cu.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Au(t,e,n){var r=cu.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Fu(t,e,n){var r=fu.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function Lu(t,e,n){var r=cu.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function Ru(t,e,n){var r=cu.exec(e.slice(n));return r?(t.Q=1e3*+r[0],n+r[0].length):-1}function zu(t,e){return pu(t.getDate(),e,2)}function ju(t,e){return pu(t.getHours(),e,2)}function Iu(t,e){return pu(t.getHours()%12||12,e,2)}function Uu(t,e){return pu(1+Dl.count(Cl(t),t),e,3)}function Du(t,e){return pu(t.getMilliseconds(),e,3)}function Hu(t,e){return Du(t,e)+"000"}function $u(t,e){return pu(t.getMonth()+1,e,2)}function Wu(t,e){return pu(t.getMinutes(),e,2)}function Bu(t,e){return pu(t.getSeconds(),e,2)}function qu(t){var e=t.getDay();return 0===e?7:e}function Yu(t,e){return pu(Al.count(Cl(t),t),e,2)}function Vu(t,e){var n=t.getDay();return t=n>=4||0===n?zl(t):zl.ceil(t),pu(zl.count(Cl(t),t)+(4===Cl(t).getDay()),e,2)}function Xu(t){return t.getDay()}function Qu(t,e){return pu(Fl.count(Cl(t),t),e,2)}function Ku(t,e){return pu(t.getFullYear()%100,e,2)}function Gu(t,e){return pu(t.getFullYear()%1e4,e,4)}function Zu(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+pu(e/60|0,"0",2)+pu(e%60,"0",2)}function Ju(t,e){return pu(t.getUTCDate(),e,2)}function ts(t,e){return pu(t.getUTCHours(),e,2)}function es(t,e){return pu(t.getUTCHours()%12||12,e,2)}function ns(t,e){return pu(1+tu.count(nu(t),t),e,3)}function rs(t,e){return pu(t.getUTCMilliseconds(),e,3)}function is(t,e){return rs(t,e)+"000"}function as(t,e){return pu(t.getUTCMonth()+1,e,2)}function os(t,e){return pu(t.getUTCMinutes(),e,2)}function ls(t,e){return pu(t.getUTCSeconds(),e,2)}function us(t){var e=t.getUTCDay();return 0===e?7:e}function ss(t,e){return pu(Yl.count(nu(t),t),e,2)}function cs(t,e){var n=t.getUTCDay();return t=n>=4||0===n?Kl(t):Kl.ceil(t),pu(Kl.count(nu(t),t)+(4===nu(t).getUTCDay()),e,2)}function fs(t){return t.getUTCDay()}function hs(t,e){return pu(Vl.count(nu(t),t),e,2)}function ps(t,e){return pu(t.getUTCFullYear()%100,e,2)}function ds(t,e){return pu(t.getUTCFullYear()%1e4,e,4)}function ms(){return"+0000"}function ys(){return"%"}function vs(t){return+t}function gs(t){return Math.floor(+t/1e3)}!function(t){ou=function(t){var e=t.dateTime,n=t.date,r=t.time,i=t.periods,a=t.days,o=t.shortDays,l=t.months,u=t.shortMonths,s=mu(i),c=yu(i),f=mu(a),h=yu(a),p=mu(o),d=yu(o),m=mu(l),y=yu(l),v=mu(u),g=yu(u),_={a:function(t){return o[t.getDay()]},A:function(t){return a[t.getDay()]},b:function(t){return u[t.getMonth()]},B:function(t){return l[t.getMonth()]},c:null,d:zu,e:zu,f:Hu,H:ju,I:Iu,j:Uu,L:Du,m:$u,M:Wu,p:function(t){return i[+(t.getHours()>=12)]},Q:vs,s:gs,S:Bu,u:qu,U:Yu,V:Vu,w:Xu,W:Qu,x:null,X:null,y:Ku,Y:Gu,Z:Zu,"%":ys},b={a:function(t){return o[t.getUTCDay()]},A:function(t){return a[t.getUTCDay()]},b:function(t){return u[t.getUTCMonth()]},B:function(t){return l[t.getUTCMonth()]},c:null,d:Ju,e:Ju,f:is,H:ts,I:es,j:ns,L:rs,m:as,M:os,p:function(t){return i[+(t.getUTCHours()>=12)]},Q:vs,s:gs,S:ls,u:us,U:ss,V:cs,w:fs,W:hs,x:null,X:null,y:ps,Y:ds,Z:ms,"%":ys},w={a:function(t,e,n){var r=p.exec(e.slice(n));return r?(t.w=d[r[0].toLowerCase()],n+r[0].length):-1},A:function(t,e,n){var r=f.exec(e.slice(n));return r?(t.w=h[r[0].toLowerCase()],n+r[0].length):-1},b:function(t,e,n){var r=v.exec(e.slice(n));return r?(t.m=g[r[0].toLowerCase()],n+r[0].length):-1},B:function(t,e,n){var r=m.exec(e.slice(n));return r?(t.m=y[r[0].toLowerCase()],n+r[0].length):-1},c:function(t,n,r){return E(t,e,n,r)},d:Su,e:Su,f:Au,H:Mu,I:Mu,j:Cu,L:Ou,m:Tu,M:Nu,p:function(t,e,n){var r=s.exec(e.slice(n));return r?(t.p=c[r[0].toLowerCase()],n+r[0].length):-1},Q:Lu,s:Ru,S:Pu,u:gu,U:_u,V:bu,w:vu,W:wu,x:function(t,e,r){return E(t,n,e,r)},X:function(t,e,n){return E(t,r,e,n)},y:ku,Y:xu,Z:Eu,"%":Fu};function x(t,e){return function(n){var r,i,a,o=[],l=-1,u=0,s=t.length;for(n instanceof Date||(n=new Date(+n));++l<s;)37===t.charCodeAt(l)&&(o.push(t.slice(u,l)),null!=(i=su[r=t.charAt(++l)])?r=t.charAt(++l):i="e"===r?" ":"0",(a=e[r])&&(r=a(n,i)),o.push(r),u=l+1);return o.push(t.slice(u,l)),o.join("")}}function k(t,e){return function(n){var r,i,a=au(1900);if(E(a,t,n+="",0)!=n.length)return null;if("Q"in a)return new Date(a.Q);if("p"in a&&(a.H=a.H%12+12*a.p),"V"in a){if(a.V<1||a.V>53)return null;"w"in a||(a.w=1),"Z"in a?(i=(r=iu(au(a.y))).getUTCDay(),r=i>4||0===i?Vl.ceil(r):Vl(r),r=tu.offset(r,7*(a.V-1)),a.y=r.getUTCFullYear(),a.m=r.getUTCMonth(),a.d=r.getUTCDate()+(a.w+6)%7):(i=(r=e(au(a.y))).getDay(),r=i>4||0===i?Fl.ceil(r):Fl(r),r=Dl.offset(r,7*(a.V-1)),a.y=r.getFullYear(),a.m=r.getMonth(),a.d=r.getDate()+(a.w+6)%7)}else("W"in a||"U"in a)&&("w"in a||(a.w="u"in a?a.u%7:"W"in a?1:0),i="Z"in a?iu(au(a.y)).getUTCDay():e(au(a.y)).getDay(),a.m=0,a.d="W"in a?(a.w+6)%7+7*a.W-(i+5)%7:a.w+7*a.U-(i+6)%7);return"Z"in a?(a.H+=a.Z/100|0,a.M+=a.Z%100,iu(a)):e(a)}}function E(t,e,n,r){for(var i,a,o=0,l=e.length,u=n.length;o<l;){if(r>=u)return-1;if(37===(i=e.charCodeAt(o++))){if(i=e.charAt(o++),!(a=w[i in su?e.charAt(o++):i])||(r=a(t,n,r))<0)return-1}else if(i!=n.charCodeAt(r++))return-1}return r}return _.x=x(n,_),_.X=x(r,_),_.c=x(e,_),b.x=x(n,b),b.X=x(r,b),b.c=x(e,b),{format:function(t){var e=x(t+="",_);return e.toString=function(){return t},e},parse:function(t){var e=k(t+="",ru);return e.toString=function(){return t},e},utcFormat:function(t){var e=x(t+="",b);return e.toString=function(){return t},e},utcParse:function(t){var e=k(t,iu);return e.toString=function(){return t},e}}}(t),ou.format,ou.parse,lu=ou.utcFormat,uu=ou.utcParse}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});Date.prototype.toISOString||lu("%Y-%m-%dT%H:%M:%S.%LZ");+new Date("2000-01-01T00:00:00.000Z")||uu("%Y-%m-%dT%H:%M:%S.%LZ");var _s=Tl((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCMonth(t.getUTCMonth()+e)}),(function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()})),bs=(_s.range,Tl((function(t){t.setUTCMinutes(0,0,0)}),(function(t,e){t.setTime(+t+36e5*e)}),(function(t,e){return(e-t)/36e5}),(function(t){return t.getUTCHours()}))),ws=(bs.range,Tl((function(t){t.setUTCSeconds(0,0)}),(function(t,e){t.setTime(+t+e*Nl)}),(function(t,e){return(e-t)/Nl}),(function(t){return t.getUTCMinutes()})));ws.range;var xs=function(t){for(var e=t.length/6|0,n=new Array(e),r=0;r<e;)n[r]="#"+t.slice(6*r,6*++r);return n}("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),ks=function(t){return function(){return t}},Es=(Math.abs,Math.atan2,Math.cos,Math.max,Math.min,Math.sin,Math.sqrt,1e-12),Ts=Math.PI,Ss=2*Ts;function Cs(t){this._context=t}Cs.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}};var Ms=function(t){return new Cs(t)};function Ns(t){return t[0]}function Ps(t){return t[1]}var Os=function(){var t=Ns,e=Ps,n=ks(!0),r=null,i=Ms,a=null;function o(o){var l,u,s,c=o.length,f=!1;for(null==r&&(a=i(s=ui())),l=0;l<=c;++l)!(l<c&&n(u=o[l],l,o))===f&&((f=!f)?a.lineStart():a.lineEnd()),f&&a.point(+t(u,l,o),+e(u,l,o));if(s)return a=null,s+""||null}return o.x=function(e){return arguments.length?(t="function"==typeof e?e:ks(+e),o):t},o.y=function(t){return arguments.length?(e="function"==typeof t?t:ks(+t),o):e},o.defined=function(t){return arguments.length?(n="function"==typeof t?t:ks(!!t),o):n},o.curve=function(t){return arguments.length?(i=t,null!=r&&(a=i(r)),o):i},o.context=function(t){return arguments.length?(null==t?r=a=null:a=i(r=t),o):r},o};Fs(Ms);function As(t){this._curve=t}function Fs(t){function e(e){return new As(t(e))}return e._curve=t,e}As.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,e){this._curve.point(e*Math.sin(t),e*-Math.cos(t))}};Array.prototype.slice;Math.sqrt(1/3);var Ls=Math.sin(Ts/10)/Math.sin(7*Ts/10),Rs=(Math.sin(Ss/10),Math.cos(Ss/10),Math.sqrt(3),Math.sqrt(3),Math.sqrt(12),function(){});function zs(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function js(t){this._context=t}js.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:zs(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:zs(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Is(t){this._context=t}Is.prototype={areaStart:Rs,areaEnd:Rs,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:zs(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Us(t){this._context=t}Us.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:zs(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Ds(t,e){this._basis=new js(t),this._beta=e}Ds.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0)for(var r,i=t[0],a=e[0],o=t[n]-i,l=e[n]-a,u=-1;++u<=n;)r=u/n,this._basis.point(this._beta*t[u]+(1-this._beta)*(i+r*o),this._beta*e[u]+(1-this._beta)*(a+r*l));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};(function t(e){function n(t){return 1===e?new js(t):new Ds(t,e)}return n.beta=function(e){return t(+e)},n})(.85);function Hs(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function $s(t,e){this._context=t,this._k=(1-e)/6}$s.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Hs(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:Hs(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};(function t(e){function n(t){return new $s(t,e)}return n.tension=function(e){return t(+e)},n})(0);function Ws(t,e){this._context=t,this._k=(1-e)/6}Ws.prototype={areaStart:Rs,areaEnd:Rs,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Hs(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};(function t(e){function n(t){return new Ws(t,e)}return n.tension=function(e){return t(+e)},n})(0);function Bs(t,e){this._context=t,this._k=(1-e)/6}Bs.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Hs(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};(function t(e){function n(t){return new Bs(t,e)}return n.tension=function(e){return t(+e)},n})(0);function qs(t,e,n){var r=t._x1,i=t._y1,a=t._x2,o=t._y2;if(t._l01_a>Es){var l=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,u=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*l-t._x0*t._l12_2a+t._x2*t._l01_2a)/u,i=(i*l-t._y0*t._l12_2a+t._y2*t._l01_2a)/u}if(t._l23_a>Es){var s=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,c=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*s+t._x1*t._l23_2a-e*t._l12_2a)/c,o=(o*s+t._y1*t._l23_2a-n*t._l12_2a)/c}t._context.bezierCurveTo(r,i,a,o,t._x2,t._y2)}function Ys(t,e){this._context=t,this._alpha=e}Ys.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:qs(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};(function t(e){function n(t){return e?new Ys(t,e):new $s(t,0)}return n.alpha=function(e){return t(+e)},n})(.5);function Vs(t,e){this._context=t,this._alpha=e}Vs.prototype={areaStart:Rs,areaEnd:Rs,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:qs(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};(function t(e){function n(t){return e?new Vs(t,e):new Ws(t,0)}return n.alpha=function(e){return t(+e)},n})(.5);function Xs(t,e){this._context=t,this._alpha=e}Xs.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:qs(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};(function t(e){function n(t){return e?new Xs(t,e):new Bs(t,0)}return n.alpha=function(e){return t(+e)},n})(.5);function Qs(t){this._context=t}Qs.prototype={areaStart:Rs,areaEnd:Rs,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function Ks(t){return t<0?-1:1}function Gs(t,e,n){var r=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(r||i<0&&-0),o=(n-t._y1)/(i||r<0&&-0),l=(a*i+o*r)/(r+i);return(Ks(a)+Ks(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(l))||0}function Zs(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function Js(t,e,n){var r=t._x0,i=t._y0,a=t._x1,o=t._y1,l=(a-r)/3;t._context.bezierCurveTo(r+l,i+l*e,a-l,o-l*n,a,o)}function tc(t){this._context=t}function ec(t){this._context=new nc(t)}function nc(t){this._context=t}function rc(t){this._context=t}function ic(t){var e,n,r=t.length-1,i=new Array(r),a=new Array(r),o=new Array(r);for(i[0]=0,a[0]=2,o[0]=t[0]+2*t[1],e=1;e<r-1;++e)i[e]=1,a[e]=4,o[e]=4*t[e]+2*t[e+1];for(i[r-1]=2,a[r-1]=7,o[r-1]=8*t[r-1]+t[r],e=1;e<r;++e)n=i[e]/a[e-1],a[e]-=n,o[e]-=n*o[e-1];for(i[r-1]=o[r-1]/a[r-1],e=r-2;e>=0;--e)i[e]=(o[e]-i[e+1])/a[e];for(a[r-1]=(t[r]+i[r-1])/2,e=0;e<r-1;++e)a[e]=2*t[e+1]-i[e+1];return[i,a]}tc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Js(this,this._t0,Zs(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var n=NaN;if(e=+e,(t=+t)!==this._x1||e!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,Js(this,Zs(this,n=Gs(this,t,e)),n);break;default:Js(this,this._t0,n=Gs(this,t,e))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=n}}},(ec.prototype=Object.create(tc.prototype)).point=function(t,e){tc.prototype.point.call(this,e,t)},nc.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,r,i,a){this._context.bezierCurveTo(e,t,r,n,a,i)}},rc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),2===n)this._context.lineTo(t[1],e[1]);else for(var r=ic(t),i=ic(e),a=0,o=1;o<n;++a,++o)this._context.bezierCurveTo(r[0][a],i[0][a],r[1][a],i[1][a],t[o],e[o]);(this._line||0!==this._line&&1===n)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}};function ac(t,e){this._context=t,this._t=e}ac.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}}this._x=t,this._y=e}};function oc(){this._=null}function lc(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function uc(t,e){var n=e,r=e.R,i=n.U;i?i.L===n?i.L=r:i.R=r:t._=r,r.U=i,n.U=r,n.R=r.L,n.R&&(n.R.U=n),r.L=n}function sc(t,e){var n=e,r=e.L,i=n.U;i?i.L===n?i.L=r:i.R=r:t._=r,r.U=i,n.U=r,n.L=r.R,n.L&&(n.L.U=n),r.R=n}function cc(t){for(;t.L;)t=t.L;return t}oc.prototype={constructor:oc,insert:function(t,e){var n,r,i;if(t){if(e.P=t,e.N=t.N,t.N&&(t.N.P=e),t.N=e,t.R){for(t=t.R;t.L;)t=t.L;t.L=e}else t.R=e;n=t}else this._?(t=cc(this._),e.P=null,e.N=t,t.P=t.L=e,n=t):(e.P=e.N=null,this._=e,n=null);for(e.L=e.R=null,e.U=n,e.C=!0,t=e;n&&n.C;)n===(r=n.U).L?(i=r.R)&&i.C?(n.C=i.C=!1,r.C=!0,t=r):(t===n.R&&(uc(this,n),n=(t=n).U),n.C=!1,r.C=!0,sc(this,r)):(i=r.L)&&i.C?(n.C=i.C=!1,r.C=!0,t=r):(t===n.L&&(sc(this,n),n=(t=n).U),n.C=!1,r.C=!0,uc(this,r)),n=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var e,n,r,i=t.U,a=t.L,o=t.R;if(n=a?o?cc(o):a:o,i?i.L===t?i.L=n:i.R=n:this._=n,a&&o?(r=n.C,n.C=t.C,n.L=a,a.U=n,n!==o?(i=n.U,n.U=t.U,t=n.R,i.L=t,n.R=o,o.U=n):(n.U=i,i=n,t=n.R)):(r=t.C,t=n),t&&(t.U=i),!r)if(t&&t.C)t.C=!1;else{do{if(t===this._)break;if(t===i.L){if((e=i.R).C&&(e.C=!1,i.C=!0,uc(this,i),e=i.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,sc(this,e),e=i.R),e.C=i.C,i.C=e.R.C=!1,uc(this,i),t=this._;break}}else if((e=i.L).C&&(e.C=!1,i.C=!0,sc(this,i),e=i.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,uc(this,e),e=i.L),e.C=i.C,i.C=e.L.C=!1,sc(this,i),t=this._;break}e.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}};var fc=oc;function hc(t,e,n,r){var i=[null,null],a=zc.push(i)-1;return i.left=t,i.right=e,n&&dc(i,t,e,n),r&&dc(i,e,t,r),Lc[t.index].halfedges.push(a),Lc[e.index].halfedges.push(a),i}function pc(t,e,n){var r=[e,n];return r.left=t,r}function dc(t,e,n,r){t[0]||t[1]?t.left===n?t[1]=r:t[0]=r:(t[0]=r,t.left=e,t.right=n)}function mc(t,e,n,r,i){var a,o=t[0],l=t[1],u=o[0],s=o[1],c=0,f=1,h=l[0]-u,p=l[1]-s;if(a=e-u,h||!(a>0)){if(a/=h,h<0){if(a<c)return;a<f&&(f=a)}else if(h>0){if(a>f)return;a>c&&(c=a)}if(a=r-u,h||!(a<0)){if(a/=h,h<0){if(a>f)return;a>c&&(c=a)}else if(h>0){if(a<c)return;a<f&&(f=a)}if(a=n-s,p||!(a>0)){if(a/=p,p<0){if(a<c)return;a<f&&(f=a)}else if(p>0){if(a>f)return;a>c&&(c=a)}if(a=i-s,p||!(a<0)){if(a/=p,p<0){if(a>f)return;a>c&&(c=a)}else if(p>0){if(a<c)return;a<f&&(f=a)}return!(c>0||f<1)||(c>0&&(t[0]=[u+c*h,s+c*p]),f<1&&(t[1]=[u+f*h,s+f*p]),!0)}}}}}function yc(t,e,n,r,i){var a=t[1];if(a)return!0;var o,l,u=t[0],s=t.left,c=t.right,f=s[0],h=s[1],p=c[0],d=c[1],m=(f+p)/2,y=(h+d)/2;if(d===h){if(m<e||m>=r)return;if(f>p){if(u){if(u[1]>=i)return}else u=[m,n];a=[m,i]}else{if(u){if(u[1]<n)return}else u=[m,i];a=[m,n]}}else if(l=y-(o=(f-p)/(d-h))*m,o<-1||o>1)if(f>p){if(u){if(u[1]>=i)return}else u=[(n-l)/o,n];a=[(i-l)/o,i]}else{if(u){if(u[1]<n)return}else u=[(i-l)/o,i];a=[(n-l)/o,n]}else if(h<d){if(u){if(u[0]>=r)return}else u=[e,o*e+l];a=[r,o*r+l]}else{if(u){if(u[0]<e)return}else u=[r,o*r+l];a=[e,o*e+l]}return t[0]=u,t[1]=a,!0}function vc(t,e){var n=t.site,r=e.left,i=e.right;return n===i&&(i=r,r=n),i?Math.atan2(i[1]-r[1],i[0]-r[0]):(n===r?(r=e[1],i=e[0]):(r=e[0],i=e[1]),Math.atan2(r[0]-i[0],i[1]-r[1]))}function gc(t,e){return e[+(e.left!==t.site)]}function _c(t,e){return e[+(e.left===t.site)]}var bc,wc=[];function xc(){lc(this),this.x=this.y=this.arc=this.site=this.cy=null}function kc(t){var e=t.P,n=t.N;if(e&&n){var r=e.site,i=t.site,a=n.site;if(r!==a){var o=i[0],l=i[1],u=r[0]-o,s=r[1]-l,c=a[0]-o,f=a[1]-l,h=2*(u*f-s*c);if(!(h>=-Ic)){var p=u*u+s*s,d=c*c+f*f,m=(f*p-s*d)/h,y=(u*d-c*p)/h,v=wc.pop()||new xc;v.arc=t,v.site=i,v.x=m+o,v.y=(v.cy=y+l)+Math.sqrt(m*m+y*y),t.circle=v;for(var g=null,_=Rc._;_;)if(v.y<_.y||v.y===_.y&&v.x<=_.x){if(!_.L){g=_.P;break}_=_.L}else{if(!_.R){g=_;break}_=_.R}Rc.insert(g,v),g||(bc=v)}}}}function Ec(t){var e=t.circle;e&&(e.P||(bc=e.N),Rc.remove(e),wc.push(e),lc(e),t.circle=null)}var Tc=[];function Sc(){lc(this),this.edge=this.site=this.circle=null}function Cc(t){var e=Tc.pop()||new Sc;return e.site=t,e}function Mc(t){Ec(t),Fc.remove(t),Tc.push(t),lc(t)}function Nc(t){var e=t.circle,n=e.x,r=e.cy,i=[n,r],a=t.P,o=t.N,l=[t];Mc(t);for(var u=a;u.circle&&Math.abs(n-u.circle.x)<jc&&Math.abs(r-u.circle.cy)<jc;)a=u.P,l.unshift(u),Mc(u),u=a;l.unshift(u),Ec(u);for(var s=o;s.circle&&Math.abs(n-s.circle.x)<jc&&Math.abs(r-s.circle.cy)<jc;)o=s.N,l.push(s),Mc(s),s=o;l.push(s),Ec(s);var c,f=l.length;for(c=1;c<f;++c)s=l[c],u=l[c-1],dc(s.edge,u.site,s.site,i);u=l[0],(s=l[f-1]).edge=hc(u.site,s.site,null,i),kc(u),kc(s)}function Pc(t){for(var e,n,r,i,a=t[0],o=t[1],l=Fc._;l;)if((r=Oc(l,o)-a)>jc)l=l.L;else{if(!((i=a-Ac(l,o))>jc)){r>-jc?(e=l.P,n=l):i>-jc?(e=l,n=l.N):e=n=l;break}if(!l.R){e=l;break}l=l.R}!function(t){Lc[t.index]={site:t,halfedges:[]}}(t);var u=Cc(t);if(Fc.insert(e,u),e||n){if(e===n)return Ec(e),n=Cc(e.site),Fc.insert(u,n),u.edge=n.edge=hc(e.site,u.site),kc(e),void kc(n);if(n){Ec(e),Ec(n);var s=e.site,c=s[0],f=s[1],h=t[0]-c,p=t[1]-f,d=n.site,m=d[0]-c,y=d[1]-f,v=2*(h*y-p*m),g=h*h+p*p,_=m*m+y*y,b=[(y*g-p*_)/v+c,(h*_-m*g)/v+f];dc(n.edge,s,d,b),u.edge=hc(s,t,null,b),n.edge=hc(t,d,null,b),kc(e),kc(n)}else u.edge=hc(e.site,u.site)}}function Oc(t,e){var n=t.site,r=n[0],i=n[1],a=i-e;if(!a)return r;var o=t.P;if(!o)return-1/0;var l=(n=o.site)[0],u=n[1],s=u-e;if(!s)return l;var c=l-r,f=1/a-1/s,h=c/s;return f?(-h+Math.sqrt(h*h-2*f*(c*c/(-2*s)-u+s/2+i-a/2)))/f+r:(r+l)/2}function Ac(t,e){var n=t.N;if(n)return Oc(n,e);var r=t.site;return r[1]===e?r[0]:1/0}var Fc,Lc,Rc,zc,jc=1e-6,Ic=1e-12;function Uc(t,e){return e[1]-t[1]||e[0]-t[0]}function Dc(t,e){var n,r,i,a=t.sort(Uc).pop();for(zc=[],Lc=new Array(t.length),Fc=new fc,Rc=new fc;;)if(i=bc,a&&(!i||a[1]<i.y||a[1]===i.y&&a[0]<i.x))a[0]===n&&a[1]===r||(Pc(a),n=a[0],r=a[1]),a=t.pop();else{if(!i)break;Nc(i.arc)}if(function(){for(var t,e,n,r,i=0,a=Lc.length;i<a;++i)if((t=Lc[i])&&(r=(e=t.halfedges).length)){var o=new Array(r),l=new Array(r);for(n=0;n<r;++n)o[n]=n,l[n]=vc(t,zc[e[n]]);for(o.sort((function(t,e){return l[e]-l[t]})),n=0;n<r;++n)l[n]=e[o[n]];for(n=0;n<r;++n)e[n]=l[n]}}(),e){var o=+e[0][0],l=+e[0][1],u=+e[1][0],s=+e[1][1];!function(t,e,n,r){for(var i,a=zc.length;a--;)yc(i=zc[a],t,e,n,r)&&mc(i,t,e,n,r)&&(Math.abs(i[0][0]-i[1][0])>jc||Math.abs(i[0][1]-i[1][1])>jc)||delete zc[a]}(o,l,u,s),function(t,e,n,r){var i,a,o,l,u,s,c,f,h,p,d,m,y=Lc.length,v=!0;for(i=0;i<y;++i)if(a=Lc[i]){for(o=a.site,l=(u=a.halfedges).length;l--;)zc[u[l]]||u.splice(l,1);for(l=0,s=u.length;l<s;)d=(p=_c(a,zc[u[l]]))[0],m=p[1],f=(c=gc(a,zc[u[++l%s]]))[0],h=c[1],(Math.abs(d-f)>jc||Math.abs(m-h)>jc)&&(u.splice(l,0,zc.push(pc(o,p,Math.abs(d-t)<jc&&r-m>jc?[t,Math.abs(f-t)<jc?h:r]:Math.abs(m-r)<jc&&n-d>jc?[Math.abs(h-r)<jc?f:n,r]:Math.abs(d-n)<jc&&m-e>jc?[n,Math.abs(f-n)<jc?h:e]:Math.abs(m-e)<jc&&d-t>jc?[Math.abs(h-e)<jc?f:t,e]:null))-1),++s);s&&(v=!1)}if(v){var g,_,b,w=1/0;for(i=0,v=null;i<y;++i)(a=Lc[i])&&(b=(g=(o=a.site)[0]-t)*g+(_=o[1]-e)*_)<w&&(w=b,v=a);if(v){var x=[t,e],k=[t,r],E=[n,r],T=[n,e];v.halfedges.push(zc.push(pc(o=v.site,x,k))-1,zc.push(pc(o,k,E))-1,zc.push(pc(o,E,T))-1,zc.push(pc(o,T,x))-1)}}for(i=0;i<y;++i)(a=Lc[i])&&(a.halfedges.length||delete Lc[i])}(o,l,u,s)}this.edges=zc,this.cells=Lc,Fc=Rc=zc=Lc=null}Dc.prototype={constructor:Dc,polygons:function(){var t=this.edges;return this.cells.map((function(e){var n=e.halfedges.map((function(n){return gc(e,t[n])}));return n.data=e.site.data,n}))},triangles:function(){var t=[],e=this.edges;return this.cells.forEach((function(n,r){if(a=(i=n.halfedges).length)for(var i,a,o,l,u,s,c=n.site,f=-1,h=e[i[a-1]],p=h.left===c?h.right:h.left;++f<a;)o=p,p=(h=e[i[f]]).left===c?h.right:h.left,o&&p&&r<o.index&&r<p.index&&(u=o,s=p,((l=c)[0]-s[0])*(u[1]-l[1])-(l[0]-u[0])*(s[1]-l[1])<0)&&t.push([c.data,o.data,p.data])})),t},links:function(){return this.edges.filter((function(t){return t.right})).map((function(t){return{source:t.left.data,target:t.right.data}}))},find:function(t,e,n){for(var r,i,a=this,o=a._found||0,l=a.cells.length;!(i=a.cells[o]);)if(++o>=l)return null;var u=t-i.site[0],s=e-i.site[1],c=u*u+s*s;do{i=a.cells[r=o],o=null,i.halfedges.forEach((function(n){var r=a.edges[n],l=r.left;if(l!==i.site&&l||(l=r.right)){var u=t-l[0],s=e-l[1],f=u*u+s*s;f<c&&(c=f,o=l.index)}}))}while(null!==o);return a._found=r,null==n||c<=n*n?i.site:null}};function Hc(t,e,n){this.k=t,this.x=e,this.y=n}Hc.prototype={constructor:Hc,scale:function(t){return 1===t?this:new Hc(this.k*t,this.x,this.y)},translate:function(t,e){return 0===t&0===e?this:new Hc(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};new Hc(1,0,0);Hc.prototype;function $c(t,e,n,r,i){const a=t.length;let o=0,l=0;for(let u=0;u<a;u++){const s=t[u],c=e(s),f=n(s),h=i(c);o+=Math.pow(f-h,2),l+=Math.pow(f-r/a,2)}return 1-o/l}function Wc(t){return 180*Math.atan2(t[1][1]-t[0][1],t[1][0]-t[0][0])/Math.PI}function Bc(t,e,n){const r=.01;let i=[o(t),o(e)],a=0;for(;l(i)&&a<1e4;);return i;function o(t){return[t,n(t)]}function l(t){a++;const e=t.length;let n=!1;for(let a=0;a<e-1;a++){const e=t[a],l=t[a+1],u=[((i=[e,l])[0][0]+i[1][0])/2,(i[0][1]+i[1][1])/2],s=o(u[0]),c=Wc([e,u]),f=Wc([e,s]);Math.abs(c-f)>r&&(t.splice(a+1,0,s),n=!0)}var i;return n}}var qc=function(){let t,e=t=>t[0],n=t=>t[1];function r(r){let i=r.length,a=0,o=0,l=0,u=0,s=0,c=t?+t[0]:1/0,f=t?+t[1]:-1/0;for(let h=0;h<i;h++){const i=r[h],p=e(i,h,r),d=n(i,h,r);null!=p&&isFinite(p)&&null!=d&&isFinite(d)&&(a++,o+=p,l+=d,u+=p*d,s+=p*p,t||(p<c&&(c=p),p>f&&(f=p)))}const h=((i=a)*u-o*l)/(i*s-o*o),p=(l-h*o)/i,d=t=>h*t+p,m=$c(r,e,n,l,d),y=[[c,c*h+p],[f,f*h+p]];return y.a=h,y.b=p,y.predict=d,y.rSquared=m,y}return r.domain=function(e){return arguments.length?(t=e,r):t},r.x=function(t){return arguments.length?(e=t,r):e},r.y=function(t){return arguments.length?(n=t,r):n},r};var Yc=function(){let t,e=t=>t[0],n=t=>t[1];function r(r){let i=r.length,a=0,o=0,l=0,u=0,s=0,c=0,f=t?+t[0]:1/0,h=t?+t[1]:-1/0;for(let p=0;p<i;p++){const i=r[p],d=e(i,p,r),m=n(i,p,r);null!=d&&isFinite(d)&&null!=m&&isFinite(m)&&(a++,o+=Math.log(d),l+=Math.log(m)*Math.log(d),u+=Math.log(m),s+=Math.pow(Math.log(d),2),c+=m,t||(d<f&&(f=d),d>h&&(h=d)))}const p=((i=a)*l-o*u)/(i*s-Math.pow(o,2)),d=Math.exp((u-p*o)/i),m=t=>d*Math.pow(t,p),y=Bc(f,h,m);return y.a=d,y.b=p,y.predict=m,y.rSquared=$c(r,e,n,c,m),y}return r.domain=function(e){return arguments.length?(t=e,r):t},r.x=function(t){return arguments.length?(e=t,r):e},r.y=function(t){return arguments.length?(n=t,r):n},r};var Vc=function(t){return t};function Xc(t,...e){return Qc(t,Vc,Vc,e)}function Qc(t,e,n,r){return function t(i,a){if(a>=r.length)return n(i);const o=new Map,l=r[a++];let u=-1;for(const t of i){const e=l(t,++u,i),n=o.get(e);n?n.push(t):o.set(e,[t])}for(const[e,n]of o)o.set(e,t(n,a));return e(o)}(t,0)}var Kc=n(8),Gc=n.n(Kc),Zc=n(3),Jc=n.n(Zc),tf=n(5),ef=n.n(tf),nf=n(11),rf=n(1),af=n.n(rf);function of(t){return(of="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function lf(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function uf(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable})))),r.forEach((function(e){lf(t,e,n[e])}))}return t}function sf(t,e){if(null==t)return{};var n,r,i=function(t,e){if(null==t)return{};var n,r,i={},a=Object.keys(t);for(r=0;r<a.length;r++)n=a[r],e.indexOf(n)>=0||(i[n]=t[n]);return i}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;r<a.length;r++)n=a[r],e.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(i[n]=t[n])}return i}function cf(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e<t.length;e++)n[e]=t[e];return n}}(t)||function(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function ff(t){return e=t,(e-=0)==e?t:(t=t.replace(/[\-_\s]+(.)?/g,(function(t,e){return e?e.toUpperCase():""}))).substr(0,1).toLowerCase()+t.substr(1);var e}var hf=!1;try{hf=!0}catch(t){}function pf(t){return null===t?null:"object"===of(t)&&t.prefix&&t.iconName?t:Array.isArray(t)&&2===t.length?{prefix:t[0],iconName:t[1]}:"string"==typeof t?{prefix:"fas",iconName:t}:void 0}function df(t,e){return Array.isArray(e)&&e.length>0||!Array.isArray(e)&&e?lf({},t,e):{}}function mf(t){var e=t.icon,n=t.mask,r=t.symbol,i=t.className,a=t.title,o=pf(e),l=df("classes",[].concat(cf(function(t){var e,n=t.spin,r=t.pulse,i=t.fixedWidth,a=t.inverse,o=t.border,l=t.listItem,u=t.flip,s=t.size,c=t.rotation,f=t.pull,h=(lf(e={"fa-spin":n,"fa-pulse":r,"fa-fw":i,"fa-inverse":a,"fa-border":o,"fa-li":l,"fa-flip-horizontal":"horizontal"===u||"both"===u,"fa-flip-vertical":"vertical"===u||"both"===u},"fa-".concat(s),void 0!==s),lf(e,"fa-rotate-".concat(c),void 0!==c),lf(e,"fa-pull-".concat(f),void 0!==f),lf(e,"fa-swap-opacity",t.swapOpacity),e);return Object.keys(h).map((function(t){return h[t]?t:null})).filter((function(t){return t}))}(t)),cf(i.split(" ")))),u=df("transform","string"==typeof t.transform?nf.b.transform(t.transform):t.transform),s=df("mask",pf(n)),c=Object(nf.a)(o,uf({},l,u,s,{symbol:r,title:a}));if(!c)return function(){var t;!hf&&console&&"function"==typeof console.error&&(t=console).error.apply(t,arguments)}("Could not find icon",o),null;var f=c.abstract,h={};return Object.keys(t).forEach((function(e){mf.defaultProps.hasOwnProperty(e)||(h[e]=t[e])})),yf(f[0],h)}mf.displayName="FontAwesomeIcon",mf.propTypes={border:af.a.bool,className:af.a.string,mask:af.a.oneOfType([af.a.object,af.a.array,af.a.string]),fixedWidth:af.a.bool,inverse:af.a.bool,flip:af.a.oneOf(["horizontal","vertical","both"]),icon:af.a.oneOfType([af.a.object,af.a.array,af.a.string]),listItem:af.a.bool,pull:af.a.oneOf(["right","left"]),pulse:af.a.bool,rotation:af.a.oneOf([90,180,270]),size:af.a.oneOf(["lg","xs","sm","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"]),spin:af.a.bool,symbol:af.a.oneOfType([af.a.bool,af.a.string]),title:af.a.string,transform:af.a.oneOfType([af.a.string,af.a.object]),swapOpacity:af.a.bool},mf.defaultProps={border:!1,className:"",mask:null,fixedWidth:!1,inverse:!1,flip:null,icon:null,listItem:!1,pull:null,pulse:!1,rotation:null,size:null,spin:!1,symbol:!1,title:"",transform:null,swapOpacity:!1};var yf=function t(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("string"==typeof n)return n;var i=(n.children||[]).map((function(n){return t(e,n)})),a=Object.keys(n.attributes||{}).reduce((function(t,e){var r=n.attributes[e];switch(e){case"class":t.attrs.className=r,delete n.attributes.class;break;case"style":t.attrs.style=function(t){return t.split(";").map((function(t){return t.trim()})).filter((function(t){return t})).reduce((function(t,e){var n,r=e.indexOf(":"),i=ff(e.slice(0,r)),a=e.slice(r+1).trim();return i.startsWith("webkit")?t[(n=i,n.charAt(0).toUpperCase()+n.slice(1))]=a:t[i]=a,t}),{})}(r);break;default:0===e.indexOf("aria-")||0===e.indexOf("data-")?t.attrs[e.toLowerCase()]=r:t.attrs[ff(e)]=r}return t}),{attrs:{}}),o=r.style,l=void 0===o?{}:o,u=sf(r,["style"]);return a.attrs.style=uf({},a.attrs.style,l),e.apply(void 0,[n.tag,uf({},a.attrs,u)].concat(cf(i)))}.bind(null,i.a.createElement),vf={prefix:"fas",iconName:"arrow-right",icon:[448,512,[],"f061","M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z"]},gf={prefix:"fas",iconName:"sad-tear",icon:[496,512,[],"f5b4","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zM152 416c-26.5 0-48-21-48-47 0-20 28.5-60.4 41.6-77.8 3.2-4.3 9.6-4.3 12.8 0C171.5 308.6 200 349 200 369c0 26-21.5 47-48 47zm16-176c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm170.2 154.2C315.8 367.4 282.9 352 248 352c-21.2 0-21.2-32 0-32 44.4 0 86.3 19.6 114.7 53.8 13.8 16.4-11.2 36.5-24.5 20.4z"]},_f=function(t){var e=t.activeFile,n=t.handleClose;return i.a.createElement("div",{className:"col-4"},i.a.createElement("div",{className:"card"},i.a.createElement("div",{className:"card-header"},i.a.createElement("h5",{className:"card-title"},e.file_path),i.a.createElement("h6",{className:"text-muted"},"Additional information"),i.a.createElement("button",{type:"button",className:"close","aria-label":"Close",onClick:n},i.a.createElement("span",{"aria-hidden":"true"},"×"))),i.a.createElement("div",{className:"card-body"},i.a.createElement("h6",{className:"text-muted"},i.a.createElement("strong",null,"Method Teardown")),i.a.createElement("table",{className:"table table-borderless mt-0 method-table"},i.a.createElement("tbody",null,Object.entries(e.details).map((function(t){var e=u()(t,2),n=e[0],r=e[1];return i.a.createElement("tr",{className:"row",key:n},i.a.createElement("td",{className:"px-3 py-1 col-9 text-truncate"},n),i.a.createElement("td",{className:"px-3 py-1 col-3"},Math.round(100*r)/100))})))),i.a.createElement("h6",{className:"text-muted mt-3"},"Git history (last 10 commits)"),i.a.createElement("table",{className:"table table-borderless mt-0 method-table"},i.a.createElement("tbody",null,e.history.map((function(t){var e=u()(t,2),n=e[0],r=e[1];return i.a.createElement("tr",{className:"row",key:n},i.a.createElement("td",{className:"px-3 py-1 col-3 text-truncate"},n),i.a.createElement("td",{className:"px-3 py-1 col-8 text-truncate"},r))})))))))},bf=function(t){var e=t.state,n=t.dispatch,r=t.activePlot;return i.a.createElement("div",{className:"mt-3"},i.a.createElement("h6",{className:"text-muted"},i.a.createElement("strong",null,"Display options")),i.a.createElement("form",null,i.a.createElement("div",{className:"form-row"},i.a.createElement("div",{className:"form-group col-2"},i.a.createElement("input",{checked:e.displayFilenames,className:"form-check-input",type:"checkbox",id:"filenames-check",onChange:function(){n({type:"SET_DISPLAY_FILENAMES",displayFilenames:!e.displayFilenames})}}),i.a.createElement("label",{className:"form-check-label text-muted",htmlFor:"filenames-check"},i.a.createElement("small",null,"Display filenames"))),i.a.createElement("div",{className:"form-group col-2"},i.a.createElement("input",{checked:e.displayRegression,className:"form-check-input",type:"checkbox",id:"regression-check",disabled:r!==Of.SCATTER_PLOT,onChange:function(){n({type:"SET_DISPLAY_REGRESSION",displayRegression:!e.displayRegression})}}),i.a.createElement("label",{className:"form-check-label text-muted",htmlFor:"regression-check"},i.a.createElement("small",null,"Display regression"))),i.a.createElement("div",{className:"form-group col-3"},i.a.createElement("label",{htmlFor:"regression-type",className:"text-muted ".concat(r===Of.TREE_MAP&&"disabled")},i.a.createElement("small",null,"Regression Type")),i.a.createElement("select",{id:"regression-type",className:"form-control",disabled:r!==Of.SCATTER_PLOT,onChange:function(t){n({type:"SET_REGRESSION_TYPE",regressionType:parseInt(t.currentTarget.value)})}},i.a.createElement("option",{selected:!0,value:"0"},"Power Law"),i.a.createElement("option",{value:"1"},"Linear"))))))},wf=function(t){var e=t.fileClickCallback,n=t.values,a=t.filePrefix,o=t.displayRegression,l=t.regressionType,u=t.displayFilenames,s=t.path,c=t.activeFile,f=Object(r.useRef)(null);return Object(r.useEffect)((function(){Wf(f.current,{values:n,displayRegression:o,regressionType:l,displayFilenames:u,filePrefix:a,path:s,activeFile:c},e)})),i.a.createElement("div",{id:"canvas",ref:f})},xf=function(t){var e=t.fileClickCallback,n=t.values,a=t.filePrefix,o=t.displayRegression,l=t.regressionType,u=t.metricType,s=t.displayFilenames,c=t.path,f=t.activeFile,h=Object(r.useRef)(null);return Object(r.useEffect)((function(){Hf(h.current,{values:n,displayRegression:o,regressionType:l,metricType:u,displayFilenames:s,filePrefix:a,path:c,activeFile:f},e)})),i.a.createElement("div",{id:"canvas",ref:h})},kf=function(t){var e=t.fileClickCallback,n=t.values,a=t.filePrefix,o=t.displayRegression,l=t.regressionType,u=t.metricType,s=t.displayFilenames,c=t.path,f=t.activeFile,h=Object(r.useRef)(null);return Object(r.useEffect)((function(){$f(h.current,{values:n,displayRegression:o,regressionType:l,metricType:u,displayFilenames:s,filePrefix:a,path:c,activeFile:f},e)})),i.a.createElement("div",{id:"canvas",ref:h})},Ef=n(41),Tf=n.n(Ef);function Sf(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Cf(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?Sf(n,!0).forEach((function(e){Tf()(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Sf(n).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var Mf=function(t,e){var n=t;switch(e.type){case"SET_DISPLAY_REGRESSION":n=Cf({},t,{displayRegression:e.displayRegression});break;case"SET_DISPLAY_FILENAMES":n=Cf({},t,{displayFilenames:e.displayFilenames});break;case"SET_REGRESSION_TYPE":n=Cf({},t,{regressionType:e.regressionType});break;case"SET_METRIC_TYPE":n=Cf({},t,{metricType:e.metricType});break;case"SET_VALUES":n=Cf({},t,{values:e.values});break;case"SET_FILE_PREFIX":n=Cf({},t,{filePrefix:e.filePrefix});break;case"SET_PATH":n=Cf({},t,{path:e.path});break;case"SET_ACTIVE_FILE":n=Cf({},t,{activeFile:e.activeFile})}return n},Nf=0,Pf=1,Of={SCATTER_PLOT:0,TREE_MAP:1},Af=0,Ff=1,Lf=2,Rf={displayRegression:!1,displayFilenames:!1,regressionType:Nf,metricType:Af,values:[],filePrefix:"",path:"",activeFile:{}},zf=function(t){var e=t.type,n=t.finishedLoadingCallback,a=(t.errorCallback,Object(r.useReducer)(Mf,Rf)),o=u()(a,2),l=o[0],s=o[1],c=Object(r.useState)(0),f=u()(c,2),h=f[0],p=f[1],d=Object(r.useState)(!1),m=u()(d,2),y=m[0],v=m[1],g=function(){var t=ef()(Jc.a.mark((function t(){var n;return Jc.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,fetch("/values?type=".concat(e));case 2:return t.next=4,t.sent.json();case 4:return n=t.sent,t.abrupt("return",n);case 6:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}(),_=function(){var t=ef()(Jc.a.mark((function t(){var e;return Jc.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,fetch("/file_prefix");case 2:return t.next=4,t.sent.json();case 4:return e=t.sent,t.abrupt("return",e);case 6:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}();function b(t){s({type:"SET_ACTIVE_FILE",activeFile:t})}Object(r.useEffect)((function(){ef()(Jc.a.mark((function t(){var e,r,i,a;return Jc.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Promise.all([g(),_()]);case 2:e=t.sent,r=u()(e,2),i=r[0],a=r[1],void 0===i.error?(v(!1),s({type:"SET_VALUES",values:i}),a.file_prefix&&s({type:"SET_FILE_PREFIX",filePrefix:a.file_prefix})):v(!0),n();case 8:case"end":return t.stop()}}),t)})))()}),[e]);return i.a.createElement("div",{className:"row pt-4"},i.a.createElement("div",{className:l.activeFile&&0!==Object.keys(l.activeFile).length?"col-8":"col-12"},i.a.createElement("div",{className:"card"},i.a.createElement("div",{className:"card-header"},i.a.createElement("h5",{className:"card-title"},"Churn vs Complexity"),i.a.createElement("h6",{className:"text-muted"},"Click on a point for additional information")),i.a.createElement("div",{className:"card-body"},i.a.createElement("div",{className:"row"},i.a.createElement("div",{className:"col-12 col-lg-4"},i.a.createElement("div",{id:"path-input-group"},i.a.createElement("label",{htmlFor:"path",className:"text-muted"},i.a.createElement("small",null,"Base Path")),i.a.createElement("div",{className:"input-group mb-3"},i.a.createElement("div",{className:"input-group-prepend"},i.a.createElement("span",{className:"input-group-text",id:"path-text"},"./".concat(l.filePrefix||""))),i.a.createElement("input",{type:"text",className:"form-control",placeholder:"","aria-label":"","aria-describedby":"path-text",id:"path",value:l.path,onChange:function(t){t.preventDefault(),s({type:"SET_PATH",path:t.target.value})}})))),i.a.createElement("div",{className:"col-6 col-lg-4"},i.a.createElement("label",{htmlFor:"path",className:"text-muted d-block"},i.a.createElement("small",null,"Plot Type")),i.a.createElement("div",{className:"btn-group btn-group-toggle",role:"toolbar","aria-label":"Plot Type"},i.a.createElement("button",{className:"btn btn-secondary ".concat(h===Of.SCATTER_PLOT&&"active"),onClick:function(t){t.preventDefault(),p(Of.SCATTER_PLOT)}},"Scatterplot/Hist"),i.a.createElement("button",{className:"btn btn-secondary ".concat(h===Of.TREE_MAP&&"active"),onClick:function(t){t.preventDefault(),p(Of.TREE_MAP)}},"Treemap"))),i.a.createElement("div",{className:"col-6 col-lg-4"},i.a.createElement("div",{className:"form-group"},i.a.createElement("label",{htmlFor:"metric-type",className:"text-muted"},i.a.createElement("small",null,"Metric")),i.a.createElement("select",{id:"metric-type",className:"form-control",onChange:function(t){t.preventDefault(),s({type:"SET_METRIC_TYPE",metricType:parseInt(t.target.value)})}},i.a.createElement("option",{selected:!0,value:"0"},"Churn * Complexity"),i.a.createElement("option",{value:"1"},"Complexity"),i.a.createElement("option",{value:"2"},"Churn"))))),i.a.createElement("div",{className:"d-flex ".concat(y?"justify-content-center align-items-center":"justify-content-start"),id:"canvas-wrapper"},y?i.a.createElement("div",{className:"text-center error"},i.a.createElement(mf,{icon:gf,size:"6x"}),i.a.createElement("h3",null,"Oh snap!"),"There has been an error loading the churn count."):i.a.createElement(i.a.Fragment,null,h===Of.SCATTER_PLOT?l.metricType===Af?i.a.createElement(wf,Gc()({fileClickCallback:b},l)):i.a.createElement(kf,Gc()({fileClickCallback:b},l)):i.a.createElement(xf,Gc()({fileClickCallback:b},l)))),i.a.createElement(bf,{state:l,dispatch:s,activePlot:h})))),l.activeFile&&Object.keys(l.activeFile).length>0&&i.a.createElement(_f,{activeFile:l.activeFile,handleClose:function(){s({type:"SET_ACTIVE_FILE",activeFile:{}})}}))},jf=function(t,e){switch(t){case Pf:return"y = ".concat(e.a.toFixed(2)," x + ").concat(e.b.toFixed(2));case Nf:default:return"y = ".concat(e.a.toFixed(2)," x ^ ").concat(e.b.toFixed(2))}},If=function(t,e,n){return function(){var t=Ao,e=!1,n=1,r=1,i=[0],a=Eo,o=Eo,l=Eo,u=Eo,s=Eo;function c(t){return t.x0=t.y0=0,t.x1=n,t.y1=r,t.eachBefore(f),i=[0],e&&t.eachBefore(So),t}function f(e){var n=i[e.depth],r=e.x0+n,c=e.y0+n,f=e.x1-n,h=e.y1-n;f<r&&(r=f=(r+f)/2),h<c&&(c=h=(c+h)/2),e.x0=r,e.y0=c,e.x1=f,e.y1=h,e.children&&(n=i[e.depth+1]=a(e)/2,r+=s(e)-n,c+=o(e)-n,(f-=l(e)-n)<r&&(r=f=(r+f)/2),(h-=u(e)-n)<c&&(c=h=(c+h)/2),t(e,r,c,f,h))}return c.round=function(t){return arguments.length?(e=!!t,c):e},c.size=function(t){return arguments.length?(n=+t[0],r=+t[1],c):[n,r]},c.tile=function(e){return arguments.length?(t=ko(e),c):t},c.padding=function(t){return arguments.length?c.paddingInner(t).paddingOuter(t):c.paddingInner()},c.paddingInner=function(t){return arguments.length?(a="function"==typeof t?t:To(+t),c):a},c.paddingOuter=function(t){return arguments.length?c.paddingTop(t).paddingRight(t).paddingBottom(t).paddingLeft(t):c.paddingTop()},c.paddingTop=function(t){return arguments.length?(o="function"==typeof t?t:To(+t),c):o},c.paddingRight=function(t){return arguments.length?(l="function"==typeof t?t:To(+t),c):l},c.paddingBottom=function(t){return arguments.length?(u="function"==typeof t?t:To(+t),c):u},c.paddingLeft=function(t){return arguments.length?(s="function"==typeof t?t:To(+t),c):s},c}().tile(Ao).size([e,n]).padding(1).round(!0)(go(t).sum((function(t){return t.value})).sort((function(t,e){return e.value-t.value})))},Uf=Gi(",d"),Df=function(t){t.append("text").selectAll("tspan").data((function(t){return t.data.name.concat(Uf(t.value))})).join("tspan").attr("x",3).attr("y",(function(t,e,n){return"".concat(.3*(e===n.length-1)+1.1+.9*e,"em")})).attr("fill-opacity",(function(t,e,n){return e===n.length-1?.7:null})).text((function(t){return t}))},Hf=function(t,e){var n=e.values,r=(e.displayRegression,e.regressionType,e.metricType),i=void 0===r?0:r,a=e.displayFilenames,o=void 0!==a&&a,l=e.filePrefix,s=void 0===l?"":l,c=e.path,f=void 0===c?"":c,h=(e.activeFile,arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){});t.innerHTML="";var p=600,d=600,m=Jo(xs),y=(n=n.filter((function(t){return t.file_path.startsWith("".concat(s).concat(f))}))).map((function(t){var e;switch(i){case Ff:e=t.y;break;case Lf:e=t.x;break;case Af:default:e=t.y*t.x}return{name:t.file_path.substring(s.length+1),value:e,file_path:t.file_path,details:t.details,history:t.history}})).map((function(t){return{name:t.name.split("/"),value:t.value,file_path:t.file_path,details:t.details,history:t.history}})),v={name:s,children:Array.from(Xc(y,(function(t){return t.name[0]})),(function(t){var e=u()(t,2),n=e[0],r=e[1];return{name:n,children:Array.from(Xc(r,(function(t){return t.name[1]})),(function(t){var e=u()(t,2);return{name:e[0],children:e[1]}}))}}))},g=ae(t).append("svg").attr("viewBox",[0,0,p,d]).style("font-size","10px");if(v.children.length>0){var _=If(v,p,d),b=g.selectAll("g").data(_.leaves()).join("g").attr("transform",(function(t){return"translate(".concat(t.x0,",").concat(t.y0,")")}));b.append("title").text((function(t){return"".concat(t.ancestors().reverse().map((function(t){return t.data.name})).join("/"),"\n").concat(Uf(t.value))})),b.append("rect").attr("fill",(function(t){for(;t.depth>1;)t=t.parent;return m(t.data.name)})).attr("fill-opacity",.6).attr("width",(function(t){return t.x1-t.x0})).attr("height",(function(t){return t.y1-t.y0})).on("click",(function(t){h(t.data)})),o&&Df(b)}},$f=function(t,e){var n=e.values,r=(e.displayRegression,e.regressionType,e.metricType),i=void 0===r?0:r,a=(e.displayFilenames,e.filePrefix),o=void 0===a?"":a,l=e.path,u=void 0===l?"":l;e.activeFile,arguments.length>2&&void 0!==arguments[2]&&arguments[2];t.innerHTML="";var s=600,c=600;n=n.filter((function(t){return t.file_path.startsWith("".concat(o).concat(u))}));var f={top:20,right:30,bottom:30,left:40},h=ae(t).append("svg").attr("viewBox",[0,0,s,c]).style("font-size","10px"),p=n.map((function(t){return i===Ff?t.y:t.x})),m=pl().domain(d(p)).range(["green","red"]),y=pl().domain(d(p)).nice(20).range([f.left,s-f.right]),v=E().domain(y.domain()).thresholds(y.ticks(20))(p),g=pl().domain([0,T(v,(function(t){return t.length}))]).nice().range([c-f.bottom,f.top]),_=function(t){return t.attr("transform","translate(0,".concat(c-f.bottom,")")).call(U(y).tickSizeOuter(0))},b=function(t){return t.attr("transform","translate(".concat(f.left,",0)")).call(D(g))};h.append("g").selectAll("rect").data(v).join("rect").attr("fill",(function(t){return m(t.x0)})).attr("x",(function(t){return y(t.x0)+1})).attr("width",(function(t){return Math.max(0,y(t.x1)-y(t.x0)-1)})).attr("y",(function(t){return g(t.length)})).attr("height",(function(t){return g(0)-g(t.length)})),h.append("g").call(_),h.append("g").call(b)},Wf=function(t,e){var n=e.values,r=e.displayRegression,i=void 0===r||r,a=e.regressionType,o=void 0===a?0:a,l=(e.metricType,e.displayFilenames),u=void 0!==l&&l,s=e.filePrefix,c=void 0===s?"":s,f=e.path,h=void 0===f?"":f,p=(e.activeFile,arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){});t.innerHTML="";var m=600,y=600;n=n.filter((function(t){return t.file_path.startsWith("".concat(c).concat(h))}));var v={top:20,right:30,bottom:30,left:40},g=xl().domain(d(n.filter((function(t){return t.y>0})),(function(t){return t.x*t.y}))).range(["green","red"]),_=xl().domain(d(n.filter((function(t){return t.y>0})),(function(t){return t.x*t.y}))).range(["lightgreen","tomato"]),b=pl().domain(d(n,(function(t){return t.x}))).nice().range([v.left,m-v.right]),w=pl().domain(d(n,(function(t){return t.y}))).nice().range([y-v.bottom,v.top]),x=function(t){return t.attr("transform","translate(0,".concat(y-v.bottom,")")).call(U(b)).call((function(t){return t.select(".domain").remove()})).call((function(t){return t.append("text").attr("x",m/2+v.left).attr("y",30).attr("fill","#000").attr("font-size",12).attr("font-weight","bold").attr("text-anchor","end").text("Churn")}))},k=function(t){return t.attr("transform","translate(".concat(v.left,",0)")).call(D(w)).call((function(t){return t.select(".domain").remove()})).call((function(t){return t.append("text").attr("y",-30).attr("x",-y/2).attr("transform","rotate(-90)").attr("fill","#000").attr("font-size",12).attr("text-anchor","start").attr("font-weight","bold").text("Complexity")}))},E=Os().x((function(t){return b(t[0])})).y((function(t){return w(t[1])})),S=ae(t).append("svg").attr("viewBox",[0,0,m,y]),C=S.append("g");if(C.append("g").attr("class","axis").call(x).selectAll(".tick line").classed("baseline",(function(t){return 0===t})),C.append("g").attr("class","axis").call(k).selectAll(".tick line").classed("baseline",(function(t){return 0===t})),C.append("g").attr("stroke-width",1.5).attr("font-family","Red Hat Text").attr("font-size",12).selectAll("g").data(n).join("g").attr("transform",(function(t){return"translate(".concat(b(t.x),",").concat(w(t.y),")")})).call((function(t){return t.append("circle").attr("fill",(function(t){return _(t.x*t.y)})).attr("stroke",(function(t){return g(t.x*t.y)})).attr("style","cursor:pointer").attr("r",4)})).call((function(t){return u?t.append("text").attr("dy","0.35em").attr("x",7).attr("style","cursor:pointer").text((function(t){return t.file_path})):null})).on("click",(function(t){p(t)})),i){var M=function(t){switch(t){case Pf:return qc().x((function(t){return t.x})).y((function(t){return t.y})).domain([3,T(n,(function(t){return t.x}))]);case Nf:default:return n=n.filter((function(t){return t.y>0})),Yc().x((function(t){return t.x})).y((function(t){return t.y})).domain([3,T(n,(function(t){return t.x}))])}}(o),N=M(n);C.append("g").attr("font-family","Red Hat Text").attr("font-size",24).call((function(t){return t.append("path").attr("class","regression").datum(M(n)).attr("d",E)})).call((function(t){return t.append("text").attr("dy","60").attr("dx","33%").text("R^2 = ".concat(N.rSquared.toFixed(2)))})).call((function(t){return t.append("text").attr("dy","30").attr("dx","33%").text(jf(o,N))}))}};function Bf(){var t=Object(r.useState)(95),e=u()(t,2),n=e[0],a=e[1],o=Object(r.useState)([]),l=u()(o,2),s=l[0],c=l[1],f=function(){var t=ef()(Jc.a.mark((function t(e){var n;return Jc.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,fetch("/suggestions?t=".concat(e));case 2:return t.next=4,t.sent.json();case 4:n=t.sent,c(n);case 6:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}();return Object(r.useEffect)((function(){f(n)}),[]),i.a.createElement("div",{className:"card"},i.a.createElement("div",{className:"card-body"},i.a.createElement("div",{className:"d-flex justify-content-between"},i.a.createElement("div",null,i.a.createElement("h5",{className:"card-title"},"Refactoring Candidates"),i.a.createElement("h6",{className:"card-subtitle text-muted"},"Top 95 Percentile of Churn * Complexity")),i.a.createElement("div",{id:"percentile-input-group"},i.a.createElement("label",{htmlFor:"percentile",className:"text-muted"},i.a.createElement("small",null,"Percentile")),i.a.createElement("div",{className:"input-group align-items-start"},i.a.createElement("input",{type:"text",className:"form-control",placeholder:"","aria-label":"","aria-describedby":"percentile-button",id:"percentile",value:n,onChange:function(t){return a(t.target.value)}}),i.a.createElement("div",{className:"input-group-append"},i.a.createElement("button",{className:"btn btn-dark",type:"button",id:"percentile-button",onClick:function(t){t.preventDefault(),f(n)}},i.a.createElement(mf,{icon:vf})))))),i.a.createElement("table",{className:"table mt-4"},i.a.createElement("thead",null,i.a.createElement("tr",null,i.a.createElement("th",{scope:"col"},"File Path"),i.a.createElement("th",{scope:"col"},"Churn"),i.a.createElement("th",{scope:"col"},"Complexity"),i.a.createElement("th",{scope:"col"},"Churn * Complexity"))),i.a.createElement("tbody",{id:"suggestions-table"},s.map((function(t){return i.a.createElement("tr",{key:t.file_path},i.a.createElement("td",null,t.file_path),i.a.createElement("td",null,t.x),i.a.createElement("td",null,Math.round(t.y)),i.a.createElement("td",null,Math.round(t.x*t.y)))}))))))}var qf=n(42),Yf=n.n(qf);var Vf=function(){return(Vf=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)};var Xf,Qf=function(){var t=Object(r.useState)(0)[1];return Object(r.useCallback)((function(){return t((function(t){return t+1}))}),[])},Kf=function(t){void 0===t&&(t={});var e=Qf(),n=Object(r.useRef)(Vf({},t));return[Object(r.useCallback)((function(){return n.current}),[]),Object(r.useCallback)((function(t){t&&(Object.assign(n.current,t),e())}),[])]},Gf=function(t){Object(r.useEffect)(t,[])},Zf=function(t,e){var n=Object(r.useRef)(!0);Object(r.useEffect)((function(){if(!n.current)return t();n.current=!1}),e)},Jf=(n(43),function(t,e,n){return t=(t=t<=n?t:n)>=e?t:e}),th=!1,eh=[],nh=function(t){eh.push(t),th||1!==eh.length||function t(){th=!0;var e=eh.shift();if(e)return e(t);th=!1}()},rh=function(t,e){var n;Xf=window.requestAnimationFrame((function r(i){i-(n=n||i)>e?t():Xf=window.requestAnimationFrame(r)}))},ih=function(){},ah={isFinished:!1,progress:0,sideEffect:ih},oh=function(){Xf&&window.cancelAnimationFrame(Xf),th=!1,eh=[]},lh=function(t){var e=void 0===t?{}:t,n=e.animationDuration,i=void 0===n?200:n,a=e.incrementDuration,o=void 0===a?800:a,l=e.isAnimating,u=void 0!==l&&l,s=e.minimum,c=void 0===s?.08:s,f=Kf(ah),h=f[0],p=f[1],d=function(t){if(1===(t=Jf(t,c,1)))return oh(),nh((function(e){p({progress:t,sideEffect:function(){return rh(e,i)}})})),void nh((function(){p({isFinished:!0,sideEffect:oh})}));nh((function(e){p({progress:t,sideEffect:function(){return rh(e,i)}})}))},m=function(){var t,e;d((t=h().progress,e=0,t>=0&&t<.2?e=.1:t>=.2&&t<.5?e=.04:t>=.5&&t<.8?e=.02:t>=.8&&t<.99&&(e=.005),Jf(t+e,0,.994)))},y=function(){!function t(){m(),nh((function(e){rh((function(){t(),e()}),o)}))}()},v=Object(r.useRef)(ih);return Object(r.useEffect)((function(){v.current=m})),Gf((function(){return u&&y(),oh})),Zf((function(){h().sideEffect()}),[h().sideEffect]),Zf((function(){u?p({sideEffect:y}):d(1)}),[u]),{animationDuration:i,isFinished:h().isFinished,progress:h().progress}},uh=function(t){var e=t.children,n=Yf()(t,["children"]);return e(lh(n))};var sh=function(t){var e=t.progress,n=t.animationDuration;return r.createElement("div",{className:"progressbar",style:{marginLeft:"".concat(100*(-1+e),"%"),transition:"margin-left ".concat(n,"ms linear")}},r.createElement("div",{className:"shadow"}))};sh.propTypes={animationDuration:af.a.number.isRequired,progress:af.a.number.isRequired};var ch=sh,fh=function(t){var e=t.children,n=t.isFinished,i=t.animationDuration;return r.createElement("div",{style:{opacity:n?0:1,pointerEvents:"none",transition:"opacity ".concat(i,"ms linear")}},e)};fh.propTypes={animationDuration:af.a.number.isRequired,children:af.a.node.isRequired,isFinished:af.a.bool.isRequired};var hh=fh,ph=function(t){var e=t.isAnimating,n=t.key;return i.a.createElement(uh,{isAnimating:e,key:n},(function(t){var e=t.animationDuration,n=t.isFinished,r=t.progress;return i.a.createElement(hh,{isFinished:n,animationDuration:e},i.a.createElement(ch,{progress:r,animationDuration:e}))}))};function dh(){var t=Object(r.useState)("rb"),e=u()(t,2),n=e[0],a=e[1],o=Object(r.useState)(!0),l=u()(o,2),s=l[0],c=l[1];return i.a.createElement(i.a.Fragment,null,i.a.createElement(ph,{isAnimating:s,key:n}),i.a.createElement("nav",{className:"navbar navbar-expand-lg navbar-light bg-light fixed-top"},i.a.createElement("a",{className:"navbar-brand",href:"#"},i.a.createElement("img",{src:"images/attractor_logo.svg",alt:"",width:"36",className:"mr-3"}),"Attractor"),i.a.createElement("ul",{className:"navbar-nav mx-auto"},i.a.createElement("li",{className:"nav-item ".concat("rb"===n?"active":"")},i.a.createElement("a",{className:"nav-link",href:"#",onClick:function(){c(!0),a("rb")}},"Ruby")),i.a.createElement("li",{className:"nav-item ".concat("js"===n?"active":"")},i.a.createElement("a",{className:"nav-link",href:"#",onClick:function(){c(!0),a("js")}},"Javascript")))),i.a.createElement("div",{className:"container"},i.a.createElement(zf,{type:n,finishedLoadingCallback:function(){c(!1)}}),i.a.createElement("div",{className:"row mt-3"},i.a.createElement("div",{className:"col-12"},i.a.createElement(Bf,null)))))}document.addEventListener("DOMContentLoaded",(function(){document.getElementById("react-root")&&o.a.render(i.a.createElement(dh,null),document.getElementById("react-root"))})),window.scatterPlot=Wf}]);
@@ -3,4 +3,4 @@
3
3
  * Copyright 2011-2019 The Bootstrap Authors
4
4
  * Copyright 2011-2019 Twitter, Inc.
5
5
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
6
- */html{box-sizing:border-box;-ms-overflow-style:scrollbar}*,*::before,*::after{box-sizing:inherit}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width: 576px){.container{max-width:540px}}@media (min-width: 768px){.container{max-width:720px}}@media (min-width: 992px){.container{max-width:960px}}@media (min-width: 1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*="col-"]{padding-right:0;padding-left:0}.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col,.col-auto,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm,.col-sm-auto,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md,.col-md-auto,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg,.col-lg-auto,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.3333333333%}.offset-2{margin-left:16.6666666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.3333333333%}.offset-5{margin-left:41.6666666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.3333333333%}.offset-8{margin-left:66.6666666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.3333333333%}.offset-11{margin-left:91.6666666667%}@media (min-width: 576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-sm-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-sm-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-sm-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-sm-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.3333333333%}.offset-sm-2{margin-left:16.6666666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.3333333333%}.offset-sm-5{margin-left:41.6666666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.3333333333%}.offset-sm-8{margin-left:66.6666666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.3333333333%}.offset-sm-11{margin-left:91.6666666667%}}@media (min-width: 768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-md-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-md-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-md-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-md-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.3333333333%}.offset-md-2{margin-left:16.6666666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.3333333333%}.offset-md-5{margin-left:41.6666666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.3333333333%}.offset-md-8{margin-left:66.6666666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.3333333333%}.offset-md-11{margin-left:91.6666666667%}}@media (min-width: 992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-lg-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-lg-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-lg-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-lg-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.3333333333%}.offset-lg-2{margin-left:16.6666666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.3333333333%}.offset-lg-5{margin-left:41.6666666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.3333333333%}.offset-lg-8{margin-left:66.6666666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.3333333333%}.offset-lg-11{margin-left:91.6666666667%}}@media (min-width: 1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-xl-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-xl-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-xl-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-xl-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.3333333333%}.offset-xl-2{margin-left:16.6666666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.3333333333%}.offset-xl-5{margin-left:41.6666666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.3333333333%}.offset-xl-8{margin-left:66.6666666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.3333333333%}.offset-xl-11{margin-left:91.6666666667%}}.d-none{display:none !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}@media (min-width: 576px){.d-sm-none{display:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}}@media (min-width: 768px){.d-md-none{display:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}}@media (min-width: 992px){.d-lg-none{display:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}}@media (min-width: 1200px){.d-xl-none{display:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}}@media print{.d-print-none{display:none !important}.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-fill{flex:1 1 auto !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}@media (min-width: 576px){.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}}@media (min-width: 768px){.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}}@media (min-width: 992px){.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}}@media (min-width: 1200px){.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}}.m-0{margin:0 !important}.mt-0,.my-0{margin-top:0 !important}.mr-0,.mx-0{margin-right:0 !important}.mb-0,.my-0{margin-bottom:0 !important}.ml-0,.mx-0{margin-left:0 !important}.m-1{margin:.25rem !important}.mt-1,.my-1{margin-top:.25rem !important}.mr-1,.mx-1{margin-right:.25rem !important}.mb-1,.my-1{margin-bottom:.25rem !important}.ml-1,.mx-1{margin-left:.25rem !important}.m-2{margin:.5rem !important}.mt-2,.my-2{margin-top:.5rem !important}.mr-2,.mx-2{margin-right:.5rem !important}.mb-2,.my-2{margin-bottom:.5rem !important}.ml-2,.mx-2{margin-left:.5rem !important}.m-3{margin:1rem !important}.mt-3,.my-3{margin-top:1rem !important}.mr-3,.mx-3{margin-right:1rem !important}.mb-3,.my-3{margin-bottom:1rem !important}.ml-3,.mx-3{margin-left:1rem !important}.m-4{margin:1.5rem !important}.mt-4,.my-4{margin-top:1.5rem !important}.mr-4,.mx-4{margin-right:1.5rem !important}.mb-4,.my-4{margin-bottom:1.5rem !important}.ml-4,.mx-4{margin-left:1.5rem !important}.m-5{margin:3rem !important}.mt-5,.my-5{margin-top:3rem !important}.mr-5,.mx-5{margin-right:3rem !important}.mb-5,.my-5{margin-bottom:3rem !important}.ml-5,.mx-5{margin-left:3rem !important}.p-0{padding:0 !important}.pt-0,.py-0{padding-top:0 !important}.pr-0,.px-0{padding-right:0 !important}.pb-0,.py-0{padding-bottom:0 !important}.pl-0,.px-0{padding-left:0 !important}.p-1{padding:.25rem !important}.pt-1,.py-1{padding-top:.25rem !important}.pr-1,.px-1{padding-right:.25rem !important}.pb-1,.py-1{padding-bottom:.25rem !important}.pl-1,.px-1{padding-left:.25rem !important}.p-2{padding:.5rem !important}.pt-2,.py-2{padding-top:.5rem !important}.pr-2,.px-2{padding-right:.5rem !important}.pb-2,.py-2{padding-bottom:.5rem !important}.pl-2,.px-2{padding-left:.5rem !important}.p-3{padding:1rem !important}.pt-3,.py-3{padding-top:1rem !important}.pr-3,.px-3{padding-right:1rem !important}.pb-3,.py-3{padding-bottom:1rem !important}.pl-3,.px-3{padding-left:1rem !important}.p-4{padding:1.5rem !important}.pt-4,.py-4{padding-top:1.5rem !important}.pr-4,.px-4{padding-right:1.5rem !important}.pb-4,.py-4{padding-bottom:1.5rem !important}.pl-4,.px-4{padding-left:1.5rem !important}.p-5{padding:3rem !important}.pt-5,.py-5{padding-top:3rem !important}.pr-5,.px-5{padding-right:3rem !important}.pb-5,.py-5{padding-bottom:3rem !important}.pl-5,.px-5{padding-left:3rem !important}.m-n1{margin:-.25rem !important}.mt-n1,.my-n1{margin-top:-.25rem !important}.mr-n1,.mx-n1{margin-right:-.25rem !important}.mb-n1,.my-n1{margin-bottom:-.25rem !important}.ml-n1,.mx-n1{margin-left:-.25rem !important}.m-n2{margin:-.5rem !important}.mt-n2,.my-n2{margin-top:-.5rem !important}.mr-n2,.mx-n2{margin-right:-.5rem !important}.mb-n2,.my-n2{margin-bottom:-.5rem !important}.ml-n2,.mx-n2{margin-left:-.5rem !important}.m-n3{margin:-1rem !important}.mt-n3,.my-n3{margin-top:-1rem !important}.mr-n3,.mx-n3{margin-right:-1rem !important}.mb-n3,.my-n3{margin-bottom:-1rem !important}.ml-n3,.mx-n3{margin-left:-1rem !important}.m-n4{margin:-1.5rem !important}.mt-n4,.my-n4{margin-top:-1.5rem !important}.mr-n4,.mx-n4{margin-right:-1.5rem !important}.mb-n4,.my-n4{margin-bottom:-1.5rem !important}.ml-n4,.mx-n4{margin-left:-1.5rem !important}.m-n5{margin:-3rem !important}.mt-n5,.my-n5{margin-top:-3rem !important}.mr-n5,.mx-n5{margin-right:-3rem !important}.mb-n5,.my-n5{margin-bottom:-3rem !important}.ml-n5,.mx-n5{margin-left:-3rem !important}.m-auto{margin:auto !important}.mt-auto,.my-auto{margin-top:auto !important}.mr-auto,.mx-auto{margin-right:auto !important}.mb-auto,.my-auto{margin-bottom:auto !important}.ml-auto,.mx-auto{margin-left:auto !important}@media (min-width: 576px){.m-sm-0{margin:0 !important}.mt-sm-0,.my-sm-0{margin-top:0 !important}.mr-sm-0,.mx-sm-0{margin-right:0 !important}.mb-sm-0,.my-sm-0{margin-bottom:0 !important}.ml-sm-0,.mx-sm-0{margin-left:0 !important}.m-sm-1{margin:.25rem !important}.mt-sm-1,.my-sm-1{margin-top:.25rem !important}.mr-sm-1,.mx-sm-1{margin-right:.25rem !important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem !important}.ml-sm-1,.mx-sm-1{margin-left:.25rem !important}.m-sm-2{margin:.5rem !important}.mt-sm-2,.my-sm-2{margin-top:.5rem !important}.mr-sm-2,.mx-sm-2{margin-right:.5rem !important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem !important}.ml-sm-2,.mx-sm-2{margin-left:.5rem !important}.m-sm-3{margin:1rem !important}.mt-sm-3,.my-sm-3{margin-top:1rem !important}.mr-sm-3,.mx-sm-3{margin-right:1rem !important}.mb-sm-3,.my-sm-3{margin-bottom:1rem !important}.ml-sm-3,.mx-sm-3{margin-left:1rem !important}.m-sm-4{margin:1.5rem !important}.mt-sm-4,.my-sm-4{margin-top:1.5rem !important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem !important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem !important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem !important}.m-sm-5{margin:3rem !important}.mt-sm-5,.my-sm-5{margin-top:3rem !important}.mr-sm-5,.mx-sm-5{margin-right:3rem !important}.mb-sm-5,.my-sm-5{margin-bottom:3rem !important}.ml-sm-5,.mx-sm-5{margin-left:3rem !important}.p-sm-0{padding:0 !important}.pt-sm-0,.py-sm-0{padding-top:0 !important}.pr-sm-0,.px-sm-0{padding-right:0 !important}.pb-sm-0,.py-sm-0{padding-bottom:0 !important}.pl-sm-0,.px-sm-0{padding-left:0 !important}.p-sm-1{padding:.25rem !important}.pt-sm-1,.py-sm-1{padding-top:.25rem !important}.pr-sm-1,.px-sm-1{padding-right:.25rem !important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem !important}.pl-sm-1,.px-sm-1{padding-left:.25rem !important}.p-sm-2{padding:.5rem !important}.pt-sm-2,.py-sm-2{padding-top:.5rem !important}.pr-sm-2,.px-sm-2{padding-right:.5rem !important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem !important}.pl-sm-2,.px-sm-2{padding-left:.5rem !important}.p-sm-3{padding:1rem !important}.pt-sm-3,.py-sm-3{padding-top:1rem !important}.pr-sm-3,.px-sm-3{padding-right:1rem !important}.pb-sm-3,.py-sm-3{padding-bottom:1rem !important}.pl-sm-3,.px-sm-3{padding-left:1rem !important}.p-sm-4{padding:1.5rem !important}.pt-sm-4,.py-sm-4{padding-top:1.5rem !important}.pr-sm-4,.px-sm-4{padding-right:1.5rem !important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem !important}.pl-sm-4,.px-sm-4{padding-left:1.5rem !important}.p-sm-5{padding:3rem !important}.pt-sm-5,.py-sm-5{padding-top:3rem !important}.pr-sm-5,.px-sm-5{padding-right:3rem !important}.pb-sm-5,.py-sm-5{padding-bottom:3rem !important}.pl-sm-5,.px-sm-5{padding-left:3rem !important}.m-sm-n1{margin:-.25rem !important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem !important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem !important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem !important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem !important}.m-sm-n2{margin:-.5rem !important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem !important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem !important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem !important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem !important}.m-sm-n3{margin:-1rem !important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem !important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem !important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem !important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem !important}.m-sm-n4{margin:-1.5rem !important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem !important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem !important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem !important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem !important}.m-sm-n5{margin:-3rem !important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem !important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem !important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem !important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem !important}.m-sm-auto{margin:auto !important}.mt-sm-auto,.my-sm-auto{margin-top:auto !important}.mr-sm-auto,.mx-sm-auto{margin-right:auto !important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto !important}.ml-sm-auto,.mx-sm-auto{margin-left:auto !important}}@media (min-width: 768px){.m-md-0{margin:0 !important}.mt-md-0,.my-md-0{margin-top:0 !important}.mr-md-0,.mx-md-0{margin-right:0 !important}.mb-md-0,.my-md-0{margin-bottom:0 !important}.ml-md-0,.mx-md-0{margin-left:0 !important}.m-md-1{margin:.25rem !important}.mt-md-1,.my-md-1{margin-top:.25rem !important}.mr-md-1,.mx-md-1{margin-right:.25rem !important}.mb-md-1,.my-md-1{margin-bottom:.25rem !important}.ml-md-1,.mx-md-1{margin-left:.25rem !important}.m-md-2{margin:.5rem !important}.mt-md-2,.my-md-2{margin-top:.5rem !important}.mr-md-2,.mx-md-2{margin-right:.5rem !important}.mb-md-2,.my-md-2{margin-bottom:.5rem !important}.ml-md-2,.mx-md-2{margin-left:.5rem !important}.m-md-3{margin:1rem !important}.mt-md-3,.my-md-3{margin-top:1rem !important}.mr-md-3,.mx-md-3{margin-right:1rem !important}.mb-md-3,.my-md-3{margin-bottom:1rem !important}.ml-md-3,.mx-md-3{margin-left:1rem !important}.m-md-4{margin:1.5rem !important}.mt-md-4,.my-md-4{margin-top:1.5rem !important}.mr-md-4,.mx-md-4{margin-right:1.5rem !important}.mb-md-4,.my-md-4{margin-bottom:1.5rem !important}.ml-md-4,.mx-md-4{margin-left:1.5rem !important}.m-md-5{margin:3rem !important}.mt-md-5,.my-md-5{margin-top:3rem !important}.mr-md-5,.mx-md-5{margin-right:3rem !important}.mb-md-5,.my-md-5{margin-bottom:3rem !important}.ml-md-5,.mx-md-5{margin-left:3rem !important}.p-md-0{padding:0 !important}.pt-md-0,.py-md-0{padding-top:0 !important}.pr-md-0,.px-md-0{padding-right:0 !important}.pb-md-0,.py-md-0{padding-bottom:0 !important}.pl-md-0,.px-md-0{padding-left:0 !important}.p-md-1{padding:.25rem !important}.pt-md-1,.py-md-1{padding-top:.25rem !important}.pr-md-1,.px-md-1{padding-right:.25rem !important}.pb-md-1,.py-md-1{padding-bottom:.25rem !important}.pl-md-1,.px-md-1{padding-left:.25rem !important}.p-md-2{padding:.5rem !important}.pt-md-2,.py-md-2{padding-top:.5rem !important}.pr-md-2,.px-md-2{padding-right:.5rem !important}.pb-md-2,.py-md-2{padding-bottom:.5rem !important}.pl-md-2,.px-md-2{padding-left:.5rem !important}.p-md-3{padding:1rem !important}.pt-md-3,.py-md-3{padding-top:1rem !important}.pr-md-3,.px-md-3{padding-right:1rem !important}.pb-md-3,.py-md-3{padding-bottom:1rem !important}.pl-md-3,.px-md-3{padding-left:1rem !important}.p-md-4{padding:1.5rem !important}.pt-md-4,.py-md-4{padding-top:1.5rem !important}.pr-md-4,.px-md-4{padding-right:1.5rem !important}.pb-md-4,.py-md-4{padding-bottom:1.5rem !important}.pl-md-4,.px-md-4{padding-left:1.5rem !important}.p-md-5{padding:3rem !important}.pt-md-5,.py-md-5{padding-top:3rem !important}.pr-md-5,.px-md-5{padding-right:3rem !important}.pb-md-5,.py-md-5{padding-bottom:3rem !important}.pl-md-5,.px-md-5{padding-left:3rem !important}.m-md-n1{margin:-.25rem !important}.mt-md-n1,.my-md-n1{margin-top:-.25rem !important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem !important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem !important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem !important}.m-md-n2{margin:-.5rem !important}.mt-md-n2,.my-md-n2{margin-top:-.5rem !important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem !important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem !important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem !important}.m-md-n3{margin:-1rem !important}.mt-md-n3,.my-md-n3{margin-top:-1rem !important}.mr-md-n3,.mx-md-n3{margin-right:-1rem !important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem !important}.ml-md-n3,.mx-md-n3{margin-left:-1rem !important}.m-md-n4{margin:-1.5rem !important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem !important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem !important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem !important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem !important}.m-md-n5{margin:-3rem !important}.mt-md-n5,.my-md-n5{margin-top:-3rem !important}.mr-md-n5,.mx-md-n5{margin-right:-3rem !important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem !important}.ml-md-n5,.mx-md-n5{margin-left:-3rem !important}.m-md-auto{margin:auto !important}.mt-md-auto,.my-md-auto{margin-top:auto !important}.mr-md-auto,.mx-md-auto{margin-right:auto !important}.mb-md-auto,.my-md-auto{margin-bottom:auto !important}.ml-md-auto,.mx-md-auto{margin-left:auto !important}}@media (min-width: 992px){.m-lg-0{margin:0 !important}.mt-lg-0,.my-lg-0{margin-top:0 !important}.mr-lg-0,.mx-lg-0{margin-right:0 !important}.mb-lg-0,.my-lg-0{margin-bottom:0 !important}.ml-lg-0,.mx-lg-0{margin-left:0 !important}.m-lg-1{margin:.25rem !important}.mt-lg-1,.my-lg-1{margin-top:.25rem !important}.mr-lg-1,.mx-lg-1{margin-right:.25rem !important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem !important}.ml-lg-1,.mx-lg-1{margin-left:.25rem !important}.m-lg-2{margin:.5rem !important}.mt-lg-2,.my-lg-2{margin-top:.5rem !important}.mr-lg-2,.mx-lg-2{margin-right:.5rem !important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem !important}.ml-lg-2,.mx-lg-2{margin-left:.5rem !important}.m-lg-3{margin:1rem !important}.mt-lg-3,.my-lg-3{margin-top:1rem !important}.mr-lg-3,.mx-lg-3{margin-right:1rem !important}.mb-lg-3,.my-lg-3{margin-bottom:1rem !important}.ml-lg-3,.mx-lg-3{margin-left:1rem !important}.m-lg-4{margin:1.5rem !important}.mt-lg-4,.my-lg-4{margin-top:1.5rem !important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem !important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem !important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem !important}.m-lg-5{margin:3rem !important}.mt-lg-5,.my-lg-5{margin-top:3rem !important}.mr-lg-5,.mx-lg-5{margin-right:3rem !important}.mb-lg-5,.my-lg-5{margin-bottom:3rem !important}.ml-lg-5,.mx-lg-5{margin-left:3rem !important}.p-lg-0{padding:0 !important}.pt-lg-0,.py-lg-0{padding-top:0 !important}.pr-lg-0,.px-lg-0{padding-right:0 !important}.pb-lg-0,.py-lg-0{padding-bottom:0 !important}.pl-lg-0,.px-lg-0{padding-left:0 !important}.p-lg-1{padding:.25rem !important}.pt-lg-1,.py-lg-1{padding-top:.25rem !important}.pr-lg-1,.px-lg-1{padding-right:.25rem !important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem !important}.pl-lg-1,.px-lg-1{padding-left:.25rem !important}.p-lg-2{padding:.5rem !important}.pt-lg-2,.py-lg-2{padding-top:.5rem !important}.pr-lg-2,.px-lg-2{padding-right:.5rem !important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem !important}.pl-lg-2,.px-lg-2{padding-left:.5rem !important}.p-lg-3{padding:1rem !important}.pt-lg-3,.py-lg-3{padding-top:1rem !important}.pr-lg-3,.px-lg-3{padding-right:1rem !important}.pb-lg-3,.py-lg-3{padding-bottom:1rem !important}.pl-lg-3,.px-lg-3{padding-left:1rem !important}.p-lg-4{padding:1.5rem !important}.pt-lg-4,.py-lg-4{padding-top:1.5rem !important}.pr-lg-4,.px-lg-4{padding-right:1.5rem !important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem !important}.pl-lg-4,.px-lg-4{padding-left:1.5rem !important}.p-lg-5{padding:3rem !important}.pt-lg-5,.py-lg-5{padding-top:3rem !important}.pr-lg-5,.px-lg-5{padding-right:3rem !important}.pb-lg-5,.py-lg-5{padding-bottom:3rem !important}.pl-lg-5,.px-lg-5{padding-left:3rem !important}.m-lg-n1{margin:-.25rem !important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem !important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem !important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem !important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem !important}.m-lg-n2{margin:-.5rem !important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem !important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem !important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem !important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem !important}.m-lg-n3{margin:-1rem !important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem !important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem !important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem !important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem !important}.m-lg-n4{margin:-1.5rem !important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem !important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem !important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem !important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem !important}.m-lg-n5{margin:-3rem !important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem !important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem !important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem !important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem !important}.m-lg-auto{margin:auto !important}.mt-lg-auto,.my-lg-auto{margin-top:auto !important}.mr-lg-auto,.mx-lg-auto{margin-right:auto !important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto !important}.ml-lg-auto,.mx-lg-auto{margin-left:auto !important}}@media (min-width: 1200px){.m-xl-0{margin:0 !important}.mt-xl-0,.my-xl-0{margin-top:0 !important}.mr-xl-0,.mx-xl-0{margin-right:0 !important}.mb-xl-0,.my-xl-0{margin-bottom:0 !important}.ml-xl-0,.mx-xl-0{margin-left:0 !important}.m-xl-1{margin:.25rem !important}.mt-xl-1,.my-xl-1{margin-top:.25rem !important}.mr-xl-1,.mx-xl-1{margin-right:.25rem !important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem !important}.ml-xl-1,.mx-xl-1{margin-left:.25rem !important}.m-xl-2{margin:.5rem !important}.mt-xl-2,.my-xl-2{margin-top:.5rem !important}.mr-xl-2,.mx-xl-2{margin-right:.5rem !important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem !important}.ml-xl-2,.mx-xl-2{margin-left:.5rem !important}.m-xl-3{margin:1rem !important}.mt-xl-3,.my-xl-3{margin-top:1rem !important}.mr-xl-3,.mx-xl-3{margin-right:1rem !important}.mb-xl-3,.my-xl-3{margin-bottom:1rem !important}.ml-xl-3,.mx-xl-3{margin-left:1rem !important}.m-xl-4{margin:1.5rem !important}.mt-xl-4,.my-xl-4{margin-top:1.5rem !important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem !important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem !important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem !important}.m-xl-5{margin:3rem !important}.mt-xl-5,.my-xl-5{margin-top:3rem !important}.mr-xl-5,.mx-xl-5{margin-right:3rem !important}.mb-xl-5,.my-xl-5{margin-bottom:3rem !important}.ml-xl-5,.mx-xl-5{margin-left:3rem !important}.p-xl-0{padding:0 !important}.pt-xl-0,.py-xl-0{padding-top:0 !important}.pr-xl-0,.px-xl-0{padding-right:0 !important}.pb-xl-0,.py-xl-0{padding-bottom:0 !important}.pl-xl-0,.px-xl-0{padding-left:0 !important}.p-xl-1{padding:.25rem !important}.pt-xl-1,.py-xl-1{padding-top:.25rem !important}.pr-xl-1,.px-xl-1{padding-right:.25rem !important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem !important}.pl-xl-1,.px-xl-1{padding-left:.25rem !important}.p-xl-2{padding:.5rem !important}.pt-xl-2,.py-xl-2{padding-top:.5rem !important}.pr-xl-2,.px-xl-2{padding-right:.5rem !important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem !important}.pl-xl-2,.px-xl-2{padding-left:.5rem !important}.p-xl-3{padding:1rem !important}.pt-xl-3,.py-xl-3{padding-top:1rem !important}.pr-xl-3,.px-xl-3{padding-right:1rem !important}.pb-xl-3,.py-xl-3{padding-bottom:1rem !important}.pl-xl-3,.px-xl-3{padding-left:1rem !important}.p-xl-4{padding:1.5rem !important}.pt-xl-4,.py-xl-4{padding-top:1.5rem !important}.pr-xl-4,.px-xl-4{padding-right:1.5rem !important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem !important}.pl-xl-4,.px-xl-4{padding-left:1.5rem !important}.p-xl-5{padding:3rem !important}.pt-xl-5,.py-xl-5{padding-top:3rem !important}.pr-xl-5,.px-xl-5{padding-right:3rem !important}.pb-xl-5,.py-xl-5{padding-bottom:3rem !important}.pl-xl-5,.px-xl-5{padding-left:3rem !important}.m-xl-n1{margin:-.25rem !important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem !important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem !important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem !important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem !important}.m-xl-n2{margin:-.5rem !important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem !important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem !important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem !important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem !important}.m-xl-n3{margin:-1rem !important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem !important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem !important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem !important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem !important}.m-xl-n4{margin:-1.5rem !important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem !important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem !important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem !important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem !important}.m-xl-n5{margin:-3rem !important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem !important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem !important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem !important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem !important}.m-xl-auto{margin:auto !important}.mt-xl-auto,.my-xl-auto{margin-top:auto !important}.mr-xl-auto,.mx-xl-auto{margin-right:auto !important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto !important}.ml-xl-auto,.mx-xl-auto{margin-left:auto !important}}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:-webkit-sticky !important;position:sticky !important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position: -webkit-sticky) or (position: sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace !important}.text-justify{text-align:justify !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}@media (min-width: 576px){.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}.text-sm-center{text-align:center !important}}@media (min-width: 768px){.text-md-left{text-align:left !important}.text-md-right{text-align:right !important}.text-md-center{text-align:center !important}}@media (min-width: 992px){.text-lg-left{text-align:left !important}.text-lg-right{text-align:right !important}.text-lg-center{text-align:center !important}}@media (min-width: 1200px){.text-xl-left{text-align:left !important}.text-xl-right{text-align:right !important}.text-xl-center{text-align:center !important}}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.font-weight-light{font-weight:300 !important}.font-weight-lighter{font-weight:lighter !important}.font-weight-normal{font-weight:400 !important}.font-weight-bold{font-weight:700 !important}.font-weight-bolder{font-weight:bolder !important}.font-italic{font-style:italic !important}.text-white{color:#fff !important}.text-primary{color:#4E0754 !important}a.text-primary:hover,a.text-primary:focus{color:#0c010d !important}.text-secondary{color:#F9703E !important}a.text-secondary:hover,a.text-secondary:focus{color:#e34207 !important}.text-success{color:#28a745 !important}a.text-success:hover,a.text-success:focus{color:#19692c !important}.text-info{color:#17a2b8 !important}a.text-info:hover,a.text-info:focus{color:#0f6674 !important}.text-warning{color:#ffc107 !important}a.text-warning:hover,a.text-warning:focus{color:#ba8b00 !important}.text-danger{color:#dc3545 !important}a.text-danger:hover,a.text-danger:focus{color:#a71d2a !important}.text-light{color:#F0F4F8 !important}a.text-light:hover,a.text-light:focus{color:#bccee0 !important}.text-dark{color:#102A43 !important}a.text-dark:hover,a.text-dark:focus{color:#010305 !important}.text-body{color:#212529 !important}.text-muted{color:#627D98 !important}.text-black-50{color:rgba(0,0,0,0.5) !important}.text-white-50{color:rgba(255,255,255,0.5) !important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none !important}.text-break{word-break:break-word !important;overflow-wrap:break-word !important}.text-reset{color:inherit !important}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:4px;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn:focus,.btn.focus{outline:0;box-shadow:0}.btn.disabled,.btn:disabled{opacity:.65;box-shadow:none}.btn:not(:disabled):not(.disabled):active,.btn:not(:disabled):not(.disabled).active{box-shadow:0}.btn:not(:disabled):not(.disabled):active:focus,.btn:not(:disabled):not(.disabled).active:focus{box-shadow:0,0}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#4E0754;border-color:#4E0754;box-shadow:0}.btn-primary:hover{color:#fff;background-color:#2d0431;border-color:#220325}.btn-primary:focus,.btn-primary.focus{box-shadow:0,0 0 0 .2rem rgba(105,44,110,0.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#4E0754;border-color:#4E0754}.btn-primary:not(:disabled):not(.disabled):active,.btn-primary:not(:disabled):not(.disabled).active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#220325;border-color:#170219}.btn-primary:not(:disabled):not(.disabled):active:focus,.btn-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0,0 0 0 .2rem rgba(105,44,110,0.5)}.btn-secondary{color:#fff;background-color:#F9703E;border-color:#F9703E;box-shadow:0}.btn-secondary:hover{color:#fff;background-color:#f85519;border-color:#f74b0d}.btn-secondary:focus,.btn-secondary.focus{box-shadow:0,0 0 0 .2rem rgba(250,133,91,0.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#F9703E;border-color:#F9703E}.btn-secondary:not(:disabled):not(.disabled):active,.btn-secondary:not(:disabled):not(.disabled).active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#f74b0d;border-color:#f04607}.btn-secondary:not(:disabled):not(.disabled):active:focus,.btn-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0,0 0 0 .2rem rgba(250,133,91,0.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745;box-shadow:0}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success:focus,.btn-success.focus{box-shadow:0,0 0 0 .2rem rgba(72,180,97,0.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled):active,.btn-success:not(:disabled):not(.disabled).active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled):active:focus,.btn-success:not(:disabled):not(.disabled).active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0,0 0 0 .2rem rgba(72,180,97,0.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8;box-shadow:0}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info:focus,.btn-info.focus{box-shadow:0,0 0 0 .2rem rgba(58,176,195,0.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled):active,.btn-info:not(:disabled):not(.disabled).active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled):active:focus,.btn-info:not(:disabled):not(.disabled).active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0,0 0 0 .2rem rgba(58,176,195,0.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107;box-shadow:0}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning:focus,.btn-warning.focus{box-shadow:0,0 0 0 .2rem rgba(222,170,12,0.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled):active,.btn-warning:not(:disabled):not(.disabled).active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled):active:focus,.btn-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0,0 0 0 .2rem rgba(222,170,12,0.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545;box-shadow:0}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger:focus,.btn-danger.focus{box-shadow:0,0 0 0 .2rem rgba(225,83,97,0.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled):active,.btn-danger:not(:disabled):not(.disabled).active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled):active:focus,.btn-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0,0 0 0 .2rem rgba(225,83,97,0.5)}.btn-light{color:#212529;background-color:#F0F4F8;border-color:#F0F4F8;box-shadow:0}.btn-light:hover{color:#212529;background-color:#d6e1ec;border-color:#cddbe8}.btn-light:focus,.btn-light.focus{box-shadow:0,0 0 0 .2rem rgba(209,213,217,0.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#F0F4F8;border-color:#F0F4F8}.btn-light:not(:disabled):not(.disabled):active,.btn-light:not(:disabled):not(.disabled).active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#cddbe8;border-color:#c5d4e4}.btn-light:not(:disabled):not(.disabled):active:focus,.btn-light:not(:disabled):not(.disabled).active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0,0 0 0 .2rem rgba(209,213,217,0.5)}.btn-dark{color:#fff;background-color:#102A43;border-color:#102A43;box-shadow:0}.btn-dark:hover{color:#fff;background-color:#091724;border-color:#06101a}.btn-dark:focus,.btn-dark.focus{box-shadow:0,0 0 0 .2rem rgba(52,74,95,0.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#102A43;border-color:#102A43}.btn-dark:not(:disabled):not(.disabled):active,.btn-dark:not(:disabled):not(.disabled).active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#06101a;border-color:#040a10}.btn-dark:not(:disabled):not(.disabled):active:focus,.btn-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0,0 0 0 .2rem rgba(52,74,95,0.5)}.btn-outline-primary{color:#4E0754;border-color:#4E0754}.btn-outline-primary:hover{color:#fff;background-color:#4E0754;border-color:#4E0754}.btn-outline-primary:focus,.btn-outline-primary.focus{box-shadow:0 0 0 .2rem rgba(78,7,84,0.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#4E0754;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled):active,.btn-outline-primary:not(:disabled):not(.disabled).active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#4E0754;border-color:#4E0754}.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0,0 0 0 .2rem rgba(78,7,84,0.5)}.btn-outline-secondary{color:#F9703E;border-color:#F9703E}.btn-outline-secondary:hover{color:#fff;background-color:#F9703E;border-color:#F9703E}.btn-outline-secondary:focus,.btn-outline-secondary.focus{box-shadow:0 0 0 .2rem rgba(249,112,62,0.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#F9703E;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled):active,.btn-outline-secondary:not(:disabled):not(.disabled).active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#F9703E;border-color:#F9703E}.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0,0 0 0 .2rem rgba(249,112,62,0.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:focus,.btn-outline-success.focus{box-shadow:0 0 0 .2rem rgba(40,167,69,0.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled):active,.btn-outline-success:not(:disabled):not(.disabled).active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled):active:focus,.btn-outline-success:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0,0 0 0 .2rem rgba(40,167,69,0.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:focus,.btn-outline-info.focus{box-shadow:0 0 0 .2rem rgba(23,162,184,0.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled):active,.btn-outline-info:not(:disabled):not(.disabled).active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled):active:focus,.btn-outline-info:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0,0 0 0 .2rem rgba(23,162,184,0.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:focus,.btn-outline-warning.focus{box-shadow:0 0 0 .2rem rgba(255,193,7,0.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled):active,.btn-outline-warning:not(:disabled):not(.disabled).active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0,0 0 0 .2rem rgba(255,193,7,0.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:focus,.btn-outline-danger.focus{box-shadow:0 0 0 .2rem rgba(220,53,69,0.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled):active,.btn-outline-danger:not(:disabled):not(.disabled).active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0,0 0 0 .2rem rgba(220,53,69,0.5)}.btn-outline-light{color:#F0F4F8;border-color:#F0F4F8}.btn-outline-light:hover{color:#212529;background-color:#F0F4F8;border-color:#F0F4F8}.btn-outline-light:focus,.btn-outline-light.focus{box-shadow:0 0 0 .2rem rgba(240,244,248,0.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#F0F4F8;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled):active,.btn-outline-light:not(:disabled):not(.disabled).active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#F0F4F8;border-color:#F0F4F8}.btn-outline-light:not(:disabled):not(.disabled):active:focus,.btn-outline-light:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0,0 0 0 .2rem rgba(240,244,248,0.5)}.btn-outline-dark{color:#102A43;border-color:#102A43}.btn-outline-dark:hover{color:#fff;background-color:#102A43;border-color:#102A43}.btn-outline-dark:focus,.btn-outline-dark.focus{box-shadow:0 0 0 .2rem rgba(16,42,67,0.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#102A43;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled):active,.btn-outline-dark:not(:disabled):not(.disabled).active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#102A43;border-color:#102A43}.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0,0 0 0 .2rem rgba(16,42,67,0.5)}.btn-link{font-weight:400;color:#4E0754;text-decoration:none}.btn-link:hover{color:#0c010d;text-decoration:underline}.btn-link:focus,.btn-link.focus{text-decoration:underline;box-shadow:none}.btn-link:disabled,.btn-link.disabled{color:#6c757d;pointer-events:none}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.5rem;line-height:1.5;border-radius:.3rem}.btn-sm,.btn-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover{z-index:1}.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group.show .dropdown-toggle{box-shadow:0}.btn-group.show .dropdown-toggle.btn-link{box-shadow:none}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type="radio"],.btn-group-toggle>.btn input[type="checkbox"],.btn-group-toggle>.btn-group>.btn input[type="radio"],.btn-group-toggle>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,0.125);border-radius:4px}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.card-body{flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;color:#102A43;background-color:#F0F4F8;border-bottom:1px solid rgba(0,0,0,0.125)}.card-header:first-child{border-radius:calc(4px - 1px) calc(4px - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:#F0F4F8;border-top:1px solid rgba(0,0,0,0.125)}.card-footer:last-child{border-radius:0 0 calc(4px - 1px) calc(4px - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(4px - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(4px - 1px);border-top-right-radius:calc(4px - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(4px - 1px);border-bottom-left-radius:calc(4px - 1px)}.card-deck{display:flex;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width: 576px){.card-deck{flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:flex;flex:1 0 0%;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:flex;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width: 576px){.card-group{flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width: 576px){.card-columns{-moz-column-count:3;column-count:3;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion>.card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion>.card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.accordion>.card .card-header{margin-bottom:-1px}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):hover,.close:not(:disabled):not(.disabled):focus{opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled{pointer-events:none}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#102A43;background-color:#F0F4F8;background-clip:padding-box;border:1px solid #F0F4F8;border-radius:4px;box-shadow:none;transition:border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#102A43;background-color:#F0F4F8;border-color:#102A43;outline:0;box-shadow:none,0 0 0 .2rem rgba(78,7,84,0.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#F0F4F8;opacity:1}select.form-control:focus::-ms-value{color:#102A43;background-color:#F0F4F8}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.5rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.5rem;line-height:1.5;border-radius:.3rem}select.form-control[size],select.form-control[multiple]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*="col-"]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled ~ .form-check-label{color:#627D98}.form-check-label{margin-bottom:0}.form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,0.9);border-radius:4px}.was-validated .form-control:valid,.form-control.is-valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,0.25)}.was-validated .form-control:valid ~ .valid-feedback,.was-validated .form-control:valid ~ .valid-tooltip,.form-control.is-valid ~ .valid-feedback,.form-control.is-valid ~ .valid-tooltip{display:block}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .custom-select:valid,.custom-select.is-valid{border-color:#28a745;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23102A43' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #F0F4F8 no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .custom-select:valid:focus,.custom-select.is-valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,0.25)}.was-validated .custom-select:valid ~ .valid-feedback,.was-validated .custom-select:valid ~ .valid-tooltip,.custom-select.is-valid ~ .valid-feedback,.custom-select.is-valid ~ .valid-tooltip{display:block}.was-validated .form-control-file:valid ~ .valid-feedback,.was-validated .form-control-file:valid ~ .valid-tooltip,.form-control-file.is-valid ~ .valid-feedback,.form-control-file.is-valid ~ .valid-tooltip{display:block}.was-validated .form-check-input:valid ~ .form-check-label,.form-check-input.is-valid ~ .form-check-label{color:#28a745}.was-validated .form-check-input:valid ~ .valid-feedback,.was-validated .form-check-input:valid ~ .valid-tooltip,.form-check-input.is-valid ~ .valid-feedback,.form-check-input.is-valid ~ .valid-tooltip{display:block}.was-validated .custom-control-input:valid ~ .custom-control-label,.custom-control-input.is-valid ~ .custom-control-label{color:#28a745}.was-validated .custom-control-input:valid ~ .custom-control-label::before,.custom-control-input.is-valid ~ .custom-control-label::before{border-color:#28a745}.was-validated .custom-control-input:valid ~ .valid-feedback,.was-validated .custom-control-input:valid ~ .valid-tooltip,.custom-control-input.is-valid ~ .valid-feedback,.custom-control-input.is-valid ~ .valid-tooltip{display:block}.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before,.custom-control-input.is-valid:checked ~ .custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before,.custom-control-input.is-valid:focus ~ .custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,0.25)}.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before,.custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before{border-color:#28a745}.was-validated .custom-file-input:valid ~ .custom-file-label,.custom-file-input.is-valid ~ .custom-file-label{border-color:#28a745}.was-validated .custom-file-input:valid ~ .valid-feedback,.was-validated .custom-file-input:valid ~ .valid-tooltip,.custom-file-input.is-valid ~ .valid-feedback,.custom-file-input.is-valid ~ .valid-tooltip{display:block}.was-validated .custom-file-input:valid:focus ~ .custom-file-label,.custom-file-input.is-valid:focus ~ .custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,0.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,0.9);border-radius:4px}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,0.25)}.was-validated .form-control:invalid ~ .invalid-feedback,.was-validated .form-control:invalid ~ .invalid-tooltip,.form-control.is-invalid ~ .invalid-feedback,.form-control.is-invalid ~ .invalid-tooltip{display:block}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .custom-select:invalid,.custom-select.is-invalid{border-color:#dc3545;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23102A43' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E") #F0F4F8 no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .custom-select:invalid:focus,.custom-select.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,0.25)}.was-validated .custom-select:invalid ~ .invalid-feedback,.was-validated .custom-select:invalid ~ .invalid-tooltip,.custom-select.is-invalid ~ .invalid-feedback,.custom-select.is-invalid ~ .invalid-tooltip{display:block}.was-validated .form-control-file:invalid ~ .invalid-feedback,.was-validated .form-control-file:invalid ~ .invalid-tooltip,.form-control-file.is-invalid ~ .invalid-feedback,.form-control-file.is-invalid ~ .invalid-tooltip{display:block}.was-validated .form-check-input:invalid ~ .form-check-label,.form-check-input.is-invalid ~ .form-check-label{color:#dc3545}.was-validated .form-check-input:invalid ~ .invalid-feedback,.was-validated .form-check-input:invalid ~ .invalid-tooltip,.form-check-input.is-invalid ~ .invalid-feedback,.form-check-input.is-invalid ~ .invalid-tooltip{display:block}.was-validated .custom-control-input:invalid ~ .custom-control-label,.custom-control-input.is-invalid ~ .custom-control-label{color:#dc3545}.was-validated .custom-control-input:invalid ~ .custom-control-label::before,.custom-control-input.is-invalid ~ .custom-control-label::before{border-color:#dc3545}.was-validated .custom-control-input:invalid ~ .invalid-feedback,.was-validated .custom-control-input:invalid ~ .invalid-tooltip,.custom-control-input.is-invalid ~ .invalid-feedback,.custom-control-input.is-invalid ~ .invalid-tooltip{display:block}.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before,.custom-control-input.is-invalid:checked ~ .custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before,.custom-control-input.is-invalid:focus ~ .custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,0.25)}.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before,.custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before{border-color:#dc3545}.was-validated .custom-file-input:invalid ~ .custom-file-label,.custom-file-input.is-invalid ~ .custom-file-label{border-color:#dc3545}.was-validated .custom-file-input:invalid ~ .invalid-feedback,.was-validated .custom-file-input:invalid ~ .invalid-tooltip,.custom-file-input.is-invalid ~ .invalid-feedback,.custom-file-input.is-invalid ~ .invalid-tooltip{display:block}.was-validated .custom-file-input:invalid:focus ~ .custom-file-label,.custom-file-input.is-invalid:focus ~ .custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,0.25)}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media (min-width: 576px){.form-inline label{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .input-group,.form-inline .custom-select{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-control-plaintext,.input-group>.custom-select,.input-group>.custom-file{position:relative;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.form-control+.form-control,.input-group>.form-control+.custom-select,.input-group>.form-control+.custom-file,.input-group>.form-control-plaintext+.form-control,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.custom-file,.input-group>.custom-select+.form-control,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.custom-file,.input-group>.custom-file+.form-control,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.custom-file{margin-left:-1px}.input-group>.form-control:focus,.input-group>.custom-select:focus,.input-group>.custom-file .custom-file-input:focus ~ .custom-file-label{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.form-control:not(:last-child),.input-group>.custom-select:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.form-control:not(:first-child),.input-group>.custom-select:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:flex;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-prepend,.input-group-append{display:flex}.input-group-prepend .btn,.input-group-append .btn{position:relative;z-index:2}.input-group-prepend .btn:focus,.input-group-append .btn:focus{z-index:3}.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.input-group-text,.input-group-append .input-group-text+.btn{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#102A43;text-align:center;white-space:nowrap;background-color:#D9E2EC;border:1px solid #F0F4F8;border-radius:4px}.input-group-text input[type="radio"],.input-group-text input[type="checkbox"]{margin-top:0}.input-group-lg>.form-control:not(textarea),.input-group-lg>.custom-select{height:calc(1.5em + 1rem + 2px)}.input-group-lg>.form-control,.input-group-lg>.custom-select,.input-group-lg>.input-group-prepend>.input-group-text,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-append>.btn{padding:.5rem 1rem;font-size:1.5rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.form-control:not(textarea),.input-group-sm>.custom-select{height:calc(1.5em + .5rem + 2px)}.input-group-sm>.form-control,.input-group-sm>.custom-select,.input-group-sm>.input-group-prepend>.input-group-text,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-append>.btn{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text,.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:hover,.nav-link:focus{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #9FB3C8}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{border-color:#D9E2EC #D9E2EC #9FB3C8}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#495057;background-color:#fff;border-color:#9FB3C8 #9FB3C8 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:4px}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#4E0754}.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 1rem}.navbar>.container,.navbar>.container-fluid{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.125rem;padding-bottom:.125rem;margin-right:1rem;font-size:1.5rem;line-height:inherit;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.5rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:4px}.navbar-toggler:hover,.navbar-toggler:focus{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width: 575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width: 576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width: 767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width: 768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width: 991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width: 992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width: 1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width: 1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:#102A43}.navbar-light .navbar-brand:hover,.navbar-light .navbar-brand:focus{color:#102A43}.navbar-light .navbar-nav .nav-link{color:#102A43}.navbar-light .navbar-nav .nav-link:hover,.navbar-light .navbar-nav .nav-link:focus{color:#102A43}.navbar-light .navbar-nav .nav-link.disabled{color:#102A43}.navbar-light .navbar-nav .show>.nav-link,.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .nav-link.active{color:#102A43}.navbar-light .navbar-toggler{color:#102A43;border-color:rgba(0,0,0,0.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='%23102A43' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:#102A43}.navbar-light .navbar-text a{color:#102A43}.navbar-light .navbar-text a:hover,.navbar-light .navbar-text a:focus{color:#102A43}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-brand:focus{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,0.5)}.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link:focus{color:rgba(255,255,255,0.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,0.25)}.navbar-dark .navbar-nav .show>.nav-link,.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .nav-link.active{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,0.5);border-color:rgba(255,255,255,0.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255,255,255,0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,0.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:hover,.navbar-dark .navbar-text a:focus{color:#fff}*,*::before,*::after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:"Red Hat Text";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0 !important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[title],abbr[data-original-title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#4E0754;text-decoration:none;background-color:transparent}a:hover{color:#0c010d;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):hover,a:not([href]):not([tabindex]):focus{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}pre,code,kbd,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#627D98;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.2rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button:not(:disabled),[type="button"]:not(:disabled),[type="reset"]:not(:disabled),[type="submit"]:not(:disabled){cursor:pointer}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{padding:0;border-style:none}input[type="radio"],input[type="checkbox"]{box-sizing:border-box;padding:0}input[type="date"],input[type="time"],input[type="datetime-local"],input[type="month"]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{outline-offset:-2px;-webkit-appearance:none}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none !important}.table{width:100%;margin-bottom:1rem;color:#212529}.table th,.table td{padding:.75rem;vertical-align:top;border-top:1px solid #D9E2EC}.table thead th{vertical-align:bottom;border-bottom:2px solid #D9E2EC}.table tbody+tbody{border-top:2px solid #D9E2EC}.table-sm th,.table-sm td{padding:.3rem}.table-bordered{border:1px solid #D9E2EC}.table-bordered th,.table-bordered td{border:1px solid #D9E2EC}.table-bordered thead th,.table-bordered thead td{border-bottom-width:2px}.table-borderless th,.table-borderless td,.table-borderless thead th,.table-borderless tbody+tbody{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,0.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,0.075)}.table-primary,.table-primary>th,.table-primary>td{background-color:#cdbacf}.table-primary th,.table-primary td,.table-primary thead th,.table-primary tbody+tbody{border-color:#a37ea6}.table-hover .table-primary:hover{background-color:#c2abc5}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#c2abc5}.table-secondary,.table-secondary>th,.table-secondary>td{background-color:#fdd7c9}.table-secondary th,.table-secondary td,.table-secondary thead th,.table-secondary tbody+tbody{border-color:#fcb59b}.table-hover .table-secondary:hover{background-color:#fcc5b0}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#fcc5b0}.table-success,.table-success>th,.table-success>td{background-color:#c3e6cb}.table-success th,.table-success td,.table-success thead th,.table-success tbody+tbody{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>th,.table-info>td{background-color:#bee5eb}.table-info th,.table-info td,.table-info thead th,.table-info tbody+tbody{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>th,.table-warning>td{background-color:#ffeeba}.table-warning th,.table-warning td,.table-warning thead th,.table-warning tbody+tbody{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>th,.table-danger>td{background-color:#f5c6cb}.table-danger th,.table-danger td,.table-danger thead th,.table-danger tbody+tbody{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>th,.table-light>td{background-color:#fbfcfd}.table-light th,.table-light td,.table-light thead th,.table-light tbody+tbody{border-color:#f7f9fb}.table-hover .table-light:hover{background-color:#eaeff5}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#eaeff5}.table-dark,.table-dark>th,.table-dark>td{background-color:#bcc3ca}.table-dark th,.table-dark td,.table-dark thead th,.table-dark tbody+tbody{border-color:#83909d}.table-hover .table-dark:hover{background-color:#aeb6bf}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#aeb6bf}.table-active,.table-active>th,.table-active>td{background-color:rgba(0,0,0,0.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,0.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,0.075)}.table .thead-dark th{color:#fff;background-color:#102A43;border-color:#173d62}.table .thead-light th{color:#495057;background-color:#D9E2EC;border-color:#D9E2EC}.table-dark{color:#fff;background-color:#102A43}.table-dark th,.table-dark td,.table-dark thead th{border-color:#173d62}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,0.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,0.075)}@media (max-width: 575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width: 767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width: 991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width: 1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin-bottom:.5rem;font-family:"Red Hat Display";font-weight:500;line-height:1.2}h1,.h1{font-size:2.5rem}h2,.h2{font-size:2rem}h3,.h3{font-size:1.75rem}h4,.h4{font-size:1.5rem}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,0.1)}small,.small{font-size:80%;font-weight:400}mark,.mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}body{background:#D9E2EC}body>.container{margin-top:3rem !important;margin-bottom:5rem !important}.form-control:disabled,label.disabled{opacity:0.5}input[type=checkbox]{display:none}input[type=checkbox]+label{margin-top:0.2rem;vertical-align:top}input[type=checkbox]:disabled+label{opacity:0.5}input[type=checkbox]+label:after{content:'';height:1.5rem;width:1.5rem;border:0;left:0px;top:0px;background-color:#F0F4F8;border-color:#F0F4F8;display:block;margin-top:0.2rem}input[type=checkbox]:checked+label:after{content:'\00d7';font-size:2rem;line-height:1.5rem;color:#102A43;background-color:#F0F4F8;border-color:#F0F4F8;padding-left:0.2rem;display:block;margin-top:0.2rem}nav.navbar-light{position:fixed !important;background:white;box-shadow:0 2px 2px 0 rgba(188,204,220,0.8)}footer{background:#102A43;color:#F0F4F8}footer a{color:#F0F4F8}.card{box-shadow:0 2px 4px 0 rgba(16,42,67,0.5)}.card-body h5.card-title,.card-header h5.card-title{font-size:1.2rem;font-weight:bold;width:80%}.card-body button.close,.card-header button.close{position:absolute;right:1rem;top:1rem}#graph{width:600px;height:600px}#react-graph #canvas-wrapper{width:600px;height:600px}#react-graph #canvas-wrapper #canvas{width:600px;height:600px}.regression{stroke:#102A43;fill:none}#percentile-input-group{width:150px}#percentile-button{height:38px}.method-table{font-size:0.8rem;table-layout:fixed}
6
+ */html{box-sizing:border-box;-ms-overflow-style:scrollbar}*,*::before,*::after{box-sizing:inherit}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width: 576px){.container{max-width:540px}}@media (min-width: 768px){.container{max-width:720px}}@media (min-width: 992px){.container{max-width:960px}}@media (min-width: 1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-webkit-box;display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*="col-"]{padding-right:0;padding-left:0}.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col,.col-auto,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm,.col-sm-auto,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md,.col-md-auto,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg,.col-lg-auto,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;-webkit-box-flex:1;flex-grow:1;max-width:100%}.col-auto{-webkit-box-flex:0;flex:0 0 auto;width:auto;max-width:100%}.col-1{-webkit-box-flex:0;flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-2{-webkit-box-flex:0;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-3{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}.col-4{-webkit-box-flex:0;flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-5{-webkit-box-flex:0;flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-6{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}.col-7{-webkit-box-flex:0;flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-8{-webkit-box-flex:0;flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-9{-webkit-box-flex:0;flex:0 0 75%;max-width:75%}.col-10{-webkit-box-flex:0;flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-11{-webkit-box-flex:0;flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-12{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}.order-first{-webkit-box-ordinal-group:0;order:-1}.order-last{-webkit-box-ordinal-group:14;order:13}.order-0{-webkit-box-ordinal-group:1;order:0}.order-1{-webkit-box-ordinal-group:2;order:1}.order-2{-webkit-box-ordinal-group:3;order:2}.order-3{-webkit-box-ordinal-group:4;order:3}.order-4{-webkit-box-ordinal-group:5;order:4}.order-5{-webkit-box-ordinal-group:6;order:5}.order-6{-webkit-box-ordinal-group:7;order:6}.order-7{-webkit-box-ordinal-group:8;order:7}.order-8{-webkit-box-ordinal-group:9;order:8}.order-9{-webkit-box-ordinal-group:10;order:9}.order-10{-webkit-box-ordinal-group:11;order:10}.order-11{-webkit-box-ordinal-group:12;order:11}.order-12{-webkit-box-ordinal-group:13;order:12}.offset-1{margin-left:8.3333333333%}.offset-2{margin-left:16.6666666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.3333333333%}.offset-5{margin-left:41.6666666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.3333333333%}.offset-8{margin-left:66.6666666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.3333333333%}.offset-11{margin-left:91.6666666667%}@media (min-width: 576px){.col-sm{flex-basis:0;-webkit-box-flex:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-webkit-box-flex:0;flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-sm-2{-webkit-box-flex:0;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-3{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-sm-5{-webkit-box-flex:0;flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-sm-6{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-sm-8{-webkit-box-flex:0;flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-sm-9{-webkit-box-flex:0;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-sm-11{-webkit-box-flex:0;flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-sm-12{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}.order-sm-first{-webkit-box-ordinal-group:0;order:-1}.order-sm-last{-webkit-box-ordinal-group:14;order:13}.order-sm-0{-webkit-box-ordinal-group:1;order:0}.order-sm-1{-webkit-box-ordinal-group:2;order:1}.order-sm-2{-webkit-box-ordinal-group:3;order:2}.order-sm-3{-webkit-box-ordinal-group:4;order:3}.order-sm-4{-webkit-box-ordinal-group:5;order:4}.order-sm-5{-webkit-box-ordinal-group:6;order:5}.order-sm-6{-webkit-box-ordinal-group:7;order:6}.order-sm-7{-webkit-box-ordinal-group:8;order:7}.order-sm-8{-webkit-box-ordinal-group:9;order:8}.order-sm-9{-webkit-box-ordinal-group:10;order:9}.order-sm-10{-webkit-box-ordinal-group:11;order:10}.order-sm-11{-webkit-box-ordinal-group:12;order:11}.order-sm-12{-webkit-box-ordinal-group:13;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.3333333333%}.offset-sm-2{margin-left:16.6666666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.3333333333%}.offset-sm-5{margin-left:41.6666666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.3333333333%}.offset-sm-8{margin-left:66.6666666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.3333333333%}.offset-sm-11{margin-left:91.6666666667%}}@media (min-width: 768px){.col-md{flex-basis:0;-webkit-box-flex:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-webkit-box-flex:0;flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-md-2{-webkit-box-flex:0;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-3{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-md-5{-webkit-box-flex:0;flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-md-6{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-md-8{-webkit-box-flex:0;flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-md-9{-webkit-box-flex:0;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-md-11{-webkit-box-flex:0;flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-md-12{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}.order-md-first{-webkit-box-ordinal-group:0;order:-1}.order-md-last{-webkit-box-ordinal-group:14;order:13}.order-md-0{-webkit-box-ordinal-group:1;order:0}.order-md-1{-webkit-box-ordinal-group:2;order:1}.order-md-2{-webkit-box-ordinal-group:3;order:2}.order-md-3{-webkit-box-ordinal-group:4;order:3}.order-md-4{-webkit-box-ordinal-group:5;order:4}.order-md-5{-webkit-box-ordinal-group:6;order:5}.order-md-6{-webkit-box-ordinal-group:7;order:6}.order-md-7{-webkit-box-ordinal-group:8;order:7}.order-md-8{-webkit-box-ordinal-group:9;order:8}.order-md-9{-webkit-box-ordinal-group:10;order:9}.order-md-10{-webkit-box-ordinal-group:11;order:10}.order-md-11{-webkit-box-ordinal-group:12;order:11}.order-md-12{-webkit-box-ordinal-group:13;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.3333333333%}.offset-md-2{margin-left:16.6666666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.3333333333%}.offset-md-5{margin-left:41.6666666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.3333333333%}.offset-md-8{margin-left:66.6666666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.3333333333%}.offset-md-11{margin-left:91.6666666667%}}@media (min-width: 992px){.col-lg{flex-basis:0;-webkit-box-flex:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-webkit-box-flex:0;flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-lg-2{-webkit-box-flex:0;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-3{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-lg-5{-webkit-box-flex:0;flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-lg-6{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-lg-8{-webkit-box-flex:0;flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-lg-9{-webkit-box-flex:0;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-lg-11{-webkit-box-flex:0;flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-lg-12{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}.order-lg-first{-webkit-box-ordinal-group:0;order:-1}.order-lg-last{-webkit-box-ordinal-group:14;order:13}.order-lg-0{-webkit-box-ordinal-group:1;order:0}.order-lg-1{-webkit-box-ordinal-group:2;order:1}.order-lg-2{-webkit-box-ordinal-group:3;order:2}.order-lg-3{-webkit-box-ordinal-group:4;order:3}.order-lg-4{-webkit-box-ordinal-group:5;order:4}.order-lg-5{-webkit-box-ordinal-group:6;order:5}.order-lg-6{-webkit-box-ordinal-group:7;order:6}.order-lg-7{-webkit-box-ordinal-group:8;order:7}.order-lg-8{-webkit-box-ordinal-group:9;order:8}.order-lg-9{-webkit-box-ordinal-group:10;order:9}.order-lg-10{-webkit-box-ordinal-group:11;order:10}.order-lg-11{-webkit-box-ordinal-group:12;order:11}.order-lg-12{-webkit-box-ordinal-group:13;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.3333333333%}.offset-lg-2{margin-left:16.6666666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.3333333333%}.offset-lg-5{margin-left:41.6666666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.3333333333%}.offset-lg-8{margin-left:66.6666666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.3333333333%}.offset-lg-11{margin-left:91.6666666667%}}@media (min-width: 1200px){.col-xl{flex-basis:0;-webkit-box-flex:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-webkit-box-flex:0;flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-xl-2{-webkit-box-flex:0;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-3{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-xl-5{-webkit-box-flex:0;flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-xl-6{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-xl-8{-webkit-box-flex:0;flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-xl-9{-webkit-box-flex:0;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-xl-11{-webkit-box-flex:0;flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-xl-12{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}.order-xl-first{-webkit-box-ordinal-group:0;order:-1}.order-xl-last{-webkit-box-ordinal-group:14;order:13}.order-xl-0{-webkit-box-ordinal-group:1;order:0}.order-xl-1{-webkit-box-ordinal-group:2;order:1}.order-xl-2{-webkit-box-ordinal-group:3;order:2}.order-xl-3{-webkit-box-ordinal-group:4;order:3}.order-xl-4{-webkit-box-ordinal-group:5;order:4}.order-xl-5{-webkit-box-ordinal-group:6;order:5}.order-xl-6{-webkit-box-ordinal-group:7;order:6}.order-xl-7{-webkit-box-ordinal-group:8;order:7}.order-xl-8{-webkit-box-ordinal-group:9;order:8}.order-xl-9{-webkit-box-ordinal-group:10;order:9}.order-xl-10{-webkit-box-ordinal-group:11;order:10}.order-xl-11{-webkit-box-ordinal-group:12;order:11}.order-xl-12{-webkit-box-ordinal-group:13;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.3333333333%}.offset-xl-2{margin-left:16.6666666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.3333333333%}.offset-xl-5{margin-left:41.6666666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.3333333333%}.offset-xl-8{margin-left:66.6666666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.3333333333%}.offset-xl-11{margin-left:91.6666666667%}}.d-none{display:none !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:-webkit-box !important;display:flex !important}.d-inline-flex{display:-webkit-inline-box !important;display:inline-flex !important}@media (min-width: 576px){.d-sm-none{display:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:-webkit-box !important;display:flex !important}.d-sm-inline-flex{display:-webkit-inline-box !important;display:inline-flex !important}}@media (min-width: 768px){.d-md-none{display:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:-webkit-box !important;display:flex !important}.d-md-inline-flex{display:-webkit-inline-box !important;display:inline-flex !important}}@media (min-width: 992px){.d-lg-none{display:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:-webkit-box !important;display:flex !important}.d-lg-inline-flex{display:-webkit-inline-box !important;display:inline-flex !important}}@media (min-width: 1200px){.d-xl-none{display:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:-webkit-box !important;display:flex !important}.d-xl-inline-flex{display:-webkit-inline-box !important;display:inline-flex !important}}@media print{.d-print-none{display:none !important}.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:-webkit-box !important;display:flex !important}.d-print-inline-flex{display:-webkit-inline-box !important;display:inline-flex !important}}.flex-row{-webkit-box-orient:horizontal !important;-webkit-box-direction:normal !important;flex-direction:row !important}.flex-column{-webkit-box-orient:vertical !important;-webkit-box-direction:normal !important;flex-direction:column !important}.flex-row-reverse{-webkit-box-orient:horizontal !important;-webkit-box-direction:reverse !important;flex-direction:row-reverse !important}.flex-column-reverse{-webkit-box-orient:vertical !important;-webkit-box-direction:reverse !important;flex-direction:column-reverse !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-fill{-webkit-box-flex:1 !important;flex:1 1 auto !important}.flex-grow-0{-webkit-box-flex:0 !important;flex-grow:0 !important}.flex-grow-1{-webkit-box-flex:1 !important;flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.justify-content-start{-webkit-box-pack:start !important;justify-content:flex-start !important}.justify-content-end{-webkit-box-pack:end !important;justify-content:flex-end !important}.justify-content-center{-webkit-box-pack:center !important;justify-content:center !important}.justify-content-between{-webkit-box-pack:justify !important;justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.align-items-start{-webkit-box-align:start !important;align-items:flex-start !important}.align-items-end{-webkit-box-align:end !important;align-items:flex-end !important}.align-items-center{-webkit-box-align:center !important;align-items:center !important}.align-items-baseline{-webkit-box-align:baseline !important;align-items:baseline !important}.align-items-stretch{-webkit-box-align:stretch !important;align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}@media (min-width: 576px){.flex-sm-row{-webkit-box-orient:horizontal !important;-webkit-box-direction:normal !important;flex-direction:row !important}.flex-sm-column{-webkit-box-orient:vertical !important;-webkit-box-direction:normal !important;flex-direction:column !important}.flex-sm-row-reverse{-webkit-box-orient:horizontal !important;-webkit-box-direction:reverse !important;flex-direction:row-reverse !important}.flex-sm-column-reverse{-webkit-box-orient:vertical !important;-webkit-box-direction:reverse !important;flex-direction:column-reverse !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-sm-fill{-webkit-box-flex:1 !important;flex:1 1 auto !important}.flex-sm-grow-0{-webkit-box-flex:0 !important;flex-grow:0 !important}.flex-sm-grow-1{-webkit-box-flex:1 !important;flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.justify-content-sm-start{-webkit-box-pack:start !important;justify-content:flex-start !important}.justify-content-sm-end{-webkit-box-pack:end !important;justify-content:flex-end !important}.justify-content-sm-center{-webkit-box-pack:center !important;justify-content:center !important}.justify-content-sm-between{-webkit-box-pack:justify !important;justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.align-items-sm-start{-webkit-box-align:start !important;align-items:flex-start !important}.align-items-sm-end{-webkit-box-align:end !important;align-items:flex-end !important}.align-items-sm-center{-webkit-box-align:center !important;align-items:center !important}.align-items-sm-baseline{-webkit-box-align:baseline !important;align-items:baseline !important}.align-items-sm-stretch{-webkit-box-align:stretch !important;align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}}@media (min-width: 768px){.flex-md-row{-webkit-box-orient:horizontal !important;-webkit-box-direction:normal !important;flex-direction:row !important}.flex-md-column{-webkit-box-orient:vertical !important;-webkit-box-direction:normal !important;flex-direction:column !important}.flex-md-row-reverse{-webkit-box-orient:horizontal !important;-webkit-box-direction:reverse !important;flex-direction:row-reverse !important}.flex-md-column-reverse{-webkit-box-orient:vertical !important;-webkit-box-direction:reverse !important;flex-direction:column-reverse !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-md-fill{-webkit-box-flex:1 !important;flex:1 1 auto !important}.flex-md-grow-0{-webkit-box-flex:0 !important;flex-grow:0 !important}.flex-md-grow-1{-webkit-box-flex:1 !important;flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.justify-content-md-start{-webkit-box-pack:start !important;justify-content:flex-start !important}.justify-content-md-end{-webkit-box-pack:end !important;justify-content:flex-end !important}.justify-content-md-center{-webkit-box-pack:center !important;justify-content:center !important}.justify-content-md-between{-webkit-box-pack:justify !important;justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.align-items-md-start{-webkit-box-align:start !important;align-items:flex-start !important}.align-items-md-end{-webkit-box-align:end !important;align-items:flex-end !important}.align-items-md-center{-webkit-box-align:center !important;align-items:center !important}.align-items-md-baseline{-webkit-box-align:baseline !important;align-items:baseline !important}.align-items-md-stretch{-webkit-box-align:stretch !important;align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}}@media (min-width: 992px){.flex-lg-row{-webkit-box-orient:horizontal !important;-webkit-box-direction:normal !important;flex-direction:row !important}.flex-lg-column{-webkit-box-orient:vertical !important;-webkit-box-direction:normal !important;flex-direction:column !important}.flex-lg-row-reverse{-webkit-box-orient:horizontal !important;-webkit-box-direction:reverse !important;flex-direction:row-reverse !important}.flex-lg-column-reverse{-webkit-box-orient:vertical !important;-webkit-box-direction:reverse !important;flex-direction:column-reverse !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-lg-fill{-webkit-box-flex:1 !important;flex:1 1 auto !important}.flex-lg-grow-0{-webkit-box-flex:0 !important;flex-grow:0 !important}.flex-lg-grow-1{-webkit-box-flex:1 !important;flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.justify-content-lg-start{-webkit-box-pack:start !important;justify-content:flex-start !important}.justify-content-lg-end{-webkit-box-pack:end !important;justify-content:flex-end !important}.justify-content-lg-center{-webkit-box-pack:center !important;justify-content:center !important}.justify-content-lg-between{-webkit-box-pack:justify !important;justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.align-items-lg-start{-webkit-box-align:start !important;align-items:flex-start !important}.align-items-lg-end{-webkit-box-align:end !important;align-items:flex-end !important}.align-items-lg-center{-webkit-box-align:center !important;align-items:center !important}.align-items-lg-baseline{-webkit-box-align:baseline !important;align-items:baseline !important}.align-items-lg-stretch{-webkit-box-align:stretch !important;align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}}@media (min-width: 1200px){.flex-xl-row{-webkit-box-orient:horizontal !important;-webkit-box-direction:normal !important;flex-direction:row !important}.flex-xl-column{-webkit-box-orient:vertical !important;-webkit-box-direction:normal !important;flex-direction:column !important}.flex-xl-row-reverse{-webkit-box-orient:horizontal !important;-webkit-box-direction:reverse !important;flex-direction:row-reverse !important}.flex-xl-column-reverse{-webkit-box-orient:vertical !important;-webkit-box-direction:reverse !important;flex-direction:column-reverse !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-xl-fill{-webkit-box-flex:1 !important;flex:1 1 auto !important}.flex-xl-grow-0{-webkit-box-flex:0 !important;flex-grow:0 !important}.flex-xl-grow-1{-webkit-box-flex:1 !important;flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.justify-content-xl-start{-webkit-box-pack:start !important;justify-content:flex-start !important}.justify-content-xl-end{-webkit-box-pack:end !important;justify-content:flex-end !important}.justify-content-xl-center{-webkit-box-pack:center !important;justify-content:center !important}.justify-content-xl-between{-webkit-box-pack:justify !important;justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.align-items-xl-start{-webkit-box-align:start !important;align-items:flex-start !important}.align-items-xl-end{-webkit-box-align:end !important;align-items:flex-end !important}.align-items-xl-center{-webkit-box-align:center !important;align-items:center !important}.align-items-xl-baseline{-webkit-box-align:baseline !important;align-items:baseline !important}.align-items-xl-stretch{-webkit-box-align:stretch !important;align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}}.m-0{margin:0 !important}.mt-0,.my-0{margin-top:0 !important}.mr-0,.mx-0{margin-right:0 !important}.mb-0,.my-0{margin-bottom:0 !important}.ml-0,.mx-0{margin-left:0 !important}.m-1{margin:.25rem !important}.mt-1,.my-1{margin-top:.25rem !important}.mr-1,.mx-1{margin-right:.25rem !important}.mb-1,.my-1{margin-bottom:.25rem !important}.ml-1,.mx-1{margin-left:.25rem !important}.m-2{margin:.5rem !important}.mt-2,.my-2{margin-top:.5rem !important}.mr-2,.mx-2{margin-right:.5rem !important}.mb-2,.my-2{margin-bottom:.5rem !important}.ml-2,.mx-2{margin-left:.5rem !important}.m-3{margin:1rem !important}.mt-3,.my-3{margin-top:1rem !important}.mr-3,.mx-3{margin-right:1rem !important}.mb-3,.my-3{margin-bottom:1rem !important}.ml-3,.mx-3{margin-left:1rem !important}.m-4{margin:1.5rem !important}.mt-4,.my-4{margin-top:1.5rem !important}.mr-4,.mx-4{margin-right:1.5rem !important}.mb-4,.my-4{margin-bottom:1.5rem !important}.ml-4,.mx-4{margin-left:1.5rem !important}.m-5{margin:3rem !important}.mt-5,.my-5{margin-top:3rem !important}.mr-5,.mx-5{margin-right:3rem !important}.mb-5,.my-5{margin-bottom:3rem !important}.ml-5,.mx-5{margin-left:3rem !important}.p-0{padding:0 !important}.pt-0,.py-0{padding-top:0 !important}.pr-0,.px-0{padding-right:0 !important}.pb-0,.py-0{padding-bottom:0 !important}.pl-0,.px-0{padding-left:0 !important}.p-1{padding:.25rem !important}.pt-1,.py-1{padding-top:.25rem !important}.pr-1,.px-1{padding-right:.25rem !important}.pb-1,.py-1{padding-bottom:.25rem !important}.pl-1,.px-1{padding-left:.25rem !important}.p-2{padding:.5rem !important}.pt-2,.py-2{padding-top:.5rem !important}.pr-2,.px-2{padding-right:.5rem !important}.pb-2,.py-2{padding-bottom:.5rem !important}.pl-2,.px-2{padding-left:.5rem !important}.p-3{padding:1rem !important}.pt-3,.py-3{padding-top:1rem !important}.pr-3,.px-3{padding-right:1rem !important}.pb-3,.py-3{padding-bottom:1rem !important}.pl-3,.px-3{padding-left:1rem !important}.p-4{padding:1.5rem !important}.pt-4,.py-4{padding-top:1.5rem !important}.pr-4,.px-4{padding-right:1.5rem !important}.pb-4,.py-4{padding-bottom:1.5rem !important}.pl-4,.px-4{padding-left:1.5rem !important}.p-5{padding:3rem !important}.pt-5,.py-5{padding-top:3rem !important}.pr-5,.px-5{padding-right:3rem !important}.pb-5,.py-5{padding-bottom:3rem !important}.pl-5,.px-5{padding-left:3rem !important}.m-n1{margin:-.25rem !important}.mt-n1,.my-n1{margin-top:-.25rem !important}.mr-n1,.mx-n1{margin-right:-.25rem !important}.mb-n1,.my-n1{margin-bottom:-.25rem !important}.ml-n1,.mx-n1{margin-left:-.25rem !important}.m-n2{margin:-.5rem !important}.mt-n2,.my-n2{margin-top:-.5rem !important}.mr-n2,.mx-n2{margin-right:-.5rem !important}.mb-n2,.my-n2{margin-bottom:-.5rem !important}.ml-n2,.mx-n2{margin-left:-.5rem !important}.m-n3{margin:-1rem !important}.mt-n3,.my-n3{margin-top:-1rem !important}.mr-n3,.mx-n3{margin-right:-1rem !important}.mb-n3,.my-n3{margin-bottom:-1rem !important}.ml-n3,.mx-n3{margin-left:-1rem !important}.m-n4{margin:-1.5rem !important}.mt-n4,.my-n4{margin-top:-1.5rem !important}.mr-n4,.mx-n4{margin-right:-1.5rem !important}.mb-n4,.my-n4{margin-bottom:-1.5rem !important}.ml-n4,.mx-n4{margin-left:-1.5rem !important}.m-n5{margin:-3rem !important}.mt-n5,.my-n5{margin-top:-3rem !important}.mr-n5,.mx-n5{margin-right:-3rem !important}.mb-n5,.my-n5{margin-bottom:-3rem !important}.ml-n5,.mx-n5{margin-left:-3rem !important}.m-auto{margin:auto !important}.mt-auto,.my-auto{margin-top:auto !important}.mr-auto,.mx-auto{margin-right:auto !important}.mb-auto,.my-auto{margin-bottom:auto !important}.ml-auto,.mx-auto{margin-left:auto !important}@media (min-width: 576px){.m-sm-0{margin:0 !important}.mt-sm-0,.my-sm-0{margin-top:0 !important}.mr-sm-0,.mx-sm-0{margin-right:0 !important}.mb-sm-0,.my-sm-0{margin-bottom:0 !important}.ml-sm-0,.mx-sm-0{margin-left:0 !important}.m-sm-1{margin:.25rem !important}.mt-sm-1,.my-sm-1{margin-top:.25rem !important}.mr-sm-1,.mx-sm-1{margin-right:.25rem !important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem !important}.ml-sm-1,.mx-sm-1{margin-left:.25rem !important}.m-sm-2{margin:.5rem !important}.mt-sm-2,.my-sm-2{margin-top:.5rem !important}.mr-sm-2,.mx-sm-2{margin-right:.5rem !important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem !important}.ml-sm-2,.mx-sm-2{margin-left:.5rem !important}.m-sm-3{margin:1rem !important}.mt-sm-3,.my-sm-3{margin-top:1rem !important}.mr-sm-3,.mx-sm-3{margin-right:1rem !important}.mb-sm-3,.my-sm-3{margin-bottom:1rem !important}.ml-sm-3,.mx-sm-3{margin-left:1rem !important}.m-sm-4{margin:1.5rem !important}.mt-sm-4,.my-sm-4{margin-top:1.5rem !important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem !important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem !important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem !important}.m-sm-5{margin:3rem !important}.mt-sm-5,.my-sm-5{margin-top:3rem !important}.mr-sm-5,.mx-sm-5{margin-right:3rem !important}.mb-sm-5,.my-sm-5{margin-bottom:3rem !important}.ml-sm-5,.mx-sm-5{margin-left:3rem !important}.p-sm-0{padding:0 !important}.pt-sm-0,.py-sm-0{padding-top:0 !important}.pr-sm-0,.px-sm-0{padding-right:0 !important}.pb-sm-0,.py-sm-0{padding-bottom:0 !important}.pl-sm-0,.px-sm-0{padding-left:0 !important}.p-sm-1{padding:.25rem !important}.pt-sm-1,.py-sm-1{padding-top:.25rem !important}.pr-sm-1,.px-sm-1{padding-right:.25rem !important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem !important}.pl-sm-1,.px-sm-1{padding-left:.25rem !important}.p-sm-2{padding:.5rem !important}.pt-sm-2,.py-sm-2{padding-top:.5rem !important}.pr-sm-2,.px-sm-2{padding-right:.5rem !important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem !important}.pl-sm-2,.px-sm-2{padding-left:.5rem !important}.p-sm-3{padding:1rem !important}.pt-sm-3,.py-sm-3{padding-top:1rem !important}.pr-sm-3,.px-sm-3{padding-right:1rem !important}.pb-sm-3,.py-sm-3{padding-bottom:1rem !important}.pl-sm-3,.px-sm-3{padding-left:1rem !important}.p-sm-4{padding:1.5rem !important}.pt-sm-4,.py-sm-4{padding-top:1.5rem !important}.pr-sm-4,.px-sm-4{padding-right:1.5rem !important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem !important}.pl-sm-4,.px-sm-4{padding-left:1.5rem !important}.p-sm-5{padding:3rem !important}.pt-sm-5,.py-sm-5{padding-top:3rem !important}.pr-sm-5,.px-sm-5{padding-right:3rem !important}.pb-sm-5,.py-sm-5{padding-bottom:3rem !important}.pl-sm-5,.px-sm-5{padding-left:3rem !important}.m-sm-n1{margin:-.25rem !important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem !important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem !important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem !important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem !important}.m-sm-n2{margin:-.5rem !important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem !important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem !important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem !important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem !important}.m-sm-n3{margin:-1rem !important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem !important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem !important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem !important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem !important}.m-sm-n4{margin:-1.5rem !important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem !important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem !important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem !important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem !important}.m-sm-n5{margin:-3rem !important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem !important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem !important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem !important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem !important}.m-sm-auto{margin:auto !important}.mt-sm-auto,.my-sm-auto{margin-top:auto !important}.mr-sm-auto,.mx-sm-auto{margin-right:auto !important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto !important}.ml-sm-auto,.mx-sm-auto{margin-left:auto !important}}@media (min-width: 768px){.m-md-0{margin:0 !important}.mt-md-0,.my-md-0{margin-top:0 !important}.mr-md-0,.mx-md-0{margin-right:0 !important}.mb-md-0,.my-md-0{margin-bottom:0 !important}.ml-md-0,.mx-md-0{margin-left:0 !important}.m-md-1{margin:.25rem !important}.mt-md-1,.my-md-1{margin-top:.25rem !important}.mr-md-1,.mx-md-1{margin-right:.25rem !important}.mb-md-1,.my-md-1{margin-bottom:.25rem !important}.ml-md-1,.mx-md-1{margin-left:.25rem !important}.m-md-2{margin:.5rem !important}.mt-md-2,.my-md-2{margin-top:.5rem !important}.mr-md-2,.mx-md-2{margin-right:.5rem !important}.mb-md-2,.my-md-2{margin-bottom:.5rem !important}.ml-md-2,.mx-md-2{margin-left:.5rem !important}.m-md-3{margin:1rem !important}.mt-md-3,.my-md-3{margin-top:1rem !important}.mr-md-3,.mx-md-3{margin-right:1rem !important}.mb-md-3,.my-md-3{margin-bottom:1rem !important}.ml-md-3,.mx-md-3{margin-left:1rem !important}.m-md-4{margin:1.5rem !important}.mt-md-4,.my-md-4{margin-top:1.5rem !important}.mr-md-4,.mx-md-4{margin-right:1.5rem !important}.mb-md-4,.my-md-4{margin-bottom:1.5rem !important}.ml-md-4,.mx-md-4{margin-left:1.5rem !important}.m-md-5{margin:3rem !important}.mt-md-5,.my-md-5{margin-top:3rem !important}.mr-md-5,.mx-md-5{margin-right:3rem !important}.mb-md-5,.my-md-5{margin-bottom:3rem !important}.ml-md-5,.mx-md-5{margin-left:3rem !important}.p-md-0{padding:0 !important}.pt-md-0,.py-md-0{padding-top:0 !important}.pr-md-0,.px-md-0{padding-right:0 !important}.pb-md-0,.py-md-0{padding-bottom:0 !important}.pl-md-0,.px-md-0{padding-left:0 !important}.p-md-1{padding:.25rem !important}.pt-md-1,.py-md-1{padding-top:.25rem !important}.pr-md-1,.px-md-1{padding-right:.25rem !important}.pb-md-1,.py-md-1{padding-bottom:.25rem !important}.pl-md-1,.px-md-1{padding-left:.25rem !important}.p-md-2{padding:.5rem !important}.pt-md-2,.py-md-2{padding-top:.5rem !important}.pr-md-2,.px-md-2{padding-right:.5rem !important}.pb-md-2,.py-md-2{padding-bottom:.5rem !important}.pl-md-2,.px-md-2{padding-left:.5rem !important}.p-md-3{padding:1rem !important}.pt-md-3,.py-md-3{padding-top:1rem !important}.pr-md-3,.px-md-3{padding-right:1rem !important}.pb-md-3,.py-md-3{padding-bottom:1rem !important}.pl-md-3,.px-md-3{padding-left:1rem !important}.p-md-4{padding:1.5rem !important}.pt-md-4,.py-md-4{padding-top:1.5rem !important}.pr-md-4,.px-md-4{padding-right:1.5rem !important}.pb-md-4,.py-md-4{padding-bottom:1.5rem !important}.pl-md-4,.px-md-4{padding-left:1.5rem !important}.p-md-5{padding:3rem !important}.pt-md-5,.py-md-5{padding-top:3rem !important}.pr-md-5,.px-md-5{padding-right:3rem !important}.pb-md-5,.py-md-5{padding-bottom:3rem !important}.pl-md-5,.px-md-5{padding-left:3rem !important}.m-md-n1{margin:-.25rem !important}.mt-md-n1,.my-md-n1{margin-top:-.25rem !important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem !important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem !important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem !important}.m-md-n2{margin:-.5rem !important}.mt-md-n2,.my-md-n2{margin-top:-.5rem !important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem !important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem !important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem !important}.m-md-n3{margin:-1rem !important}.mt-md-n3,.my-md-n3{margin-top:-1rem !important}.mr-md-n3,.mx-md-n3{margin-right:-1rem !important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem !important}.ml-md-n3,.mx-md-n3{margin-left:-1rem !important}.m-md-n4{margin:-1.5rem !important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem !important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem !important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem !important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem !important}.m-md-n5{margin:-3rem !important}.mt-md-n5,.my-md-n5{margin-top:-3rem !important}.mr-md-n5,.mx-md-n5{margin-right:-3rem !important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem !important}.ml-md-n5,.mx-md-n5{margin-left:-3rem !important}.m-md-auto{margin:auto !important}.mt-md-auto,.my-md-auto{margin-top:auto !important}.mr-md-auto,.mx-md-auto{margin-right:auto !important}.mb-md-auto,.my-md-auto{margin-bottom:auto !important}.ml-md-auto,.mx-md-auto{margin-left:auto !important}}@media (min-width: 992px){.m-lg-0{margin:0 !important}.mt-lg-0,.my-lg-0{margin-top:0 !important}.mr-lg-0,.mx-lg-0{margin-right:0 !important}.mb-lg-0,.my-lg-0{margin-bottom:0 !important}.ml-lg-0,.mx-lg-0{margin-left:0 !important}.m-lg-1{margin:.25rem !important}.mt-lg-1,.my-lg-1{margin-top:.25rem !important}.mr-lg-1,.mx-lg-1{margin-right:.25rem !important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem !important}.ml-lg-1,.mx-lg-1{margin-left:.25rem !important}.m-lg-2{margin:.5rem !important}.mt-lg-2,.my-lg-2{margin-top:.5rem !important}.mr-lg-2,.mx-lg-2{margin-right:.5rem !important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem !important}.ml-lg-2,.mx-lg-2{margin-left:.5rem !important}.m-lg-3{margin:1rem !important}.mt-lg-3,.my-lg-3{margin-top:1rem !important}.mr-lg-3,.mx-lg-3{margin-right:1rem !important}.mb-lg-3,.my-lg-3{margin-bottom:1rem !important}.ml-lg-3,.mx-lg-3{margin-left:1rem !important}.m-lg-4{margin:1.5rem !important}.mt-lg-4,.my-lg-4{margin-top:1.5rem !important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem !important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem !important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem !important}.m-lg-5{margin:3rem !important}.mt-lg-5,.my-lg-5{margin-top:3rem !important}.mr-lg-5,.mx-lg-5{margin-right:3rem !important}.mb-lg-5,.my-lg-5{margin-bottom:3rem !important}.ml-lg-5,.mx-lg-5{margin-left:3rem !important}.p-lg-0{padding:0 !important}.pt-lg-0,.py-lg-0{padding-top:0 !important}.pr-lg-0,.px-lg-0{padding-right:0 !important}.pb-lg-0,.py-lg-0{padding-bottom:0 !important}.pl-lg-0,.px-lg-0{padding-left:0 !important}.p-lg-1{padding:.25rem !important}.pt-lg-1,.py-lg-1{padding-top:.25rem !important}.pr-lg-1,.px-lg-1{padding-right:.25rem !important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem !important}.pl-lg-1,.px-lg-1{padding-left:.25rem !important}.p-lg-2{padding:.5rem !important}.pt-lg-2,.py-lg-2{padding-top:.5rem !important}.pr-lg-2,.px-lg-2{padding-right:.5rem !important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem !important}.pl-lg-2,.px-lg-2{padding-left:.5rem !important}.p-lg-3{padding:1rem !important}.pt-lg-3,.py-lg-3{padding-top:1rem !important}.pr-lg-3,.px-lg-3{padding-right:1rem !important}.pb-lg-3,.py-lg-3{padding-bottom:1rem !important}.pl-lg-3,.px-lg-3{padding-left:1rem !important}.p-lg-4{padding:1.5rem !important}.pt-lg-4,.py-lg-4{padding-top:1.5rem !important}.pr-lg-4,.px-lg-4{padding-right:1.5rem !important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem !important}.pl-lg-4,.px-lg-4{padding-left:1.5rem !important}.p-lg-5{padding:3rem !important}.pt-lg-5,.py-lg-5{padding-top:3rem !important}.pr-lg-5,.px-lg-5{padding-right:3rem !important}.pb-lg-5,.py-lg-5{padding-bottom:3rem !important}.pl-lg-5,.px-lg-5{padding-left:3rem !important}.m-lg-n1{margin:-.25rem !important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem !important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem !important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem !important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem !important}.m-lg-n2{margin:-.5rem !important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem !important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem !important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem !important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem !important}.m-lg-n3{margin:-1rem !important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem !important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem !important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem !important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem !important}.m-lg-n4{margin:-1.5rem !important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem !important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem !important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem !important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem !important}.m-lg-n5{margin:-3rem !important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem !important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem !important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem !important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem !important}.m-lg-auto{margin:auto !important}.mt-lg-auto,.my-lg-auto{margin-top:auto !important}.mr-lg-auto,.mx-lg-auto{margin-right:auto !important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto !important}.ml-lg-auto,.mx-lg-auto{margin-left:auto !important}}@media (min-width: 1200px){.m-xl-0{margin:0 !important}.mt-xl-0,.my-xl-0{margin-top:0 !important}.mr-xl-0,.mx-xl-0{margin-right:0 !important}.mb-xl-0,.my-xl-0{margin-bottom:0 !important}.ml-xl-0,.mx-xl-0{margin-left:0 !important}.m-xl-1{margin:.25rem !important}.mt-xl-1,.my-xl-1{margin-top:.25rem !important}.mr-xl-1,.mx-xl-1{margin-right:.25rem !important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem !important}.ml-xl-1,.mx-xl-1{margin-left:.25rem !important}.m-xl-2{margin:.5rem !important}.mt-xl-2,.my-xl-2{margin-top:.5rem !important}.mr-xl-2,.mx-xl-2{margin-right:.5rem !important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem !important}.ml-xl-2,.mx-xl-2{margin-left:.5rem !important}.m-xl-3{margin:1rem !important}.mt-xl-3,.my-xl-3{margin-top:1rem !important}.mr-xl-3,.mx-xl-3{margin-right:1rem !important}.mb-xl-3,.my-xl-3{margin-bottom:1rem !important}.ml-xl-3,.mx-xl-3{margin-left:1rem !important}.m-xl-4{margin:1.5rem !important}.mt-xl-4,.my-xl-4{margin-top:1.5rem !important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem !important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem !important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem !important}.m-xl-5{margin:3rem !important}.mt-xl-5,.my-xl-5{margin-top:3rem !important}.mr-xl-5,.mx-xl-5{margin-right:3rem !important}.mb-xl-5,.my-xl-5{margin-bottom:3rem !important}.ml-xl-5,.mx-xl-5{margin-left:3rem !important}.p-xl-0{padding:0 !important}.pt-xl-0,.py-xl-0{padding-top:0 !important}.pr-xl-0,.px-xl-0{padding-right:0 !important}.pb-xl-0,.py-xl-0{padding-bottom:0 !important}.pl-xl-0,.px-xl-0{padding-left:0 !important}.p-xl-1{padding:.25rem !important}.pt-xl-1,.py-xl-1{padding-top:.25rem !important}.pr-xl-1,.px-xl-1{padding-right:.25rem !important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem !important}.pl-xl-1,.px-xl-1{padding-left:.25rem !important}.p-xl-2{padding:.5rem !important}.pt-xl-2,.py-xl-2{padding-top:.5rem !important}.pr-xl-2,.px-xl-2{padding-right:.5rem !important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem !important}.pl-xl-2,.px-xl-2{padding-left:.5rem !important}.p-xl-3{padding:1rem !important}.pt-xl-3,.py-xl-3{padding-top:1rem !important}.pr-xl-3,.px-xl-3{padding-right:1rem !important}.pb-xl-3,.py-xl-3{padding-bottom:1rem !important}.pl-xl-3,.px-xl-3{padding-left:1rem !important}.p-xl-4{padding:1.5rem !important}.pt-xl-4,.py-xl-4{padding-top:1.5rem !important}.pr-xl-4,.px-xl-4{padding-right:1.5rem !important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem !important}.pl-xl-4,.px-xl-4{padding-left:1.5rem !important}.p-xl-5{padding:3rem !important}.pt-xl-5,.py-xl-5{padding-top:3rem !important}.pr-xl-5,.px-xl-5{padding-right:3rem !important}.pb-xl-5,.py-xl-5{padding-bottom:3rem !important}.pl-xl-5,.px-xl-5{padding-left:3rem !important}.m-xl-n1{margin:-.25rem !important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem !important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem !important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem !important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem !important}.m-xl-n2{margin:-.5rem !important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem !important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem !important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem !important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem !important}.m-xl-n3{margin:-1rem !important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem !important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem !important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem !important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem !important}.m-xl-n4{margin:-1.5rem !important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem !important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem !important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem !important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem !important}.m-xl-n5{margin:-3rem !important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem !important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem !important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem !important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem !important}.m-xl-auto{margin:auto !important}.mt-xl-auto,.my-xl-auto{margin-top:auto !important}.mr-xl-auto,.mx-xl-auto{margin-right:auto !important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto !important}.ml-xl-auto,.mx-xl-auto{margin-left:auto !important}}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:-webkit-sticky !important;position:sticky !important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position: -webkit-sticky) or (position: sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace !important}.text-justify{text-align:justify !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}@media (min-width: 576px){.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}.text-sm-center{text-align:center !important}}@media (min-width: 768px){.text-md-left{text-align:left !important}.text-md-right{text-align:right !important}.text-md-center{text-align:center !important}}@media (min-width: 992px){.text-lg-left{text-align:left !important}.text-lg-right{text-align:right !important}.text-lg-center{text-align:center !important}}@media (min-width: 1200px){.text-xl-left{text-align:left !important}.text-xl-right{text-align:right !important}.text-xl-center{text-align:center !important}}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.font-weight-light{font-weight:300 !important}.font-weight-lighter{font-weight:lighter !important}.font-weight-normal{font-weight:400 !important}.font-weight-bold{font-weight:700 !important}.font-weight-bolder{font-weight:bolder !important}.font-italic{font-style:italic !important}.text-white{color:#fff !important}.text-primary{color:#4E0754 !important}a.text-primary:hover,a.text-primary:focus{color:#0c010d !important}.text-secondary{color:#F9703E !important}a.text-secondary:hover,a.text-secondary:focus{color:#e34207 !important}.text-success{color:#28a745 !important}a.text-success:hover,a.text-success:focus{color:#19692c !important}.text-info{color:#17a2b8 !important}a.text-info:hover,a.text-info:focus{color:#0f6674 !important}.text-warning{color:#ffc107 !important}a.text-warning:hover,a.text-warning:focus{color:#ba8b00 !important}.text-danger{color:#dc3545 !important}a.text-danger:hover,a.text-danger:focus{color:#a71d2a !important}.text-light{color:#F0F4F8 !important}a.text-light:hover,a.text-light:focus{color:#bccee0 !important}.text-dark{color:#102A43 !important}a.text-dark:hover,a.text-dark:focus{color:#010305 !important}.text-body{color:#212529 !important}.text-muted{color:#627D98 !important}.text-black-50{color:rgba(0,0,0,0.5) !important}.text-white-50{color:rgba(255,255,255,0.5) !important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none !important}.text-break{word-break:break-word !important;overflow-wrap:break-word !important}.text-reset{color:inherit !important}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:4px;-webkit-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{-webkit-transition:none;transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn:focus,.btn.focus{outline:0;box-shadow:0}.btn.disabled,.btn:disabled{opacity:.65;box-shadow:none}.btn:not(:disabled):not(.disabled):active,.btn:not(:disabled):not(.disabled).active{box-shadow:0}.btn:not(:disabled):not(.disabled):active:focus,.btn:not(:disabled):not(.disabled).active:focus{box-shadow:0,0}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#4E0754;border-color:#4E0754;box-shadow:0}.btn-primary:hover{color:#fff;background-color:#2d0431;border-color:#220325}.btn-primary:focus,.btn-primary.focus{box-shadow:0,0 0 0 .2rem rgba(105,44,110,0.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#4E0754;border-color:#4E0754}.btn-primary:not(:disabled):not(.disabled):active,.btn-primary:not(:disabled):not(.disabled).active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#220325;border-color:#170219}.btn-primary:not(:disabled):not(.disabled):active:focus,.btn-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0,0 0 0 .2rem rgba(105,44,110,0.5)}.btn-secondary{color:#fff;background-color:#F9703E;border-color:#F9703E;box-shadow:0}.btn-secondary:hover{color:#fff;background-color:#f85519;border-color:#f74b0d}.btn-secondary:focus,.btn-secondary.focus{box-shadow:0,0 0 0 .2rem rgba(250,133,91,0.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#F9703E;border-color:#F9703E}.btn-secondary:not(:disabled):not(.disabled):active,.btn-secondary:not(:disabled):not(.disabled).active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#f74b0d;border-color:#f04607}.btn-secondary:not(:disabled):not(.disabled):active:focus,.btn-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0,0 0 0 .2rem rgba(250,133,91,0.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745;box-shadow:0}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success:focus,.btn-success.focus{box-shadow:0,0 0 0 .2rem rgba(72,180,97,0.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled):active,.btn-success:not(:disabled):not(.disabled).active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled):active:focus,.btn-success:not(:disabled):not(.disabled).active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0,0 0 0 .2rem rgba(72,180,97,0.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8;box-shadow:0}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info:focus,.btn-info.focus{box-shadow:0,0 0 0 .2rem rgba(58,176,195,0.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled):active,.btn-info:not(:disabled):not(.disabled).active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled):active:focus,.btn-info:not(:disabled):not(.disabled).active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0,0 0 0 .2rem rgba(58,176,195,0.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107;box-shadow:0}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning:focus,.btn-warning.focus{box-shadow:0,0 0 0 .2rem rgba(222,170,12,0.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled):active,.btn-warning:not(:disabled):not(.disabled).active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled):active:focus,.btn-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0,0 0 0 .2rem rgba(222,170,12,0.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545;box-shadow:0}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger:focus,.btn-danger.focus{box-shadow:0,0 0 0 .2rem rgba(225,83,97,0.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled):active,.btn-danger:not(:disabled):not(.disabled).active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled):active:focus,.btn-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0,0 0 0 .2rem rgba(225,83,97,0.5)}.btn-light{color:#212529;background-color:#F0F4F8;border-color:#F0F4F8;box-shadow:0}.btn-light:hover{color:#212529;background-color:#d6e1ec;border-color:#cddbe8}.btn-light:focus,.btn-light.focus{box-shadow:0,0 0 0 .2rem rgba(209,213,217,0.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#F0F4F8;border-color:#F0F4F8}.btn-light:not(:disabled):not(.disabled):active,.btn-light:not(:disabled):not(.disabled).active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#cddbe8;border-color:#c5d4e4}.btn-light:not(:disabled):not(.disabled):active:focus,.btn-light:not(:disabled):not(.disabled).active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0,0 0 0 .2rem rgba(209,213,217,0.5)}.btn-dark{color:#fff;background-color:#102A43;border-color:#102A43;box-shadow:0}.btn-dark:hover{color:#fff;background-color:#091724;border-color:#06101a}.btn-dark:focus,.btn-dark.focus{box-shadow:0,0 0 0 .2rem rgba(52,74,95,0.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#102A43;border-color:#102A43}.btn-dark:not(:disabled):not(.disabled):active,.btn-dark:not(:disabled):not(.disabled).active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#06101a;border-color:#040a10}.btn-dark:not(:disabled):not(.disabled):active:focus,.btn-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0,0 0 0 .2rem rgba(52,74,95,0.5)}.btn-outline-primary{color:#4E0754;border-color:#4E0754}.btn-outline-primary:hover{color:#fff;background-color:#4E0754;border-color:#4E0754}.btn-outline-primary:focus,.btn-outline-primary.focus{box-shadow:0 0 0 .2rem rgba(78,7,84,0.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#4E0754;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled):active,.btn-outline-primary:not(:disabled):not(.disabled).active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#4E0754;border-color:#4E0754}.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0,0 0 0 .2rem rgba(78,7,84,0.5)}.btn-outline-secondary{color:#F9703E;border-color:#F9703E}.btn-outline-secondary:hover{color:#fff;background-color:#F9703E;border-color:#F9703E}.btn-outline-secondary:focus,.btn-outline-secondary.focus{box-shadow:0 0 0 .2rem rgba(249,112,62,0.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#F9703E;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled):active,.btn-outline-secondary:not(:disabled):not(.disabled).active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#F9703E;border-color:#F9703E}.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0,0 0 0 .2rem rgba(249,112,62,0.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:focus,.btn-outline-success.focus{box-shadow:0 0 0 .2rem rgba(40,167,69,0.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled):active,.btn-outline-success:not(:disabled):not(.disabled).active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled):active:focus,.btn-outline-success:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0,0 0 0 .2rem rgba(40,167,69,0.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:focus,.btn-outline-info.focus{box-shadow:0 0 0 .2rem rgba(23,162,184,0.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled):active,.btn-outline-info:not(:disabled):not(.disabled).active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled):active:focus,.btn-outline-info:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0,0 0 0 .2rem rgba(23,162,184,0.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:focus,.btn-outline-warning.focus{box-shadow:0 0 0 .2rem rgba(255,193,7,0.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled):active,.btn-outline-warning:not(:disabled):not(.disabled).active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0,0 0 0 .2rem rgba(255,193,7,0.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:focus,.btn-outline-danger.focus{box-shadow:0 0 0 .2rem rgba(220,53,69,0.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled):active,.btn-outline-danger:not(:disabled):not(.disabled).active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0,0 0 0 .2rem rgba(220,53,69,0.5)}.btn-outline-light{color:#F0F4F8;border-color:#F0F4F8}.btn-outline-light:hover{color:#212529;background-color:#F0F4F8;border-color:#F0F4F8}.btn-outline-light:focus,.btn-outline-light.focus{box-shadow:0 0 0 .2rem rgba(240,244,248,0.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#F0F4F8;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled):active,.btn-outline-light:not(:disabled):not(.disabled).active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#F0F4F8;border-color:#F0F4F8}.btn-outline-light:not(:disabled):not(.disabled):active:focus,.btn-outline-light:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0,0 0 0 .2rem rgba(240,244,248,0.5)}.btn-outline-dark{color:#102A43;border-color:#102A43}.btn-outline-dark:hover{color:#fff;background-color:#102A43;border-color:#102A43}.btn-outline-dark:focus,.btn-outline-dark.focus{box-shadow:0 0 0 .2rem rgba(16,42,67,0.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#102A43;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled):active,.btn-outline-dark:not(:disabled):not(.disabled).active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#102A43;border-color:#102A43}.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0,0 0 0 .2rem rgba(16,42,67,0.5)}.btn-link{font-weight:400;color:#4E0754;text-decoration:none}.btn-link:hover{color:#0c010d;text-decoration:underline}.btn-link:focus,.btn-link.focus{text-decoration:underline;box-shadow:none}.btn-link:disabled,.btn-link.disabled{color:#6c757d;pointer-events:none}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.5rem;line-height:1.5;border-radius:.3rem}.btn-sm,.btn-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.btn-group,.btn-group-vertical{position:relative;display:-webkit-inline-box;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;-webkit-box-flex:1;flex:1 1 auto}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover{z-index:1}.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group.show .dropdown-toggle{box-shadow:0}.btn-group.show .dropdown-toggle.btn-link{box-shadow:none}.btn-group-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:start;align-items:flex-start;-webkit-box-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type="radio"],.btn-group-toggle>.btn input[type="checkbox"],.btn-group-toggle>.btn-group>.btn input[type="radio"],.btn-group-toggle>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.card{position:relative;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,0.125);border-radius:4px}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.card-body{-webkit-box-flex:1;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;color:#102A43;background-color:#F0F4F8;border-bottom:1px solid rgba(0,0,0,0.125)}.card-header:first-child{border-radius:calc(4px - 1px) calc(4px - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:#F0F4F8;border-top:1px solid rgba(0,0,0,0.125)}.card-footer:last-child{border-radius:0 0 calc(4px - 1px) calc(4px - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(4px - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(4px - 1px);border-top-right-radius:calc(4px - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(4px - 1px);border-bottom-left-radius:calc(4px - 1px)}.card-deck{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width: 576px){.card-deck{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-webkit-box;display:flex;-webkit-box-flex:1;flex:1 0 0%;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width: 576px){.card-group{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row wrap}.card-group>.card{-webkit-box-flex:1;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width: 576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion>.card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion>.card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.accordion>.card .card-header{margin-bottom:-1px}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):hover,.close:not(:disabled):not(.disabled):focus{opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled{pointer-events:none}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#102A43;background-color:#F0F4F8;background-clip:padding-box;border:1px solid #F0F4F8;border-radius:4px;box-shadow:none;-webkit-transition:border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;transition:border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{-webkit-transition:none;transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#102A43;background-color:#F0F4F8;border-color:#102A43;outline:0;box-shadow:none,0 0 0 .2rem rgba(78,7,84,0.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#F0F4F8;opacity:1}select.form-control:focus::-ms-value{color:#102A43;background-color:#F0F4F8}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.5rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.5rem;line-height:1.5;border-radius:.3rem}select.form-control[size],select.form-control[multiple]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-webkit-box;display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*="col-"]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled ~ .form-check-label{color:#627D98}.form-check-label{margin-bottom:0}.form-check-inline{display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,0.9);border-radius:4px}.was-validated .form-control:valid,.form-control.is-valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,0.25)}.was-validated .form-control:valid ~ .valid-feedback,.was-validated .form-control:valid ~ .valid-tooltip,.form-control.is-valid ~ .valid-feedback,.form-control.is-valid ~ .valid-tooltip{display:block}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .custom-select:valid,.custom-select.is-valid{border-color:#28a745;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23102A43' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #F0F4F8 no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .custom-select:valid:focus,.custom-select.is-valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,0.25)}.was-validated .custom-select:valid ~ .valid-feedback,.was-validated .custom-select:valid ~ .valid-tooltip,.custom-select.is-valid ~ .valid-feedback,.custom-select.is-valid ~ .valid-tooltip{display:block}.was-validated .form-control-file:valid ~ .valid-feedback,.was-validated .form-control-file:valid ~ .valid-tooltip,.form-control-file.is-valid ~ .valid-feedback,.form-control-file.is-valid ~ .valid-tooltip{display:block}.was-validated .form-check-input:valid ~ .form-check-label,.form-check-input.is-valid ~ .form-check-label{color:#28a745}.was-validated .form-check-input:valid ~ .valid-feedback,.was-validated .form-check-input:valid ~ .valid-tooltip,.form-check-input.is-valid ~ .valid-feedback,.form-check-input.is-valid ~ .valid-tooltip{display:block}.was-validated .custom-control-input:valid ~ .custom-control-label,.custom-control-input.is-valid ~ .custom-control-label{color:#28a745}.was-validated .custom-control-input:valid ~ .custom-control-label::before,.custom-control-input.is-valid ~ .custom-control-label::before{border-color:#28a745}.was-validated .custom-control-input:valid ~ .valid-feedback,.was-validated .custom-control-input:valid ~ .valid-tooltip,.custom-control-input.is-valid ~ .valid-feedback,.custom-control-input.is-valid ~ .valid-tooltip{display:block}.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before,.custom-control-input.is-valid:checked ~ .custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before,.custom-control-input.is-valid:focus ~ .custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,0.25)}.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before,.custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before{border-color:#28a745}.was-validated .custom-file-input:valid ~ .custom-file-label,.custom-file-input.is-valid ~ .custom-file-label{border-color:#28a745}.was-validated .custom-file-input:valid ~ .valid-feedback,.was-validated .custom-file-input:valid ~ .valid-tooltip,.custom-file-input.is-valid ~ .valid-feedback,.custom-file-input.is-valid ~ .valid-tooltip{display:block}.was-validated .custom-file-input:valid:focus ~ .custom-file-label,.custom-file-input.is-valid:focus ~ .custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,0.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,0.9);border-radius:4px}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,0.25)}.was-validated .form-control:invalid ~ .invalid-feedback,.was-validated .form-control:invalid ~ .invalid-tooltip,.form-control.is-invalid ~ .invalid-feedback,.form-control.is-invalid ~ .invalid-tooltip{display:block}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .custom-select:invalid,.custom-select.is-invalid{border-color:#dc3545;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23102A43' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E") #F0F4F8 no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .custom-select:invalid:focus,.custom-select.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,0.25)}.was-validated .custom-select:invalid ~ .invalid-feedback,.was-validated .custom-select:invalid ~ .invalid-tooltip,.custom-select.is-invalid ~ .invalid-feedback,.custom-select.is-invalid ~ .invalid-tooltip{display:block}.was-validated .form-control-file:invalid ~ .invalid-feedback,.was-validated .form-control-file:invalid ~ .invalid-tooltip,.form-control-file.is-invalid ~ .invalid-feedback,.form-control-file.is-invalid ~ .invalid-tooltip{display:block}.was-validated .form-check-input:invalid ~ .form-check-label,.form-check-input.is-invalid ~ .form-check-label{color:#dc3545}.was-validated .form-check-input:invalid ~ .invalid-feedback,.was-validated .form-check-input:invalid ~ .invalid-tooltip,.form-check-input.is-invalid ~ .invalid-feedback,.form-check-input.is-invalid ~ .invalid-tooltip{display:block}.was-validated .custom-control-input:invalid ~ .custom-control-label,.custom-control-input.is-invalid ~ .custom-control-label{color:#dc3545}.was-validated .custom-control-input:invalid ~ .custom-control-label::before,.custom-control-input.is-invalid ~ .custom-control-label::before{border-color:#dc3545}.was-validated .custom-control-input:invalid ~ .invalid-feedback,.was-validated .custom-control-input:invalid ~ .invalid-tooltip,.custom-control-input.is-invalid ~ .invalid-feedback,.custom-control-input.is-invalid ~ .invalid-tooltip{display:block}.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before,.custom-control-input.is-invalid:checked ~ .custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before,.custom-control-input.is-invalid:focus ~ .custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,0.25)}.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before,.custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before{border-color:#dc3545}.was-validated .custom-file-input:invalid ~ .custom-file-label,.custom-file-input.is-invalid ~ .custom-file-label{border-color:#dc3545}.was-validated .custom-file-input:invalid ~ .invalid-feedback,.was-validated .custom-file-input:invalid ~ .invalid-tooltip,.custom-file-input.is-invalid ~ .invalid-feedback,.custom-file-input.is-invalid ~ .invalid-tooltip{display:block}.was-validated .custom-file-input:invalid:focus ~ .custom-file-label,.custom-file-input.is-invalid:focus ~ .custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,0.25)}.form-inline{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row wrap;-webkit-box-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width: 576px){.form-inline label{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-webkit-box;display:flex;-webkit-box-flex:0;flex:0 0 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row wrap;-webkit-box-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .input-group,.form-inline .custom-select{width:auto}.form-inline .form-check{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.input-group{position:relative;display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-align:stretch;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-control-plaintext,.input-group>.custom-select,.input-group>.custom-file{position:relative;-webkit-box-flex:1;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.form-control+.form-control,.input-group>.form-control+.custom-select,.input-group>.form-control+.custom-file,.input-group>.form-control-plaintext+.form-control,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.custom-file,.input-group>.custom-select+.form-control,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.custom-file,.input-group>.custom-file+.form-control,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.custom-file{margin-left:-1px}.input-group>.form-control:focus,.input-group>.custom-select:focus,.input-group>.custom-file .custom-file-input:focus ~ .custom-file-label{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.form-control:not(:last-child),.input-group>.custom-select:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.form-control:not(:first-child),.input-group>.custom-select:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-prepend,.input-group-append{display:-webkit-box;display:flex}.input-group-prepend .btn,.input-group-append .btn{position:relative;z-index:2}.input-group-prepend .btn:focus,.input-group-append .btn:focus{z-index:3}.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.input-group-text,.input-group-append .input-group-text+.btn{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#102A43;text-align:center;white-space:nowrap;background-color:#D9E2EC;border:1px solid #F0F4F8;border-radius:4px}.input-group-text input[type="radio"],.input-group-text input[type="checkbox"]{margin-top:0}.input-group-lg>.form-control:not(textarea),.input-group-lg>.custom-select{height:calc(1.5em + 1rem + 2px)}.input-group-lg>.form-control,.input-group-lg>.custom-select,.input-group-lg>.input-group-prepend>.input-group-text,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-append>.btn{padding:.5rem 1rem;font-size:1.5rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.form-control:not(textarea),.input-group-sm>.custom-select{height:calc(1.5em + .5rem + 2px)}.input-group-sm>.form-control,.input-group-sm>.custom-select,.input-group-sm>.input-group-prepend>.input-group-text,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-append>.btn{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text,.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.nav{display:-webkit-box;display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:hover,.nav-link:focus{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #9FB3C8}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{border-color:#D9E2EC #D9E2EC #9FB3C8}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#495057;background-color:#fff;border-color:#9FB3C8 #9FB3C8 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:4px}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#4E0754}.nav-fill .nav-item{-webkit-box-flex:1;flex:1 1 auto;text-align:center}.nav-justified .nav-item{flex-basis:0;-webkit-box-flex:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-align:center;align-items:center;-webkit-box-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar>.container,.navbar>.container-fluid{display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-align:center;align-items:center;-webkit-box-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.125rem;padding-bottom:.125rem;margin-right:1rem;font-size:1.5rem;line-height:inherit;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-nav{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;-webkit-box-flex:1;flex-grow:1;-webkit-box-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.5rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:4px}.navbar-toggler:hover,.navbar-toggler:focus{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width: 575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width: 576px){.navbar-expand-sm{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row nowrap;-webkit-box-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-webkit-box !important;display:flex !important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width: 767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width: 768px){.navbar-expand-md{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row nowrap;-webkit-box-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-webkit-box !important;display:flex !important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width: 991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width: 992px){.navbar-expand-lg{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row nowrap;-webkit-box-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-webkit-box !important;display:flex !important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width: 1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width: 1200px){.navbar-expand-xl{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row nowrap;-webkit-box-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-webkit-box !important;display:flex !important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row nowrap;-webkit-box-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-webkit-box !important;display:flex !important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:#4E0754}.navbar-light .navbar-brand:hover,.navbar-light .navbar-brand:focus{color:#4E0754}.navbar-light .navbar-nav .nav-link{color:#627D98}.navbar-light .navbar-nav .nav-link:hover,.navbar-light .navbar-nav .nav-link:focus{color:#102A43}.navbar-light .navbar-nav .nav-link.disabled{color:#D9E2EC}.navbar-light .navbar-nav .show>.nav-link,.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .nav-link.active{color:#4E0754}.navbar-light .navbar-toggler{color:#627D98;border-color:rgba(0,0,0,0.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='%23627D98' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:#627D98}.navbar-light .navbar-text a{color:#4E0754}.navbar-light .navbar-text a:hover,.navbar-light .navbar-text a:focus{color:#4E0754}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-brand:focus{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,0.5)}.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link:focus{color:rgba(255,255,255,0.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,0.25)}.navbar-dark .navbar-nav .show>.nav-link,.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .nav-link.active{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,0.5);border-color:rgba(255,255,255,0.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255,255,255,0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,0.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:hover,.navbar-dark .navbar-text a:focus{color:#fff}*,*::before,*::after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:"Red Hat Text";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0 !important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[title],abbr[data-original-title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#4E0754;text-decoration:none;background-color:transparent}a:hover{color:#0c010d;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):hover,a:not([href]):not([tabindex]):focus{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}pre,code,kbd,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#627D98;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.2rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button:not(:disabled),[type="button"]:not(:disabled),[type="reset"]:not(:disabled),[type="submit"]:not(:disabled){cursor:pointer}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{padding:0;border-style:none}input[type="radio"],input[type="checkbox"]{box-sizing:border-box;padding:0}input[type="date"],input[type="time"],input[type="datetime-local"],input[type="month"]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{outline-offset:-2px;-webkit-appearance:none}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none !important}.table{width:100%;margin-bottom:1rem;color:#212529}.table th,.table td{padding:.75rem;vertical-align:top;border-top:1px solid #D9E2EC}.table thead th{vertical-align:bottom;border-bottom:2px solid #D9E2EC}.table tbody+tbody{border-top:2px solid #D9E2EC}.table-sm th,.table-sm td{padding:.3rem}.table-bordered{border:1px solid #D9E2EC}.table-bordered th,.table-bordered td{border:1px solid #D9E2EC}.table-bordered thead th,.table-bordered thead td{border-bottom-width:2px}.table-borderless th,.table-borderless td,.table-borderless thead th,.table-borderless tbody+tbody{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,0.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,0.075)}.table-primary,.table-primary>th,.table-primary>td{background-color:#cdbacf}.table-primary th,.table-primary td,.table-primary thead th,.table-primary tbody+tbody{border-color:#a37ea6}.table-hover .table-primary:hover{background-color:#c2abc5}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#c2abc5}.table-secondary,.table-secondary>th,.table-secondary>td{background-color:#fdd7c9}.table-secondary th,.table-secondary td,.table-secondary thead th,.table-secondary tbody+tbody{border-color:#fcb59b}.table-hover .table-secondary:hover{background-color:#fcc5b0}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#fcc5b0}.table-success,.table-success>th,.table-success>td{background-color:#c3e6cb}.table-success th,.table-success td,.table-success thead th,.table-success tbody+tbody{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>th,.table-info>td{background-color:#bee5eb}.table-info th,.table-info td,.table-info thead th,.table-info tbody+tbody{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>th,.table-warning>td{background-color:#ffeeba}.table-warning th,.table-warning td,.table-warning thead th,.table-warning tbody+tbody{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>th,.table-danger>td{background-color:#f5c6cb}.table-danger th,.table-danger td,.table-danger thead th,.table-danger tbody+tbody{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>th,.table-light>td{background-color:#fbfcfd}.table-light th,.table-light td,.table-light thead th,.table-light tbody+tbody{border-color:#f7f9fb}.table-hover .table-light:hover{background-color:#eaeff5}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#eaeff5}.table-dark,.table-dark>th,.table-dark>td{background-color:#bcc3ca}.table-dark th,.table-dark td,.table-dark thead th,.table-dark tbody+tbody{border-color:#83909d}.table-hover .table-dark:hover{background-color:#aeb6bf}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#aeb6bf}.table-active,.table-active>th,.table-active>td{background-color:rgba(0,0,0,0.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,0.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,0.075)}.table .thead-dark th{color:#fff;background-color:#102A43;border-color:#173d62}.table .thead-light th{color:#495057;background-color:#D9E2EC;border-color:#D9E2EC}.table-dark{color:#fff;background-color:#102A43}.table-dark th,.table-dark td,.table-dark thead th{border-color:#173d62}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,0.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,0.075)}@media (max-width: 575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width: 767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width: 991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width: 1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin-bottom:.5rem;font-family:"Red Hat Display";font-weight:500;line-height:1.2}h1,.h1{font-size:2.5rem}h2,.h2{font-size:2rem}h3,.h3{font-size:1.75rem}h4,.h4{font-size:1.5rem}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,0.1)}small,.small{font-size:80%;font-weight:400}mark,.mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}body{background:#D9E2EC}body>.container{margin-top:3rem !important;margin-bottom:5rem !important}#react-root>.container{margin-top:3rem !important;margin-bottom:5rem !important}.form-control:disabled,label.disabled{opacity:0.5}input[type=checkbox]{display:none}input[type=checkbox]+label{margin-top:0.2rem;vertical-align:top}input[type=checkbox]:disabled+label{opacity:0.5}input[type=checkbox]+label:after{content:'';height:1.5rem;width:1.5rem;border:0;left:0px;top:0px;background-color:#F0F4F8;border-color:#F0F4F8;display:block;margin-top:0.2rem}input[type=checkbox]:checked+label:after{content:'\00d7';font-size:2rem;line-height:1.5rem;color:#102A43;background-color:#F0F4F8;border-color:#F0F4F8;padding-left:0.2rem;display:block;margin-top:0.2rem}nav.navbar-light{position:fixed !important;background:white;box-shadow:0 2px 2px 0 rgba(188,204,220,0.8);font-size:1.125rem;padding-bottom:2px;padding-top:2px}nav.navbar-light .navbar-nav{line-height:2rem}nav.navbar-light .nav-item.active{box-shadow:0 2px 0 0 #4E0754;position:relative}footer{background:#102A43;color:#F0F4F8}footer a{color:#F0F4F8}.card{box-shadow:0 2px 4px 0 rgba(16,42,67,0.5)}.card-body h5.card-title,.card-header h5.card-title{font-size:1.2rem;font-weight:bold;width:80%}.card-body button.close,.card-header button.close{position:absolute;right:1rem;top:1rem}#graph{width:600px;height:600px}#react-root #canvas-wrapper{width:600px;height:600px}#react-root #canvas-wrapper #canvas{width:600px;height:600px}.regression{stroke:#102A43;fill:none}#percentile-input-group{width:150px}#percentile-button{height:38px}.method-table{font-size:0.8rem;table-layout:fixed}.progressbar{background:#4E0754;height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}.progressbar .shadow{box-shadow:0 0 10px #4E0754,0 0 5px #4E0754;display:block;height:100%;opacity:1;position:absolute;right:0;-webkit-transform:rotate(3deg) translate(0px, -4px);transform:rotate(3deg) translate(0px, -4px);width:100}.error svg{color:#F9703E;margin-bottom:1.5rem}
@@ -9,15 +9,15 @@
9
9
  <% end %>
10
10
  </head>
11
11
  <body class="d-flex flex-column h-100">
12
- <nav class="navbar navbar-expand-lg navbar-light bg-light fixed-top">
13
- <a class="navbar-brand" href="#">
14
- <img src="images/attractor_logo.svg" alt="" width="36">
15
- Attractor
16
- </a>
17
- </nav>
18
- <div class="container">
19
- <div class="row mt-4">
20
- <% if @serve_static %>
12
+ <% if @serve_static %>
13
+ <nav class="navbar navbar-expand-lg navbar-light bg-light fixed-top">
14
+ <a class="navbar-brand" href="#">
15
+ <img class="mr-3" src="images/attractor_logo.svg" alt="" width="36">
16
+ Attractor
17
+ </a>
18
+ </nav>
19
+ <div class="container">
20
+ <div class="row mt-4">
21
21
  <div class="col-12">
22
22
  <div class="card">
23
23
  <div class="card-body">
@@ -28,46 +28,42 @@
28
28
  </div>
29
29
  </div>
30
30
  </div>
31
- <% else %>
32
- <div id="react-graph" class="col-12"></div>
33
- <% end %>
34
- </div>
31
+ </div>
35
32
 
36
- <div class="row mt-3">
37
- <div class="col-12">
38
- <% if @serve_static %>
39
- <div class="card">
40
- <div class="card-body">
41
- <h5 class="card-title">Refactoring Candidates</h5>
42
- <h6 class="card-subtitle text-muted">Top 95 Percentile of Churn * Complexity</h6>
43
- <table class="table mt-4">
44
- <thead>
45
- <tr>
46
- <th scope="col">File Path</th>
47
- <th scope="col">Churn</th>
48
- <th scope="col">Complexity</th>
49
- <th scope="col">Churn * Complexity</th>
50
- </tr>
51
- </thead>
52
- <tbody id="suggestions-table">
53
- <% @suggestions.each do |val| %>
54
- <tr>
55
- <td><%= val.file_path %></td>
56
- <td><%= val.churn %></td>
57
- <td><%= val.complexity %></td>
58
- <td><%= val.churn * val.complexity %></td>
59
- <% end %>
60
- </tr>
61
- <tbody>
62
- </table>
33
+ <div class="row mt-3">
34
+ <div class="col-12">
35
+ <div class="card">
36
+ <div class="card-body">
37
+ <h5 class="card-title">Refactoring Candidates</h5>
38
+ <h6 class="card-subtitle text-muted">Top 95 Percentile of Churn * Complexity</h6>
39
+ <table class="table mt-4">
40
+ <thead>
41
+ <tr>
42
+ <th scope="col">File Path</th>
43
+ <th scope="col">Churn</th>
44
+ <th scope="col">Complexity</th>
45
+ <th scope="col">Churn * Complexity</th>
46
+ </tr>
47
+ </thead>
48
+ <tbody id="suggestions-table">
49
+ <% @suggestions.each do |val| %>
50
+ <tr>
51
+ <td><%= val.file_path %></td>
52
+ <td><%= val.churn %></td>
53
+ <td><%= val.complexity %></td>
54
+ <td><%= val.churn * val.complexity %></td>
55
+ </tr>
56
+ <% end %>
57
+ <tbody>
58
+ </table>
59
+ </div>
63
60
  </div>
64
61
  </div>
65
- <% else %>
66
- <div id="react-suggestions"></div>
67
- <% end %>
68
62
  </div>
69
63
  </div>
70
- </div>
64
+ <% else %>
65
+ <div id="react-root"></div>
66
+ <% end %>
71
67
  <footer class="footer mt-auto py-3 fixed-bottom">
72
68
  <div class="container d-flex justify-content-end">
73
69
  <span class="mx-3"><a target="_blank" href="https://www.patreon.com/user?u=24747270">Patreon</a></span>
@@ -0,0 +1 @@
1
+ !function(t){var e={};function s(r){if(e[r])return e[r].exports;var n=e[r]={i:r,l:!1,exports:{}};return t[r].call(n.exports,n,n.exports,s),n.l=!0,n.exports}s.m=t,s.c=e,s.d=function(t,e,r){s.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},s.r=function(t){Object.defineProperty(t,"__esModule",{value:!0})},s.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return s.d(e,"a",e),e},s.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},s.p="",s.w={},s(s.s=247)}([function(t,e,s){"use strict";e.__esModule=!0,e.default=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}},function(t,e,s){"use strict";e.__esModule=!0;var r,n=s(110),i=(r=n)&&r.__esModule?r:{default:r};e.default=function(){function t(t,e){for(var s=0;s<e.length;s++){var r=e[s];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),(0,i.default)(t,r.key,r)}}return function(e,s,r){return s&&t(e.prototype,s),r&&t(e,r),e}}()},function(t,e,s){"use strict";e.__esModule=!0;var r=a(s(66)),n=a(s(114)),i="function"==typeof n.default&&"symbol"==typeof r.default?function(t){return typeof t}:function(t){return t&&"function"==typeof n.default&&t.constructor===n.default&&t!==n.default.prototype?"symbol":typeof t};function a(t){return t&&t.__esModule?t:{default:t}}e.default="function"==typeof n.default&&"symbol"===i(r.default)?function(t){return void 0===t?"undefined":i(t)}:function(t){return t&&"function"==typeof n.default&&t.constructor===n.default&&t!==n.default.prototype?"symbol":void 0===t?"undefined":i(t)}},function(t,e){var s=t.exports={version:"2.6.10"};"number"==typeof __e&&(__e=s)},function(t,e,s){t.exports={default:s(207),__esModule:!0}},function(t,e,s){t.exports={default:s(213),__esModule:!0}},function(t,e,s){"use strict";e.__esModule=!0;var r=a(s(205)),n=a(s(201)),i=a(s(2));function a(t){return t&&t.__esModule?t:{default:t}}e.default=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":(0,i.default)(e)));t.prototype=(0,n.default)(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(r.default?(0,r.default)(t,e):t.__proto__=e)}},function(t,e,s){"use strict";e.__esModule=!0;var r,n=s(2),i=(r=n)&&r.__esModule?r:{default:r};e.default=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":(0,i.default)(e))&&"function"!=typeof e?t:e}},function(t,e,s){var r=s(10),n=s(3),i=s(20),a=s(24),o=s(28),u=function(t,e,s){var l,h,c,p=t&u.F,d=t&u.G,f=t&u.S,y=t&u.P,v=t&u.B,m=t&u.W,g=d?n:n[e]||(n[e]={}),x=g.prototype,b=d?r:f?r[e]:(r[e]||{}).prototype;for(l in d&&(s=e),s)(h=!p&&b&&void 0!==b[l])&&o(g,l)||(c=h?b[l]:s[l],g[l]=d&&"function"!=typeof b[l]?s[l]:v&&h?i(c,r):m&&b[l]==c?function(t){var e=function(e,s,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,s)}return new t(e,s,r)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(c):y&&"function"==typeof c?i(Function.call,c):c,y&&((g.virtual||(g.virtual={}))[l]=c,t&u.R&&x&&!x[l]&&a(x,l,c)))};u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=o(s(4)),n=o(s(0)),i=o(s(7)),a=o(s(6));function o(t){return t&&t.__esModule?t:{default:t}}var u=function(t){function e(){return(0,n.default)(this,e),(0,i.default)(this,(e.__proto__||(0,r.default)(e)).apply(this,arguments))}return(0,a.default)(e,t),e}(o(s(178)).default);e.default=u,u.initEnum({CLASS:{description:"Class"},CLASS_METHOD:{description:"Class Method"},MODULE_METHOD:{description:"Module Method"},MODULE:{description:"Module"},NESTED_METHOD:{description:"Nested Method"},PROJECT:{description:"Project"}}),t.exports=e.default},function(t,e){var s=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=s)},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=c(s(100)),n=c(s(16)),i=c(s(22)),a=c(s(23)),o=c(s(15)),u=c(s(2)),l=c(s(0)),h=c(s(1));function c(t){return t&&t.__esModule?t:{default:t}}e.onPluginLoad=function(t){var e=t.eventbus;e.on("typhonjs:object:util:depth:traverse",p.depthTraverse,p),e.on("typhonjs:object:util:get:accessor:list",p.getAccessorList,p),e.on("typhonjs:object:util:safe:access",p.safeAccess,p),e.on("typhonjs:object:util:safe:equal",p.safeEqual,p),e.on("typhonjs:object:util:safe:set",p.safeSet,p),e.on("typhonjs:object:util:safe:set:all",p.safeSetAll,p),e.on("typhonjs:object:util:validate",p.validate,p),e.on("typhonjs:object:util:validate:array",p.validateArray,p),e.on("typhonjs:object:util:validate:entry",p.validateEntry,p),e.on("typhonjs:object:util:validate:entry|array",p.validateEntryOrArray,p)};var p=function(){function t(){(0,l.default)(this,t)}return(0,h.default)(t,null,[{key:"depthTraverse",value:function(t,e){var s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("object"!==(void 0===t?"undefined":(0,u.default)(t)))throw new TypeError("depthTraverse error: 'data' is not an 'object'.");if("function"!=typeof e)throw new TypeError("depthTraverse error: 'func' is not a 'function'.");return function t(e,s,r){if(r)if(Array.isArray(e))for(var n=0;n<e.length;n++)e[n]=t(e[n],s,r);else if("object"===(void 0===e?"undefined":(0,u.default)(e)))for(var i in e)e.hasOwnProperty(i)&&(e[i]=t(e[i],s,r));else e=s(e);else if(Array.isArray(e))for(var a=0;a<e.length;a++)t(e[a],s,r);else if("object"===(void 0===e?"undefined":(0,u.default)(e)))for(var o in e)e.hasOwnProperty(o)&&t(e[o],s,r);else s(e);return e}(t,e,s)}},{key:"getAccessorList",value:function(t){if("object"!==(void 0===t?"undefined":(0,u.default)(t)))throw new TypeError("getAccessorList error: 'data' is not an 'object'.");return function t(e){var s=[];var r=function(r){if(e.hasOwnProperty(r))if("object"===(0,u.default)(e[r])){var n=t(e[r]);n.forEach(function(t){s.push(Array.isArray(t)?r+"."+t.join("."):r+"."+t)})}else s.push(r)};for(var n in e)r(n);return s}(t)}},{key:"safeAccess",value:function(t,e){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;if("object"!==(void 0===t?"undefined":(0,u.default)(t)))return s;if("string"!=typeof e)return s;for(var r=e.split("."),n=0;n<r.length;n++){if(void 0===t[r[n]]||null===t[r[n]])return s;t=t[r[n]]}return t}},{key:"safeBatchSet",value:function(e,s,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"set",i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];if("object"!==(void 0===e?"undefined":(0,u.default)(e)))throw new TypeError("safeBatchSet Error: 'data' is not an 'object'.");if(!Array.isArray(s))throw new TypeError("safeBatchSet Error: 'accessors' is not an 'array'.");"object"===(void 0===r?"undefined":(0,u.default)(r))?s.forEach(function(s){var o=t.safeAccess(r,s,i);t.safeSet(e,s,o,n,a)}):s.forEach(function(s){t.safeSet(e,s,r,n,a)})}},{key:"safeEqual",value:function(e,s){if(void 0===e||null===e||void 0===s||null===s)return!1;for(var r=t.getAccessorList(e),n=0;n<r.length;n++){var i=r[n];if(t.safeAccess(e,i)!==t.safeAccess(s,i))return!1}return!0}},{key:"safeSet",value:function(t,e,s){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"set",n=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];if("object"!==(void 0===t?"undefined":(0,u.default)(t)))throw new TypeError("safeSet Error: 'data' is not an 'object'.");if("string"!=typeof e)throw new TypeError("safeSet Error: 'accessor' is not a 'string'.");for(var i=e.split("."),a=0;a<i.length;a++){if(Array.isArray(t)){var l=+i[a];if(!(0,o.default)(l)||l<0)return!1}if(a===i.length-1)switch(r){case"add":t[i[a]]+=s;break;case"div":t[i[a]]/=s;break;case"mult":t[i[a]]*=s;break;case"set":t[i[a]]=s;break;case"set-undefined":void 0===t[i[a]]&&(t[i[a]]=s);break;case"sub":t[i[a]]-=s}else{if(n&&void 0===t[i[a]]&&(t[i[a]]={}),null===t[i[a]]||"object"!==(0,u.default)(t[i[a]]))return!1;t=t[i[a]]}}return!0}},{key:"safeSetAll",value:function(e,s){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"set",n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if("object"!==(void 0===e?"undefined":(0,u.default)(e)))throw new TypeError("'data' is not an 'object'.");if("object"!==(void 0===s?"undefined":(0,u.default)(s)))throw new TypeError("'accessorValues' is not an 'object'.");var o=!0,l=!1,h=void 0;try{for(var c,p=(0,a.default)((0,i.default)(s));!(o=(c=p.next()).done);o=!0){var d=c.value;s.hasOwnProperty(d)&&t.safeSet(e,d,s[d],r,n)}}catch(t){l=!0,h=t}finally{try{!o&&p.return&&p.return()}finally{if(l)throw h}}}},{key:"validate",value:function(e){var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"data";if("object"!==(void 0===e?"undefined":(0,u.default)(e)))throw new TypeError("'"+r+"' is not an 'object'.");if("object"!==(void 0===s?"undefined":(0,u.default)(s)))throw new TypeError("'validationData' is not an 'object'.");var n=void 0,o=!0,l=!1,h=void 0;try{for(var c,p=(0,a.default)((0,i.default)(s));!(o=(c=p.next()).done);o=!0){var d=c.value;if(s.hasOwnProperty(d)){var f=s[d];switch(f.test){case"array":n=t.validateArray(e,d,f,r);break;case"entry":n=t.validateEntry(e,d,f,r);break;case"entry|array":n=t.validateEntryOrArray(e,d,f,r)}}}}catch(t){l=!0,h=t}finally{try{!o&&p.return&&p.return()}finally{if(l)throw h}}return n}},{key:"validateArray",value:function(e,s){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=i.type,o=void 0===a?void 0:a,l=i.expected,h=void 0===l?void 0:l,c=i.message,p=void 0===c?void 0:c,f=i.required,y=void 0===f||f,v=i.error,m=void 0===v||v,g=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"data",x=t.safeAccess(e,s);if(!y&&void 0===x)return!0;if(!Array.isArray(x)){if(m)throw d(TypeError,"'"+g+"."+s+"' is not an 'array'.");return!1}if("string"==typeof o)for(var b=0;b<x.length;b++)if((0,u.default)(x[b])!==o){if(m){var w="object"===(0,u.default)(x[b])?(0,n.default)(x[b]):x[b];throw d(TypeError,"'"+g+"."+s+"["+b+"]': '"+w+"' is not a '"+o+"'.")}return!1}if(Array.isArray(h)){for(var P=0;P<x.length;P++)if(h.indexOf(x[P])<0){if(m){var E="object"===(0,u.default)(x[P])?(0,n.default)(x[P]):x[P];throw d(Error,"'"+g+"."+s+"["+P+"]': '"+E+"' is not an expected value: "+(0,n.default)(h)+".")}return!1}}else if(h instanceof r.default){for(var _=0;_<x.length;_++)if(!h.has(x[_])){if(m){var k="object"===(0,u.default)(x[_])?(0,n.default)(x[_]):x[_];throw d(Error,"'"+g+"."+s+"["+_+"]': '"+k+"' is not an expected value: "+(0,n.default)(h)+".")}return!1}}else if("function"==typeof h)for(var A=0;A<x.length;A++)try{var T=h(x[A]);if(void 0===T||!T)throw new Error(p)}catch(t){if(m){var S="object"===(0,u.default)(x[A])?(0,n.default)(x[A]):x[A];throw d(Error,"'"+g+"."+s+"["+A+"]': '"+S+"' failed validation: "+t.message+".")}return!1}return!0}},{key:"validateEntry",value:function(e,s){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=i.type,o=void 0===a?void 0:a,l=i.expected,h=void 0===l?void 0:l,c=i.message,p=void 0===c?void 0:c,f=i.required,y=void 0===f||f,v=i.error,m=void 0===v||v,g=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"data",x=t.safeAccess(e,s);if(!y&&void 0===x)return!0;if(o&&(void 0===x?"undefined":(0,u.default)(x))!==o){if(m)throw d(TypeError,"'"+g+"."+s+"' is not a '"+o+"'.");return!1}if(h instanceof r.default&&!h.has(x)||Array.isArray(h)&&h.indexOf(x)<0){if(m){var b="object"===(void 0===x?"undefined":(0,u.default)(x))?(0,n.default)(x):x;throw d(Error,"'"+g+"."+s+"': '"+b+"' is not an expected value: "+(0,n.default)(h)+".")}return!1}if("function"==typeof h)try{var w=h(x);if(void 0===w||!w)throw new Error(p)}catch(t){if(m){var P="object"===(void 0===x?"undefined":(0,u.default)(x))?(0,n.default)(x):x;throw d(Error,"'"+g+"."+s+"': '"+P+"' failed to validate: "+t.message+".")}return!1}return!0}},{key:"validateEntryOrArray",value:function(e,s,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"data",i=t.safeAccess(e,s);return Array.isArray(i)?t.validateArray(e,s,r,n):t.validateEntry(e,s,r,n)}}]),t}();function d(t){var e=new t(arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0);return e._objectValidateError=!0,e}e.default=p},function(t,e,s){var r=s(73)("wks"),n=s(47),i=s(10).Symbol,a="function"==typeof i;(t.exports=function(t){return r[t]||(r[t]=a&&i[t]||(a?i:n)("Symbol."+t))}).store=r},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,s){t.exports=!s(29)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e,s){t.exports={default:s(216),__esModule:!0}},function(t,e,s){t.exports={default:s(220),__esModule:!0}},function(t,e,s){var r=s(18),n=s(129),i=s(76),a=Object.defineProperty;e.f=s(14)?Object.defineProperty:function(t,e,s){if(r(t),e=i(e,!0),r(s),n)try{return a(t,e,s)}catch(t){}if("get"in s||"set"in s)throw TypeError("Accessors not supported!");return"value"in s&&(t[e]=s.value),t}},function(t,e,s){var r=s(13);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,e,s){"use strict";e.__esModule=!0;var r,n=s(61),i=(r=n)&&r.__esModule?r:{default:r};e.default=function(t){if(Array.isArray(t)){for(var e=0,s=Array(t.length);e<t.length;e++)s[e]=t[e];return s}return(0,i.default)(t)}},function(t,e,s){var r=s(40);t.exports=function(t,e,s){if(r(t),void 0===e)return t;switch(s){case 1:return function(s){return t.call(e,s)};case 2:return function(s,r){return t.call(e,s,r)};case 3:return function(s,r,n){return t.call(e,s,r,n)}}return function(){return t.apply(e,arguments)}}},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=h(s(15)),n=h(s(2)),i=h(s(96)),a=h(s(0)),o=h(s(1)),u=(0,i.default)(["","","","",""],["","","","",""]),l=h(s(11));function h(t){return t&&t.__esModule?t:{default:t}}var c=function(){function t(){(0,a.default)(this,t)}return(0,o.default)(t,null,[{key:"compare",value:function(t,e){return t.toLowerCase().localeCompare(e.toLowerCase())}},{key:"incrementIndent",value:function(t){return t+(arguments.length>1&&void 0!==arguments[1]?arguments[1]:3)}},{key:"indent",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return new Array(t+1).join(" ")+e}},{key:"safeStringObject",value:function(t,e,s){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:void 0,a=l.default.safeAccess(e,s);if(void 0===a||Array.isArray(a)&&0===a.length)return"";var o="\n";return(0===r||r>1)&&(o=new Array(r+1).join("\n")),"function"==typeof i?i(u,t,a,n,o):""+t+a+n+o}},{key:"safeStringsObject",value:function(e){for(var s=arguments.length,r=Array(s>1?s-1:0),n=1;n<s;n++)r[n-1]=arguments[n];return t.safeStringsPrependObject.apply(t,["",e].concat(r))}},{key:"safeStringsPrependObject",value:function(e,s){if("object"!==(void 0===s?"undefined":(0,n.default)(s)))return"";for(var r=[],i=!1,a=arguments.length,o=Array(a>2?a-2:0),u=2;u<a;u++)o[u-2]=arguments[u];for(var l=0;l<o.length;l++){var h=o[l],c=i?"":e;if(h instanceof p)i=0===h.newLine,r.push(t.safeStringObject(""+c+h.prependString,s,h.accessor,h.newLine,h.appendString,h.tagFunction));else if("string"==typeof h&&""!==h)r.push(""+c+h);else if("function"==typeof h.toString){var d=h.toString();""!==d&&r.push(""+c+d)}}return r.join("")}},{key:"tagEscapeHTML",value:function(t){for(var e=arguments.length,s=Array(e>1?e-1:0),r=1;r<e;r++)s[r-1]=arguments[r];return s.reduce(function(e,s,r){return e+String(s).replace(/</g,"&lt;").replace(/>/g,"&gt;")+t[r+1]},t[0])}},{key:"SafeEntry",get:function(){return p}}]),t}();e.default=c;var p=function(){function t(e,s){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:void 0;if((0,a.default)(this,t),"string"!=typeof e)throw new TypeError("ctor error: 'prependString' is not a 'string'.");if("string"!=typeof s)throw new TypeError("ctor error: 'accessor' is not a 'string'.");if("string"!=typeof i)throw new TypeError("ctor error: 'appendString' is not a 'string'.");if("function"!=typeof o&&void 0!==o)throw new TypeError("ctor error: 'tagFunction' is not a 'function' or 'undefined'.");if((0,r.default)(n)&&n<0)throw new TypeError("ctor error: 'newLine' is not a positive 'integer' ("+n+").");this._prependString=e,this._accessor=s,this._newLine=n,this._appendString=i,this._tagFunction=o}return(0,o.default)(t,[{key:"accessor",get:function(){return this._accessor}},{key:"appendString",get:function(){return this._appendString}},{key:"newLine",get:function(){return this._newLine}},{key:"prependString",get:function(){return this._prependString}},{key:"tagFunction",get:function(){return this._tagFunction}}]),t}();t.exports=e.default},function(t,e,s){t.exports={default:s(180),__esModule:!0}},function(t,e,s){t.exports={default:s(198),__esModule:!0}},function(t,e,s){var r=s(17),n=s(39);t.exports=s(14)?function(t,e,s){return r.f(t,e,n(1,s))}:function(t,e,s){return t[e]=s,t}},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=_(s(61)),n=_(s(23)),i=_(s(2)),a=_(s(0)),o=_(s(1)),u=_(s(106)),l=_(s(187)),h=_(s(186)),c=_(s(171)),p=_(s(170)),d=_(s(169)),f=_(s(165)),y=_(s(164)),v=_(s(163)),m=_(s(162)),g=_(s(98)),x=_(s(95)),b=_(s(93)),w=_(s(92)),P=_(s(91)),E=_(s(9));function _(t){return t&&t.__esModule?t:{default:t}}var k=new u.default,A=function(){function t(){(0,a.default)(this,t)}return(0,o.default)(t,null,[{key:"addFormat",value:function(t){if("object"!==(void 0===t?"undefined":(0,i.default)(t)))throw new TypeError("addFormat error: 'format' is not an 'object'.");if("string"!=typeof t.name)throw new TypeError("addFormat error: 'format.name' is not a 'string'.");if("string"!=typeof t.extension)throw new TypeError("addFormat error: 'format.extension' is not a 'string' for '"+t.name+"'.");if("string"!=typeof t.type)throw new TypeError("addFormat error: 'format.type' is not a 'string' for '"+t.name+"'.");if("function"!=typeof t.formatReport)throw new TypeError("addFormat error: 'format.formatReport' is not a 'function' for '"+t.name+"'.");if("function"!=typeof t.isSupported)throw new TypeError("addFormat error: 'format.isSupported' is not a 'function' for '"+t.name+"'.");k.set(t.name,t)}},{key:"forEach",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;k.forEach(t,e)}},{key:"forEachExt",value:function(t,e){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,r=!0,i=!1,a=void 0;try{for(var o,u=(0,n.default)(k.values());!(r=(o=u.next()).done);r=!0){var l=o.value;l.extension===t&&e.call(s,l,l.name)}}catch(t){i=!0,a=t}finally{try{!r&&u.return&&u.return()}finally{if(i)throw a}}}},{key:"forEachType",value:function(t,e){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,r=!0,i=!1,a=void 0;try{for(var o,u=(0,n.default)(k.values());!(r=(o=u.next()).done);r=!0){var l=o.value;l.type===t&&e.call(s,l,l.name)}}catch(t){i=!0,a=t}finally{try{!r&&u.return&&u.return()}finally{if(i)throw a}}}},{key:"format",value:function(t,e){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,r=k.get(e);if(void 0===r)throw new Error("format error: unknown formatter name '"+e+"'.");switch(t.type){case E.default.CLASS:case E.default.CLASS_METHOD:case E.default.MODULE_METHOD:case E.default.MODULE:case E.default.NESTED_METHOD:case E.default.PROJECT:return r.formatReport(t,s);default:throw new TypeError("format error: unknown report type '"+t.type+"'.")}}},{key:"getFormats",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0;if(void 0===t)return(0,r.default)(k.values());if(!(t instanceof E.default))throw new TypeError("getFormats error: 'reportType' is not an instance of 'ReportType'.");return(0,r.default)(k.values()).filter(function(e){return e.isSupported(t)})}},{key:"isFormat",value:function(t){return k.has(t)}},{key:"isSupported",value:function(t,e){return!!k.has(t)&&k.get(t).isSupported(e)}},{key:"removeFormat",value:function(t){k.delete(t)}}]),t}();e.default=A,A.addFormat(new l.default),A.addFormat(new h.default),A.addFormat(new c.default),A.addFormat(new p.default),A.addFormat(new d.default),A.addFormat(new f.default),A.addFormat(new y.default),A.addFormat(new v.default),A.addFormat(new m.default),A.addFormat(new g.default),A.addFormat(new x.default),A.addFormat(new b.default),A.addFormat(new w.default),A.addFormat(new P.default),t.exports=e.default},function(t,e,s){var r=s(79);t.exports=function(t){return Object(r(t))}},function(t,e,s){var r=s(75),n=s(79);t.exports=function(t){return r(n(t))}},function(t,e){var s={}.hasOwnProperty;t.exports=function(t,e){return s.call(t,e)}},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,s){"use strict";var r=s(241)(!0);s(78)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,s=this._i;return s>=e.length?{value:void 0,done:!0}:(t=r(e,s),this._i+=t.length,{value:t,done:!1})})},function(t,e,s){t.exports={default:s(242),__esModule:!0}},function(t,e,s){var r=s(8),n=s(3),i=s(29);t.exports=function(t,e){var s=(n.Object||{})[t]||Object[t],a={};a[t]=e(s),r(r.S+r.F*i(function(){s(1)}),"Object",a)}},function(t,e,s){var r=s(20),n=s(122),i=s(121),a=s(18),o=s(48),u=s(69),l={},h={};(e=t.exports=function(t,e,s,c,p){var d,f,y,v,m=p?function(){return t}:u(t),g=r(s,c,e?2:1),x=0;if("function"!=typeof m)throw TypeError(t+" is not iterable!");if(i(m)){for(d=o(t.length);d>x;x++)if((v=e?g(a(f=t[x])[0],f[1]):g(t[x]))===l||v===h)return v}else for(y=m.call(t);!(f=y.next()).done;)if((v=n(y,g,f.value,e))===l||v===h)return v}).BREAK=l,e.RETURN=h},function(t,e,s){s(237);for(var r=s(10),n=s(24),i=s(38),a=s(12)("toStringTag"),o="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".split(","),u=0;u<o.length;u++){var l=o[u],h=r[l],c=h&&h.prototype;c&&!c[a]&&n(c,a,l),i[l]=i.Array}},function(t,e,s){var r=s(17).f,n=s(28),i=s(12)("toStringTag");t.exports=function(t,e,s){t&&!n(t=s?t:t.prototype,i)&&r(t,i,{configurable:!0,value:e})}},function(t,e){var s={}.toString;t.exports=function(t){return s.call(t).slice(8,-1)}},function(t,e,s){var r=s(126),n=s(72);t.exports=Object.keys||function(t){return r(t,n)}},function(t,e){t.exports={}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e){t.exports=!0},function(t,e){function s(t){var e=new Error('Cannot find module "'+t+'".');throw e.code="MODULE_NOT_FOUND",e}s.keys=function(){return[]},s.resolve=s,t.exports=s,s.id=42},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=l(s(2)),n=l(s(16)),i=l(s(19)),a=l(s(0)),o=l(s(1)),u=l(s(153));function l(t){return t&&t.__esModule?t:{default:t}}var h=function(){function t(e,s){if((0,a.default)(this,t),"string"!=typeof e)throw new TypeError("ctor error: metric is not a `string`.");if(!Array.isArray(s))throw new TypeError("ctor error: data is not an `Array`.");this._data=s.map(function(t){return t&&void 0!==t.identifier?new u.default(e,t):new u.default(e,{identifier:t})}),this._metric=e}return(0,o.default)(t,[{key:"forEach",value:function(t,e){this._data.forEach(t,e)}},{key:"get",value:function(t){return this._data[t]}},{key:"valueOf",value:function(){for(var t,e=arguments.length,s=Array(e),r=0;r<e;r++)s[r]=arguments[r];var a=this._data.filter(function(t){return void 0!==t.valueOf.apply(t,s)&&t.filter.apply(t,s)});return(t=[]).concat.apply(t,(0,i.default)(a.map(function(t){return t.valueOf.apply(t,s)}))).map(function(t){return void 0===t&&(console.warn("HalsteadArray valueOf warning: undefined TraitHalstead item entry converted to a 'string'."),t="undefined"),"string"!=typeof t?(0,n.default)(t):t})}},{key:"length",get:function(){return this._data.length}},{key:"metric",get:function(){return this._metric}},{key:"type",get:function(){return(0,r.default)(this._data)}}]),t}();e.default=h,t.exports=e.default},function(t,e,s){t.exports={default:s(173),__esModule:!0}},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,s){var r=s(47)("meta"),n=s(13),i=s(28),a=s(17).f,o=0,u=Object.isExtensible||function(){return!0},l=!s(29)(function(){return u(Object.preventExtensions({}))}),h=function(t){a(t,r,{value:{i:"O"+ ++o,w:{}}})},c=t.exports={KEY:r,NEED:!1,fastKey:function(t,e){if(!n(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!i(t,r)){if(!u(t))return"F";if(!e)return"E";h(t)}return t[r].i},getWeak:function(t,e){if(!i(t,r)){if(!u(t))return!0;if(!e)return!1;h(t)}return t[r].w},onFreeze:function(t){return l&&c.NEED&&u(t)&&!i(t,r)&&h(t),t}}},function(t,e){var s=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++s+r).toString(36))}},function(t,e,s){var r=s(80),n=Math.min;t.exports=function(t){return t>0?n(r(t),9007199254740991):0}},function(t,e,s){var r=s(18),n=s(127),i=s(72),a=s(74)("IE_PROTO"),o=function(){},u=function(){var t,e=s(77)("iframe"),r=i.length;for(e.style.display="none",s(125).appendChild(e),e.src="javascript:",(t=e.contentWindow.document).open(),t.write("<script>document.F=Object<\/script>"),t.close(),u=t.F;r--;)delete u.prototype[i[r]];return u()};t.exports=Object.create||function(t,e){var s;return null!==t?(o.prototype=r(t),s=new o,o.prototype=null,s[a]=t):s=u(),void 0===e?s:n(s,e)}},function(t,e){},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=o(s(15)),n=o(s(0)),i=o(s(1)),a=o(s(11));function o(t){return t&&t.__esModule?t:{default:t}}var u=function(){function t(){(0,n.default)(this,t)}return(0,i.default)(t,null,[{key:"compactMatrix",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,s=[];return t.forEach(function(t,r){var n=[];t.forEach(function(t,s){t===e&&n.push(s)}),n.length>0&&s.push({row:r,cols:n})}),s}},{key:"create2DArray",value:function(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,s=new Array(t),r=0;r<t;r++)s[r]=new Array(t);for(var n=0;n<t;n++)for(var i=0;i<t;i++)s[n][i]=e;return s}},{key:"getMedian",value:function(t){return t.sort(function(t,e){return t-e}),t.length%2?t[(t.length-1)/2]:(t[(t.length-2)/2]+t[t.length/2])/2}},{key:"getPercent",value:function(t,e){return 0===e?0:t/e*100}},{key:"toFixedTraverse",value:function(e){return a.default.depthTraverse(e,t.toFixed,!0)}},{key:"toFixed",value:function(t){return"number"!=typeof t||(0,r.default)(t)?t:Math.round(1e3*t)/1e3}}]),t}();e.default=u,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=w(s(19)),n=w(s(5)),i=w(s(2)),a=w(s(4)),o=w(s(0)),u=w(s(7)),l=w(s(1)),h=w(s(6)),c=w(s(60)),p=w(s(56)),d=w(s(107)),f=w(s(54)),y=w(s(88)),v=w(s(55)),m=w(s(51)),g=w(s(11)),x=w(s(9)),b=w(s(25));function w(t){return t&&t.__esModule?t:{default:t}}var P=function(t){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};(0,o.default)(this,e);var l=(0,u.default)(this,(e.__proto__||(0,a.default)(e)).call(this,new p.default(t,s)));return l.settings="object"===(void 0===r?"undefined":(0,i.default)(r))?(0,n.default)({},r):{},l.classes=[],l.dependencies=[],l.errors=[],l.filePath=void 0,l.lineEnd=s,l.lineStart=t,l.maintainability=0,l.methods=[],l.aggregateAverage=new f.default,l.methodAverage=new f.default,l.srcPath=void 0,l.srcPathAlias=void 0,l}return(0,h.default)(e,t),(0,l.default)(e,[{key:"type",get:function(){return x.default.MODULE}}]),(0,l.default)(e,[{key:"clearErrors",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.errors=[],t&&(this.classes.forEach(function(t){t.clearErrors()}),this.methods.forEach(function(t){t.clearErrors()}))}},{key:"finalize",value:function(){return m.default.toFixedTraverse(this)}},{key:"getErrors",value:function(){var t,e=this,s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{includeChildren:!0,includeReports:!1};if("object"!==(void 0===s?"undefined":(0,i.default)(s)))throw new TypeError("getErrors error: 'options' is not an 'object'.");"boolean"!=typeof s.includeChildren&&(s.includeChildren=!0);var n=s.includeReports?this.errors.map(function(t){return{error:t,source:e}}):(t=[]).concat.apply(t,(0,r.default)(this.errors));if(s.includeChildren)if(s.includeReports){var a,o=[];this.methods.forEach(function(t){o.push.apply(o,(0,r.default)(t.getErrors(s)))}),this.classes.forEach(function(t){o.push.apply(o,(0,r.default)(t.getErrors(s)))}),o.forEach(function(t){t.module=e}),(a=n).push.apply(a,o)}else this.methods.forEach(function(t){var e;(e=n).push.apply(e,(0,r.default)(t.getErrors(s)))}),this.classes.forEach(function(t){var e;(e=n).push.apply(e,(0,r.default)(t.getErrors(s)))});return"object"===(0,i.default)(s.query)&&(n=n.filter(function(t){return g.default.safeEqual(s.query,t)})),n}},{key:"getName",value:function(){return"string"==typeof this.srcPath?this.srcPath:""}},{key:"getSetting",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if("string"!=typeof t||""===t)throw new TypeError("getSetting error: 'key' is not a 'string' or is empty.");return"object"===(0,i.default)(this.settings)&&void 0!==this.settings[t]?this.settings[t]:e}},{key:"setSetting",value:function(t,e){if("string"!=typeof t||""===t)throw new TypeError("setSetting error: 'key' is not a 'string' or is empty.");return"object"===this.settings&&(this.settings[t]=e,!0)}}],[{key:"getFormats",value:function(){return b.default.getFormats(x.default.MODULE)}},{key:"parse",value:function(t){if("object"!==(void 0===t?"undefined":(0,i.default)(t)))throw new TypeError("parse error: 'object' is not an 'object'.");var s=(0,n.default)(new e,t);return s.classes.length>0&&(s.classes=s.classes.map(function(t){return d.default.parse(t)})),s.errors.length>0&&(s.errors=s.errors.map(function(t){return v.default.parse(t)})),s.methods.length>0&&(s.methods=s.methods.map(function(t){return y.default.parse(t)})),s}}]),e}(c.default);e.default=P,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=a(s(2)),n=a(s(0)),i=a(s(1));function a(t){return t&&t.__esModule?t:{default:t}}var o=function(){function t(){(0,n.default)(this,t)}return(0,i.default)(t,null,[{key:"safeArray",value:function(t){return void 0===t||null===t?[]:Array.isArray(t)?t:[t]}},{key:"safeName",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return null!==t&&"object"===(void 0===t?"undefined":(0,r.default)(t))&&"string"==typeof t.name&&""!==t.name?t.name:"string"==typeof e&&""!==e?e:"<anonymous>"}},{key:"safeValue",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return null!==t&&"object"===(void 0===t?"undefined":(0,r.default)(t))&&"string"==typeof t.value&&""!==t.value?t.value:"string"==typeof e&&""!==e?e:"<anonymous>"}}]),t}();e.default=o,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=o(s(0)),n=o(s(1)),i=o(s(160)),a=o(s(11));function o(t){return t&&t.__esModule?t:{default:t}}var u=function(){function t(){(0,r.default)(this,t),this.cyclomatic=0,this.cyclomaticDensity=0,this.halstead=new i.default,this.paramCount=0,this.sloc={logical:0,physical:0}}return(0,n.default)(t,[{key:"keys",get:function(){return l}}]),t}();e.default=u;var l=a.default.getAccessorList(new u);t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=u(s(5)),n=u(s(2)),i=u(s(0)),a=u(s(1)),o=u(s(9));function u(t){return t&&t.__esModule?t:{default:t}}var l=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"<unknown>",s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;(0,i.default)(this,t),this.lineStart="object"===(void 0===r?"undefined":(0,n.default)(r))?r.lineStart:0,this.lineEnd="object"===(void 0===r?"undefined":(0,n.default)(r))?r.lineEnd:0,this.severity=e,this.message=s,this.name="object"===(void 0===r?"undefined":(0,n.default)(r))?r.getName():"",this.type="object"===(void 0===r?"undefined":(0,n.default)(r))?r.type:void 0}return(0,a.default)(t,[{key:"toString",value:function(){return"("+this.severity+") "+this.message+" @ "+this.type.description+" "+(""!==this.name?"- "+this.name+" ":"")+"("+this.lineStart+" - "+this.lineEnd+")"}}],[{key:"parse",value:function(e){if("object"!==(void 0===e?"undefined":(0,n.default)(e)))throw new TypeError("parse error: 'object' is not an 'object'.");var s=(0,r.default)(new t,e);return s.type=o.default.enumValueOf(e.type.name),s}}]),t}();e.default=l,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=l(s(4)),n=l(s(0)),i=l(s(7)),a=l(s(6)),o=l(s(60)),u=l(s(161));function l(t){return t&&t.__esModule?t:{default:t}}var h=function(t){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;(0,n.default)(this,e);var o=(0,i.default)(this,(e.__proto__||(0,r.default)(e)).call(this));return o.cyclomatic=a,o.cyclomaticDensity=0,o.halstead=new u.default,o.paramCount=0,o.sloc={logical:0,physical:s-t+1},o}return(0,a.default)(e,t),e}(o.default);e.default=h,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=p(s(96)),n=p(s(19)),i=p(s(5)),a=p(s(0)),o=p(s(1)),u=(0,r.default)(["",""],["",""]),l=p(s(11)),h=p(s(9)),c=p(s(21));function p(t){return t&&t.__esModule?t:{default:t}}var d=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,a.default)(this,t),this._headers=e,this._keys=s}return(0,o.default)(t,[{key:"formatReport",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=(0,i.default)({},this._keys,e),r=void 0;switch(t.type){case h.default.CLASS:r=this._formatClass(t,s).replace(/^[\n]/,"");break;case h.default.CLASS_METHOD:r=this._formatMethod(t,s,"",!1).replace(/^[\n]/,"");break;case h.default.MODULE_METHOD:r=this._formatMethod(t,s).replace(/^[\n]/,"");break;case h.default.MODULE:r=this._formatModule(t,s);break;case h.default.NESTED_METHOD:r=this._formatMethod(t,s,"",!1).replace(/^[\n]/,"");break;case h.default.PROJECT:r=this._formatProject(t,s);break;default:return console.warn("formatReport '"+this.name+"' warning: unsupported report type '"+t.type+"'."),""}return r}},{key:"_formatClass",value:function(t,e){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";if(!Array.isArray(this._headers.classReport))return"";var r="boolean"!=typeof e.indent||e.indent?" ":"",i="boolean"!=typeof e.indent||e.indent?" ":"";return""+c.default.safeStringsPrependObject.apply(c.default,[s,t].concat((0,n.default)(this._headers.classReport),(0,n.default)(this._formatEntries(t,e.classReport,r))))+this._formatMethods(t.methods,e,i,!1)}},{key:"_formatClasses",value:function(t,e){var s=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return Array.isArray(t)?t.reduce(function(t,n){return""+t+s._formatClass(n,e,r)},""):""}},{key:"_formatEntries",value:function(t,e){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";if(!Array.isArray(e))return"";var n="string"==typeof this._headers.entryPrepend?this._headers.entryPrepend:"",i="function"==typeof this._headers.entryTemplateTag?this._headers.entryTemplateTag:void 0,a=[];return e.forEach(function(e){var o=e instanceof c.default.SafeEntry?e.accessor:e,h=l.default.safeAccess(t,o);if(void 0!==h){var p="";if((h=Array.isArray(h)?h:[h]).length>0){var d={};h.forEach(function(t,i){i>0&&(p+=r),"string"==typeof e?p+=""+s+n+e+": "+t+"\n":(l.default.safeSet(d,o,t),p+=c.default.safeStringsPrependObject(""+s+n,d,e))})}""!==(p=i?i(u,p):p)&&a.push(p)}}),a}},{key:"_formatMethod",value:function(t,e){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(!Array.isArray(this._headers.classMethod)||!Array.isArray(this._headers.moduleMethod))return"";var i="boolean"!=typeof e.indent||e.indent?" ":"";return c.default.safeStringsPrependObject.apply(c.default,[s,t].concat((0,n.default)(r?this._headers.moduleMethod:this._headers.classMethod),(0,n.default)(this._formatEntries(t,e.methodReport,i,s))))}},{key:"_formatMethods",value:function(t,e){var s=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];return Array.isArray(t)?t.reduce(function(t,i){return""+t+s._formatMethod(i,e,r,n)},""):""}},{key:"_formatModule",value:function(t,e){var s="";try{t.___modulecntr___=0,t.___modulecntrplus1___=1,s=this._formatModuleReport(t,!0,e)}finally{delete t.___modulecntr___,delete t.___modulecntrplus1___}return s.replace(/^[\n]/,"")}},{key:"_formatModuleReport",value:function(t,e,s){if(!Array.isArray(this._headers.moduleReport))return"";var r="boolean"!=typeof s.indent||s.indent?" ":"";return e?c.default.safeStringsObject.apply(c.default,[t].concat((0,n.default)(this._headers.moduleReport),(0,n.default)(this._formatEntries(t,s.moduleReport,r)),[this._formatMethods(t.methods,s,r,!0),this._formatClasses(t.classes,s,r)])):c.default.safeStringsObject.apply(c.default,[t].concat((0,n.default)(this._headers.moduleReport)))}},{key:"_formatProject",value:function(t,e){var s=this,r=t.getSetting("serializeModules",!1);return t.modules.reduce(function(t,n,i){var a="";try{n.___modulecntr___=i,n.___modulecntrplus1___=i+1,a=""+t+s._formatModuleReport(n,r,e)}finally{delete n.___modulecntr___,delete n.___modulecntrplus1___}return a},""+this._formatProjectReport(t,e))}},{key:"_formatProjectReport",value:function(t,e){if(!Array.isArray(this._headers.projectReport))return"";var s="boolean"!=typeof e.indent||e.indent?" ":"";return c.default.safeStringsObject.apply(c.default,[t].concat((0,n.default)(this._headers.projectReport),(0,n.default)(this._formatEntries(t,e.projectReport,s))))}}]),t}();e.default=d,t.exports=e.default},function(t,e,s){t.exports={default:s(175),__esModule:!0}},function(t,e,s){var r=s(13);t.exports=function(t,e){if(!r(t)||t._t!==e)throw TypeError("Incompatible receiver, "+e+" required!");return t}},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=a(s(0)),n=a(s(1)),i=a(s(25));function a(t){return t&&t.__esModule?t:{default:t}}var o=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0;(0,r.default)(this,t),this.aggregate=e}return(0,n.default)(t,[{key:"toFormat",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;return i.default.format(this,t,e)}},{key:"aggregateReport",get:function(){return void 0!==this.aggregate?this.aggregate:this}}]),t}();e.default=o,t.exports=e.default},function(t,e,s){t.exports={default:s(210),__esModule:!0}},function(t,e,s){var r=s(45),n=s(39),i=s(27),a=s(76),o=s(28),u=s(129),l=Object.getOwnPropertyDescriptor;e.f=s(14)?l:function(t,e){if(t=i(t),e=a(e,!0),u)try{return l(t,e)}catch(t){}if(o(t,e))return n(!r.f.call(t,e),t[e])}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,s){var r=s(10),n=s(3),i=s(41),a=s(65),o=s(17).f;t.exports=function(t){var e=n.Symbol||(n.Symbol=i?{}:r.Symbol||{});"_"==t.charAt(0)||t in e||o(e,t,{value:a.f(t)})}},function(t,e,s){e.f=s(12)},function(t,e,s){t.exports={default:s(229),__esModule:!0}},function(t,e,s){var r=s(24);t.exports=function(t,e,s){for(var n in e)s&&t[n]?t[n]=e[n]:r(t,n,e[n]);return t}},function(t,e,s){"use strict";var r=s(40);t.exports.f=function(t){return new function(t){var e,s;this.promise=new t(function(t,r){if(void 0!==e||void 0!==s)throw TypeError("Bad Promise constructor");e=t,s=r}),this.resolve=r(e),this.reject=r(s)}(t)}},function(t,e,s){var r=s(71),n=s(12)("iterator"),i=s(38);t.exports=s(3).getIteratorMethod=function(t){if(void 0!=t)return t[n]||t["@@iterator"]||i[r(t)]}},function(t,e){t.exports=function(t,e,s,r){if(!(t instanceof e)||void 0!==r&&r in t)throw TypeError(s+": incorrect invocation!");return t}},function(t,e,s){var r=s(36),n=s(12)("toStringTag"),i="Arguments"==r(function(){return arguments}());t.exports=function(t){var e,s,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(s=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),n))?s:i?r(e):"Object"==(a=r(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,s){var r=s(3),n=s(10),i=n["__core-js_shared__"]||(n["__core-js_shared__"]={});(t.exports=function(t,e){return i[t]||(i[t]=void 0!==e?e:{})})("versions",[]).push({version:r.version,mode:s(41)?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,e,s){var r=s(73)("keys"),n=s(47);t.exports=function(t){return r[t]||(r[t]=n(t))}},function(t,e,s){var r=s(36);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e,s){var r=s(13);t.exports=function(t,e){if(!r(t))return t;var s,n;if(e&&"function"==typeof(s=t.toString)&&!r(n=s.call(t)))return n;if("function"==typeof(s=t.valueOf)&&!r(n=s.call(t)))return n;if(!e&&"function"==typeof(s=t.toString)&&!r(n=s.call(t)))return n;throw TypeError("Can't convert object to primitive value")}},function(t,e,s){var r=s(13),n=s(10).document,i=r(n)&&r(n.createElement);t.exports=function(t){return i?n.createElement(t):{}}},function(t,e,s){"use strict";var r=s(41),n=s(8),i=s(128),a=s(24),o=s(38),u=s(240),l=s(35),h=s(124),c=s(12)("iterator"),p=!([].keys&&"next"in[].keys()),d=function(){return this};t.exports=function(t,e,s,f,y,v,m){u(s,e,f);var g,x,b,w=function(t){if(!p&&t in k)return k[t];switch(t){case"keys":case"values":return function(){return new s(this,t)}}return function(){return new s(this,t)}},P=e+" Iterator",E="values"==y,_=!1,k=t.prototype,A=k[c]||k["@@iterator"]||y&&k[y],T=A||w(y),S=y?E?w("entries"):T:void 0,C="Array"==e&&k.entries||A;if(C&&(b=h(C.call(new t)))!==Object.prototype&&b.next&&(l(b,P,!0),r||"function"==typeof b[c]||a(b,c,d)),E&&A&&"values"!==A.name&&(_=!0,T=function(){return A.call(this)}),r&&!m||!p&&!_&&k[c]||a(k,c,T),o[e]=T,o[P]=d,y)if(g={values:E?T:w("values"),keys:v?T:w("keys"),entries:S},m)for(x in g)x in k||i(k,x,g[x]);else n(n.P+n.F*(p||_),e,g);return g}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e){var s=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:s)(t)}},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=u(s(22)),n=u(s(23)),i=u(s(0)),a=u(s(1)),o=u(s(140));function u(t){return t&&t.__esModule?t:{default:t}}var l=function(){function t(e){if((0,i.default)(this,t),!(e instanceof o.default))throw new TypeError("'eventbus' is not an instance of TyphonEvents.");this._eventbus=e,this._events=[]}return(0,a.default)(t,[{key:"createEventProxy",value:function(){return new t(this._eventbus)}},{key:"destroy",value:function(){if(null===this._eventbus)throw new ReferenceError("This EventProxy instance has been destroyed.");var t=!0,e=!1,s=void 0;try{for(var r,i=(0,n.default)(this._events);!(t=(r=i.next()).done);t=!0){var a=r.value;this._eventbus.off(a.name,a.callback,a.context)}}catch(t){e=!0,s=t}finally{try{!t&&i.return&&i.return()}finally{if(e)throw s}}this._events=[],this._eventbus=null}},{key:"getEventNames",value:function(){if(!this._events)return[];var t={},e=!0,s=!1,i=void 0;try{for(var a,o=(0,n.default)(this._events);!(e=(a=o.next()).done);e=!0){t[a.value.name]=!0}}catch(t){s=!0,i=t}finally{try{!e&&o.return&&o.return()}finally{if(s)throw i}}return(0,r.default)(t)}},{key:"forEachEvent",value:function(t){if("function"!=typeof t)throw new TypeError("'callback' is not a 'function'.");var e=!0,s=!1,r=void 0;try{for(var i,a=(0,n.default)(this._events);!(e=(i=a.next()).done);e=!0){var o=i.value;t(o.name,o.callback,o.context)}}catch(t){s=!0,r=t}finally{try{!e&&a.return&&a.return()}finally{if(s)throw r}}}},{key:"getEventbusName",value:function(){if(null===this._eventbus)throw new ReferenceError("This EventProxy instance has been destroyed.");return this._eventbus.getEventbusName()}},{key:"off",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;if(null===this._eventbus)throw new ReferenceError("This EventProxy instance has been destroyed.");var r=void 0!==t&&null!==t,i=void 0!==e&&null!==e,a=void 0!==s&&null!==s;if(r||i||a){var o={};r&&(o.name=t),i&&(o.callback=e),a&&(o.context=s);for(var u=this._events.length;--u>=0;){var l=this._events[u],h=!0;for(var c in o)if(l[c]!==o[c]){h=!1;break}h&&(this._eventbus.off(o.name,o.callback,o.context),this._events.splice(u,1))}}else{var p=!0,d=!1,f=void 0;try{for(var y,v=(0,n.default)(this._events);!(p=(y=v.next()).done);p=!0){var m=y.value;this._eventbus.off(m.name,m.callback,m.context)}}catch(t){d=!0,f=t}finally{try{!p&&v.return&&v.return()}finally{if(d)throw f}}this._events=[]}return this}},{key:"on",value:function(t,e){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;if(null===this._eventbus)throw new ReferenceError("This EventProxy instance has been destroyed.");return this._eventbus.on(t,e,s),this._events.push({name:t,callback:e,context:s}),this}},{key:"trigger",value:function(){var t;if(null===this._eventbus)throw new ReferenceError("This EventProxy instance has been destroyed.");return(t=this._eventbus).trigger.apply(t,arguments),this}},{key:"triggerAsync",value:function(){var t;if(null===this._eventbus)throw new ReferenceError("This EventProxy instance has been destroyed.");return(t=this._eventbus).triggerAsync.apply(t,arguments)}},{key:"triggerDefer",value:function(){var t;if(null===this._eventbus)throw new ReferenceError("This EventProxy instance has been destroyed.");return(t=this._eventbus).triggerDefer.apply(t,arguments),this}},{key:"triggerSync",value:function(){var t;if(null===this._eventbus)throw new ReferenceError("This EventProxy instance has been destroyed.");return(t=this._eventbus).triggerSync.apply(t,arguments)}},{key:"eventCount",get:function(){return this._events.length}}]),t}();e.default=l,t.exports=e.default},function(t,e,s){"use strict";e.__esModule=!0;var r,n=s(31),i=(r=n)&&r.__esModule?r:{default:r};e.default=function(t){return function(){var e=t.apply(this,arguments);return new i.default(function(t,s){return function r(n,a){try{var o=e[n](a),u=o.value}catch(t){return void s(t)}if(!o.done)return i.default.resolve(u).then(function(t){r("next",t)},function(t){r("throw",t)});t(u)}("next")})}}},function(t,e,s){t.exports=s(143)},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=_(s(4)),n=_(s(58)),i=_(s(5)),a=_(s(19)),o=_(s(66)),u=_(s(61)),l=_(s(22)),h=_(s(31)),c=_(s(23)),p=_(s(83)),d=_(s(82)),f=_(s(16)),y=_(s(106)),v=_(s(2)),m=_(s(0)),g=_(s(1)),x=_(s(109)),b=_(s(141)),w=_(s(81)),P=_(s(138)),E=_(s(137));function _(t){return t&&t.__esModule?t:{default:t}}var k=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if((0,m.default)(this,t),"object"!==(void 0===e?"undefined":(0,v.default)(e)))throw new TypeError("'options' is not an object.");this._pluginMap=new y.default,this._eventbus=null,this._extraEventData=s,this._options={pluginsEnabled:!0,noEventAdd:!1,noEventDestroy:!1,noEventOptions:!0,noEventRemoval:!1,throwNoMethod:!1,throwNoPlugin:!1},"object"===(0,v.default)(e.eventbus)&&this.setEventbus(e.eventbus,e.eventPrepend),this.setOptions(e)}return(0,g.default)(t,[{key:"add",value:function(t,e){if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");if("object"!==(void 0===t?"undefined":(0,v.default)(t)))throw new TypeError("'pluginConfig' is not an 'object'.");if("string"!=typeof t.name)throw new TypeError("'pluginConfig.name' is not a 'string' for entry: "+(0,f.default)(t)+".");if(void 0!==t.target&&"string"!=typeof t.target)throw new TypeError("'pluginConfig.target' is not a string for entry: "+(0,f.default)(t)+".");if(void 0!==t.options&&"object"!==(0,v.default)(t.options))throw new TypeError("'pluginConfig.options' is not an 'object' for entry: "+(0,f.default)(t)+".");if(void 0!==e&&"object"!==(void 0===e?"undefined":(0,v.default)(e)))throw new TypeError("'moduleData' is not an 'object' for entry: "+(0,f.default)(t)+".");if(!this._pluginMap.has(t.name)){var r=void 0,n=void 0,i=void 0;"object"===(0,v.default)(t.instance)||"function"==typeof t.instance?(r=t.instance,n=t.name,i="instance"):(n=t.target||t.name).match(/^[.\/\\]/)?(r=s(42)(x.default.resolve(n)),i="require-path"):(r=s(42)(n),i="require-module");var a=JSON.parse((0,f.default)({manager:{eventPrepend:this._eventPrepend},module:e||{},plugin:{name:t.name,scopedName:this._eventPrepend+":"+t.name,target:n,targetEscaped:P.default.escape(n),type:i,options:t.options||{}}}));b.default.deepFreeze(a,["eventPrepend","scopedName"]);var o=null!==this._eventbus&&void 0!==this._eventbus?new w.default(this._eventbus):void 0,u=new P.default(t.name,a,r,o);return this._pluginMap.set(t.name,u),S("onPluginLoad",{},{},this._extraEventData,t.name,this._pluginMap,this._options,!1),this._eventbus&&this._eventbus.trigger("typhonjs:plugin:manager:plugin:added",a),a}null!==this._eventbus&&void 0!==this._eventbus&&this._eventbus.trigger("log:warn","A plugin already exists with name: "+t.name+".")}},{key:"addAsync",value:function(){var t=(0,d.default)(p.default.mark(function t(e,r){var n,i,a,o,u,l;return p.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(null!==this._pluginMap){t.next=2;break}throw new ReferenceError("This PluginManager instance has been destroyed.");case 2:if("object"===(void 0===e?"undefined":(0,v.default)(e))){t.next=4;break}throw new TypeError("'pluginConfig' is not an 'object'.");case 4:if("string"==typeof e.name){t.next=6;break}throw new TypeError("'pluginConfig.name' is not a 'string' for entry: "+(0,f.default)(e)+".");case 6:if(void 0===e.target||"string"==typeof e.target){t.next=8;break}throw new TypeError("'pluginConfig.target' is not a string for entry: "+(0,f.default)(e)+".");case 8:if(void 0===e.options||"object"===(0,v.default)(e.options)){t.next=10;break}throw new TypeError("'pluginConfig.options' is not an 'object' for entry: "+(0,f.default)(e)+".");case 10:if(void 0===r||"object"===(void 0===r?"undefined":(0,v.default)(r))){t.next=12;break}throw new TypeError("'moduleData' is not an 'object' for entry: "+(0,f.default)(e)+".");case 12:if(!this._pluginMap.has(e.name)){t.next=15;break}return null!==this._eventbus&&void 0!==this._eventbus&&this._eventbus.trigger("log:warn","A plugin already exists with name: "+e.name+"."),t.abrupt("return",void 0);case 15:return n=void 0,i=void 0,a=void 0,"object"===(0,v.default)(e.instance)||"function"==typeof e.instance?(n=e.instance,i=e.name,a="instance"):(i=e.target||e.name).match(/^[.\/\\]/)?(n=s(42)(x.default.resolve(i)),a="require-path"):(n=s(42)(i),a="require-module"),o=JSON.parse((0,f.default)({manager:{eventPrepend:this._eventPrepend},module:r||{},plugin:{name:e.name,scopedName:this._eventPrepend+":"+e.name,target:i,targetEscaped:P.default.escape(i),type:a,options:e.options||{}}})),b.default.deepFreeze(o,["eventPrepend","scopedName"]),u=null!==this._eventbus&&void 0!==this._eventbus?new w.default(this._eventbus):void 0,l=new P.default(e.name,o,n,u),this._pluginMap.set(e.name,l),t.next=24,T("onPluginLoad",{},{},this._extraEventData,e.name,this._pluginMap,this._options,!1);case 24:if(!this._eventbus){t.next=27;break}return t.next=27,this._eventbus.triggerAsync("typhonjs:plugin:manager:plugin:added",o);case 27:return t.abrupt("return",o);case 28:case"end":return t.stop()}},t,this)}));return function(e,s){return t.apply(this,arguments)}}()},{key:"addAll",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments[1];if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");if(!Array.isArray(t))throw new TypeError("'plugins' is not an array.");var s=[],r=!0,n=!1,i=void 0;try{for(var a,o=(0,c.default)(t);!(r=(a=o.next()).done);r=!0){var u=a.value,l=this.add(u,e);l&&s.push(l)}}catch(t){n=!0,i=t}finally{try{!r&&o.return&&o.return()}finally{if(n)throw i}}return s}},{key:"addAllAsync",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments[1];if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");if(!Array.isArray(t))throw new TypeError("'plugins' is not an array.");var s=[],r=!0,n=!1,i=void 0;try{for(var a,o=(0,c.default)(t);!(r=(a=o.next()).done);r=!0){var u=a.value,l=this.addAsync(u,e);l&&s.push(l)}}catch(t){n=!0,i=t}finally{try{!r&&o.return&&o.return()}finally{if(n)throw i}}return h.default.all(s)}},{key:"_addEventbus",value:function(t,e){if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");return this._options.noEventAdd?void 0:this.add(t,e)}},{key:"_addEventbusAsync",value:function(t,e){if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");return this._options.noEventAdd?h.default.resolve(void 0):this.addAsync(t,e)}},{key:"_addAllEventbus",value:function(t,e){if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");if(!this._options.noEventAdd)return this.addAll(t,e)}},{key:"_addAllEventbusAsync",value:function(t,e){if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");if(!this._options.noEventAdd)return this.addAllAsync(t,e)}},{key:"createEventProxy",value:function(){return null!==this._eventbus?new w.default(this._eventbus):void 0}},{key:"destroy",value:function(){if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");this.removeAll(),null!==this._eventbus&&void 0!==this._eventbus&&(this._eventbus.off(this._eventPrepend+":add",this._addEventbus,this),this._eventbus.off(this._eventPrepend+":add:all",this._addAllEventbus,this),this._eventbus.off(this._eventPrepend+":async:add",this._addEventbusAsync,this),this._eventbus.off(this._eventPrepend+":async:add:all",this._addAllEventbusAsync,this),this._eventbus.off(this._eventPrepend+":async:destroy:manager",this._destroyEventbusAsync,this),this._eventbus.off(this._eventPrepend+":async:invoke",this.invokeAsync,this),this._eventbus.off(this._eventPrepend+":async:invoke:event",this.invokeAsyncEvent,this),this._eventbus.off(this._eventPrepend+":async:remove",this._removeEventbusAsync,this),this._eventbus.off(this._eventPrepend+":async:remove:all",this._removeAllEventbusAsync,this),this._eventbus.off(this._eventPrepend+":create:event:proxy",this.createEventProxy,this),this._eventbus.off(this._eventPrepend+":destroy:manager",this._destroyEventbus,this),this._eventbus.off(this._eventPrepend+":get:all:plugin:data",this.getAllPluginData,this),this._eventbus.off(this._eventPrepend+":get:extra:event:data",this.getExtraEventData,this),this._eventbus.off(this._eventPrepend+":get:method:names",this.getMethodNames,this),this._eventbus.off(this._eventPrepend+":get:options",this.getOptions,this),this._eventbus.off(this._eventPrepend+":get:plugin:enabled",this.getPluginEnabled,this),this._eventbus.off(this._eventPrepend+":get:plugin:data",this.getPluginData,this),this._eventbus.off(this._eventPrepend+":get:plugin:event:names",this.getPluginEventNames,this),this._eventbus.off(this._eventPrepend+":get:plugin:method:names",this.getPluginMethodNames,this),this._eventbus.off(this._eventPrepend+":get:plugin:names",this.getPluginNames,this),this._eventbus.off(this._eventPrepend+":get:plugin:options",this.getPluginOptions,this),this._eventbus.off(this._eventPrepend+":get:plugins:enabled",this.getPluginsEnabled,this),this._eventbus.off(this._eventPrepend+":get:plugins:by:event:name",this.getPluginsByEventName,this),this._eventbus.off(this._eventPrepend+":get:plugins:event:names",this.getPluginsEventNames,this),this._eventbus.off(this._eventPrepend+":has:method",this.hasMethod,this),this._eventbus.off(this._eventPrepend+":has:plugin",this.hasPlugin,this),this._eventbus.off(this._eventPrepend+":has:plugin:method",this.hasPluginMethod,this),this._eventbus.off(this._eventPrepend+":invoke",this.invoke,this),this._eventbus.off(this._eventPrepend+":is:valid:config",this.isValidConfig,this),this._eventbus.off(this._eventPrepend+":remove",this._removeEventbus,this),this._eventbus.off(this._eventPrepend+":remove:all",this._removeAllEventbus,this),this._eventbus.off(this._eventPrepend+":set:extra:event:data",this.setExtraEventData,this),this._eventbus.off(this._eventPrepend+":set:options",this._setOptionsEventbus,this),this._eventbus.off(this._eventPrepend+":set:plugin:enabled",this.setPluginEnabled,this),this._eventbus.off(this._eventPrepend+":set:plugins:enabled",this.setPluginsEnabled,this),this._eventbus.off(this._eventPrepend+":sync:invoke",this.invokeSync,this),this._eventbus.off(this._eventPrepend+":sync:invoke:event",this.invokeSyncEvent,this)),this._pluginMap=null,this._eventbus=null}},{key:"destroyAsync",value:function(){var t=(0,d.default)(p.default.mark(function t(){return p.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(null!==this._pluginMap){t.next=2;break}throw new ReferenceError("This PluginManager instance has been destroyed.");case 2:return t.next=4,this.removeAll();case 4:null!==this._eventbus&&void 0!==this._eventbus&&(this._eventbus.off(this._eventPrepend+":add",this._addEventbus,this),this._eventbus.off(this._eventPrepend+":add:all",this._addAllEventbus,this),this._eventbus.off(this._eventPrepend+":async:add",this._addEventbusAsync,this),this._eventbus.off(this._eventPrepend+":async:add:all",this._addAllEventbusAsync,this),this._eventbus.off(this._eventPrepend+":async:destroy:manager",this._destroyEventbusAsync,this),this._eventbus.off(this._eventPrepend+":async:invoke",this.invokeAsync,this),this._eventbus.off(this._eventPrepend+":async:invoke:event",this.invokeAsyncEvent,this),this._eventbus.off(this._eventPrepend+":async:remove",this._removeEventbusAsync,this),this._eventbus.off(this._eventPrepend+":async:remove:all",this._removeAllEventbusAsync,this),this._eventbus.off(this._eventPrepend+":create:event:proxy",this.createEventProxy,this),this._eventbus.off(this._eventPrepend+":destroy:manager",this._destroyEventbus,this),this._eventbus.off(this._eventPrepend+":get:all:plugin:data",this.getAllPluginData,this),this._eventbus.off(this._eventPrepend+":get:extra:event:data",this.getExtraEventData,this),this._eventbus.off(this._eventPrepend+":get:method:names",this.getMethodNames,this),this._eventbus.off(this._eventPrepend+":get:options",this.getOptions,this),this._eventbus.off(this._eventPrepend+":get:plugin:enabled",this.getPluginEnabled,this),this._eventbus.off(this._eventPrepend+":get:plugin:data",this.getPluginData,this),this._eventbus.off(this._eventPrepend+":get:plugin:event:names",this.getPluginEventNames,this),this._eventbus.off(this._eventPrepend+":get:plugin:method:names",this.getPluginMethodNames,this),this._eventbus.off(this._eventPrepend+":get:plugin:names",this.getPluginNames,this),this._eventbus.off(this._eventPrepend+":get:plugin:options",this.getPluginOptions,this),this._eventbus.off(this._eventPrepend+":get:plugins:enabled",this.getPluginsEnabled,this),this._eventbus.off(this._eventPrepend+":get:plugins:by:event:name",this.getPluginsByEventName,this),this._eventbus.off(this._eventPrepend+":get:plugins:event:names",this.getPluginsEventNames,this),this._eventbus.off(this._eventPrepend+":has:method",this.hasMethod,this),this._eventbus.off(this._eventPrepend+":has:plugin",this.hasPlugin,this),this._eventbus.off(this._eventPrepend+":has:plugin:method",this.hasPluginMethod,this),this._eventbus.off(this._eventPrepend+":invoke",this.invoke,this),this._eventbus.off(this._eventPrepend+":is:valid:config",this.isValidConfig,this),this._eventbus.off(this._eventPrepend+":remove",this._removeEventbus,this),this._eventbus.off(this._eventPrepend+":remove:all",this._removeAllEventbus,this),this._eventbus.off(this._eventPrepend+":set:extra:event:data",this.setExtraEventData,this),this._eventbus.off(this._eventPrepend+":set:options",this._setOptionsEventbus,this),this._eventbus.off(this._eventPrepend+":set:plugin:enabled",this.setPluginEnabled,this),this._eventbus.off(this._eventPrepend+":set:plugins:enabled",this.setPluginsEnabled,this),this._eventbus.off(this._eventPrepend+":sync:invoke",this.invokeSync,this),this._eventbus.off(this._eventPrepend+":sync:invoke:event",this.invokeSyncEvent,this)),this._pluginMap=null,this._eventbus=null;case 7:case"end":return t.stop()}},t,this)}));return function(){return t.apply(this,arguments)}}()},{key:"_destroyEventbus",value:function(){if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");this._options.noEventDestroy||this.destroy()}},{key:"_destroyEventbusAsync",value:function(){var t=(0,d.default)(p.default.mark(function t(){return p.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(null!==this._pluginMap){t.next=2;break}throw new ReferenceError("This PluginManager instance has been destroyed.");case 2:if(this._options.noEventDestroy){t.next=5;break}return t.next=5,this.destroyAsync();case 5:case"end":return t.stop()}},t,this)}));return function(){return t.apply(this,arguments)}}()},{key:"getPluginEnabled",value:function(t){if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");if("string"!=typeof t)throw new TypeError("'pluginName' is not a string.");var e=this._pluginMap.get(t);return e instanceof P.default&&e.enabled}},{key:"getPluginEventNames",value:function(t){if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");if("string"!=typeof t)throw new TypeError("'pluginName' is not a string.");var e=this._pluginMap.get(t);return e instanceof P.default&&e._eventProxy?e._eventProxy.getEventNames():[]}},{key:"getPluginsEnabled",value:function(t){if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");var e=[],s=!0,r=!1,n=void 0;try{for(var i,a=(0,c.default)(t);!(s=(i=a.next()).done);s=!0){var o=i.value;e.push({pluginName:o,enabled:this.getPluginEnabled(o)})}}catch(t){r=!0,n=t}finally{try{!s&&a.return&&a.return()}finally{if(r)throw n}}return e}},{key:"getPluginsEventNames",value:function(t){if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");void 0===t&&(t=this._pluginMap.keys()),"string"==typeof t&&(t=[t]);var e=[],s=!0,r=!1,n=void 0;try{for(var i,a=(0,c.default)(t);!(s=(i=a.next()).done);s=!0){var o=i.value;e.push({pluginName:o,events:this.getPluginEventNames(o)})}}catch(t){r=!0,n=t}finally{try{!s&&a.return&&a.return()}finally{if(r)throw n}}return e}},{key:"getPluginsByEventName",value:function(t){if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");if("string"!=typeof t)throw new TypeError("'eventName' is not a 'string'.");var e=[],s=this.getPluginsEventNames(),r=!0,n=!1,i=void 0;try{for(var a,o=(0,c.default)(s);!(r=(a=o.next()).done);r=!0){var u=a.value;u.events.indexOf(t)>=0&&e.push(u.pluginName)}}catch(t){n=!0,i=t}finally{try{!r&&o.return&&o.return()}finally{if(n)throw i}}return e}},{key:"getAllPluginData",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0;if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");if("boolean"!=typeof t&&void 0!==t)throw new TypeError("'enabled' is not a 'boolean' or 'undefined'.");var e=[],s=void 0===t,r=!0,n=!1,i=void 0;try{for(var a,o=(0,c.default)(this._pluginMap.values());!(r=(a=o.next()).done);r=!0){var u=a.value;(s||u.enabled===t)&&e.push(this.getPluginData(u.name))}}catch(t){n=!0,i=t}finally{try{!r&&o.return&&o.return()}finally{if(n)throw i}}return e}},{key:"getEventbus",value:function(){if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");return this._eventbus}},{key:"getExtraEventData",value:function(){return this._extraEventData}},{key:"getMethodNames",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");if("boolean"!=typeof t&&void 0!==t)throw new TypeError("'enabled' is not a 'boolean' or 'undefined'.");var s={},r=void 0===t,n=void 0===e,i=!0,a=!1,o=void 0;try{for(var u,h=(0,c.default)(this._pluginMap.values());!(i=(u=h.next()).done);i=!0){var p=u.value;if(p.instance&&(r||p.enabled===t)&&(n||p.name===e)){var d=!0,f=!1,y=void 0;try{for(var v,m=(0,c.default)(C(p.instance));!(d=(v=m.next()).done);d=!0){var g=v.value;p.instance[g]instanceof Function&&"constructor"!==g&&(s[g]=!0)}}catch(t){f=!0,y=t}finally{try{!d&&m.return&&m.return()}finally{if(f)throw y}}}}}catch(t){a=!0,o=t}finally{try{!i&&h.return&&h.return()}finally{if(a)throw o}}return(0,l.default)(s)}},{key:"getOptions",value:function(){if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");return JSON.parse((0,f.default)(this._options))}},{key:"getPluginData",value:function(t){if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");if("string"!=typeof t)throw new TypeError("'pluginName' is not a string.");var e=this._pluginMap.get(t);if(e instanceof P.default)return JSON.parse((0,f.default)(e.data))}},{key:"getPluginMethodNames",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0;if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");if("boolean"!=typeof t&&void 0!==t)throw new TypeError("'enabled' is not a 'boolean' or 'undefined'.");var e=[],s=void 0===t,r=!0,n=!1,i=void 0;try{for(var a,o=(0,c.default)(this._pluginMap.values());!(r=(a=o.next()).done);r=!0){var u=a.value;if(u.instance&&(s||u.enabled===t)){var l=!0,h=!1,p=void 0;try{for(var d,f=(0,c.default)(C(u.instance));!(l=(d=f.next()).done);l=!0){var y=d.value;u.instance[y]instanceof Function&&"constructor"!==y&&e.push({plugin:u.name,method:y})}}catch(t){h=!0,p=t}finally{try{!l&&f.return&&f.return()}finally{if(h)throw p}}}}}catch(t){n=!0,i=t}finally{try{!r&&o.return&&o.return()}finally{if(n)throw i}}return e}},{key:"getPluginNames",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0;if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");if("boolean"!=typeof t&&void 0!==t)throw new TypeError("'enabled' is not a 'boolean' or 'undefined'.");if(void 0===t)return(0,u.default)(this._pluginMap.keys());var e=[],s=!0,r=!1,n=void 0;try{for(var i,a=(0,c.default)(this._pluginMap.values());!(s=(i=a.next()).done);s=!0){var o=i.value;o.enabled===t&&e.push(o.name)}}catch(t){r=!0,n=t}finally{try{!s&&a.return&&a.return()}finally{if(r)throw n}}return e}},{key:"getPluginOptions",value:function(t){if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");if("string"!=typeof t)throw new TypeError("'pluginName' is not a string.");var e=void 0,s=this._pluginMap.get(t);return s instanceof P.default&&(e=JSON.parse((0,f.default)(s.data.plugin.options))),e}},{key:"hasMethod",value:function(t){if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");if("string"!=typeof t)throw new TypeError("'methodName' is not a string.");var e=!0,s=!1,r=void 0;try{for(var n,i=(0,c.default)(this._pluginMap.values());!(e=(n=i.next()).done);e=!0){if("function"==typeof n.value.instance[t])return!0}}catch(t){s=!0,r=t}finally{try{!e&&i.return&&i.return()}finally{if(s)throw r}}return!1}},{key:"hasPlugin",value:function(t){if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");if("string"!=typeof t)throw new TypeError("'pluginName' is not a string.");return this._pluginMap.has(t)}},{key:"hasPluginMethod",value:function(t,e){if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");if("string"!=typeof t)throw new TypeError("'pluginName' is not a string.");if("string"!=typeof e)throw new TypeError("'methodName' is not a string.");var s=this._pluginMap.get(t);return s instanceof P.default&&"function"==typeof s[e]}},{key:"invoke",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");if("string"!=typeof t)throw new TypeError("'methodName' is not a string.");if(void 0===s&&(s=this._pluginMap.keys()),"string"!=typeof s&&!Array.isArray(s)&&"function"!=typeof s[o.default])throw new TypeError("'nameOrList' is not a string, array, or iterator.");var r=!1,n=!1;if(this._options.pluginsEnabled){if("string"==typeof s){var i,u=this._pluginMap.get(s);if(u instanceof P.default&&u.enabled&&u.instance)if(n=!0,"function"==typeof u.instance[t])Array.isArray(e)?(i=u.instance)[t].apply(i,(0,a.default)(e)):u.instance[t](e),r=!0}else{var l=!0,h=!1,p=void 0;try{for(var d,f=(0,c.default)(s);!(l=(d=f.next()).done);l=!0){var y,v=d.value,m=this._pluginMap.get(v);if(m instanceof P.default&&m.enabled&&m.instance)if(n=!0,"function"==typeof m.instance[t])Array.isArray(e)?(y=m.instance)[t].apply(y,(0,a.default)(e)):m.instance[t](e),r=!0}}catch(t){h=!0,p=t}finally{try{!l&&f.return&&f.return()}finally{if(h)throw p}}}if(this._options.throwNoPlugin&&!n)throw new Error("PluginManager failed to find any target plugins.");if(this._options.throwNoMethod&&!r)throw new Error("PluginManager failed to invoke '"+t+"'.")}}},{key:"invokeAsync",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");if("string"!=typeof t)throw new TypeError("'methodName' is not a string.");if(void 0===s&&(s=this._pluginMap.keys()),"string"!=typeof s&&!Array.isArray(s)&&"function"!=typeof s[o.default])throw new TypeError("'nameOrList' is not a string, array, or iterator.");var r=!1,n=!1,i=void 0,u=[];if(!this._options.pluginsEnabled)return i;try{if("string"==typeof s){var l,p=this._pluginMap.get(s);if(p instanceof P.default&&p.enabled&&p.instance)if(n=!0,"function"==typeof p.instance[t])null===(i=Array.isArray(e)?(l=p.instance)[t].apply(l,(0,a.default)(e)):p.instance[t](e))&&void 0===i||u.push(i),r=!0}else{var d=!0,f=!1,y=void 0;try{for(var v,m=(0,c.default)(s);!(d=(v=m.next()).done);d=!0){var g,x=v.value,b=this._pluginMap.get(x);if(b instanceof P.default&&b.enabled&&b.instance)if(n=!0,"function"==typeof b.instance[t])null===(i=Array.isArray(e)?(g=b.instance)[t].apply(g,(0,a.default)(e)):b.instance[t](e))&&void 0===i||u.push(i),r=!0}}catch(t){f=!0,y=t}finally{try{!d&&m.return&&m.return()}finally{if(f)throw y}}}if(this._options.throwNoPlugin&&!n)return h.default.reject(new Error("PluginManager failed to find any target plugins."));if(this._options.throwNoMethod&&!r)return h.default.reject(new Error("PluginManager failed to invoke '"+t+"'."))}catch(t){return h.default.reject(t)}return u.length>1?h.default.all(u):h.default.resolve(i)}},{key:"invokeAsyncEvent",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0;if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");return void 0===r&&(r=this._pluginMap.keys()),this._options.pluginsEnabled?T(t,e,s,this._extraEventData,r,this._pluginMap,this._options):h.default.resolve()}},{key:"invokeSync",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");if("string"!=typeof t)throw new TypeError("'methodName' is not a string.");if(void 0===s&&(s=this._pluginMap.keys()),"string"!=typeof s&&!Array.isArray(s)&&"function"!=typeof s[o.default])throw new TypeError("'nameOrList' is not a string, array, or iterator.");var r=!1,n=!1,i=void 0,u=[];if(!this._options.pluginsEnabled)return i;if("string"==typeof s){var l,h=this._pluginMap.get(s);if(h instanceof P.default&&h.enabled&&h.instance)if(n=!0,"function"==typeof h.instance[t])null===(i=Array.isArray(e)?(l=h.instance)[t].apply(l,(0,a.default)(e)):h.instance[t](e))&&void 0===i||u.push(i),r=!0}else{var p=!0,d=!1,f=void 0;try{for(var y,v=(0,c.default)(s);!(p=(y=v.next()).done);p=!0){var m,g=y.value,x=this._pluginMap.get(g);if(x instanceof P.default&&x.enabled&&x.instance)if(n=!0,"function"==typeof x.instance[t])null===(i=Array.isArray(e)?(m=x.instance)[t].apply(m,(0,a.default)(e)):x.instance[t](e))&&void 0===i||u.push(i),r=!0}}catch(t){d=!0,f=t}finally{try{!p&&v.return&&v.return()}finally{if(d)throw f}}}if(this._options.throwNoPlugin&&!n)throw new Error("PluginManager failed to find any target plugins.");if(this._options.throwNoMethod&&!r)throw new Error("PluginManager failed to invoke '"+t+"'.");return u.length>1?u:i}},{key:"invokeSyncEvent",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0;if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");if(void 0===r&&(r=this._pluginMap.keys()),this._options.pluginsEnabled)return S(t,e,s,this._extraEventData,r,this._pluginMap,this._options)}},{key:"isValidConfig",value:function(t){return"object"===(void 0===t?"undefined":(0,v.default)(t))&&("string"==typeof t.name&&((void 0===t.target||"string"==typeof t.target)&&(void 0===t.options||"object"===(0,v.default)(t.options))))}},{key:"setEventbus",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"plugins";if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");if("object"!==(void 0===t?"undefined":(0,v.default)(t)))throw new TypeError("'targetEventbus' is not an 'object'.");if("string"!=typeof e)throw new TypeError("'eventPrepend' is not a 'string'.");if(t===this._eventbus)return this;var s=this._eventPrepend;if(this._eventPrepend=e,this._pluginMap.size>0){S("onPluginUnload",{},{},this._extraEventData,this._pluginMap.keys(),this._pluginMap,this._options,!1);var r=!0,n=!1,a=void 0;try{for(var o,u=(0,c.default)(this._pluginMap.values());!(r=(o=u.next()).done);r=!0){var l=o.value;try{l.instance._eventbus=void 0}catch(t){}l.data.manager.eventPrepend=e,l.data.plugin.scopedName=e+":"+l.name,l.eventProxy instanceof w.default&&l.eventProxy.destroy(),l.eventProxy=new w.default(t)}}catch(t){n=!0,a=t}finally{try{!r&&u.return&&u.return()}finally{if(n)throw a}}S("onPluginLoad",{},{},this._extraEventData,this._pluginMap.keys(),this._pluginMap,this._options,!1);var h=!0,p=!1,d=void 0;try{for(var y,m=(0,c.default)(this._pluginMap.values());!(h=(y=m.next()).done);h=!0){var g=y.value;this._eventbus&&this._eventbus.trigger("typhonjs:plugin:manager:eventbus:changed",(0,i.default)({oldEventbus:this._eventbus,oldManagerEventPrepend:s,oldScopedName:s+":"+g.name,newEventbus:t,newManagerEventPrepend:e,newScopedName:e+":"+g.name},JSON.parse((0,f.default)(g.data))))}}catch(t){p=!0,d=t}finally{try{!h&&m.return&&m.return()}finally{if(p)throw d}}}return null!==this._eventbus&&(this._eventbus.off(s+":add",this._addEventbus,this),this._eventbus.off(s+":add:all",this._addAllEventbus,this),this._eventbus.off(s+":async:add",this._addEventbusAsync,this),this._eventbus.off(s+":async:add:all",this._addAllEventbusAsync,this),this._eventbus.off(s+":async:destroy:manager",this._destroyEventbusAsync,this),this._eventbus.off(s+":async:invoke",this.invokeAsync,this),this._eventbus.off(s+":async:invoke:event",this.invokeAsyncEvent,this),this._eventbus.off(s+":async:remove",this._removeEventbusAsync,this),this._eventbus.off(s+":async:remove:all",this._removeAllEventbusAsync,this),this._eventbus.off(s+":create:event:proxy",this.createEventProxy,this),this._eventbus.off(s+":destroy:manager",this._destroyEventbus,this),this._eventbus.off(s+":get:all:plugin:data",this.getAllPluginData,this),this._eventbus.off(s+":get:extra:event:data",this.getExtraEventData,this),this._eventbus.off(s+":get:method:names",this.getMethodNames,this),this._eventbus.off(s+":get:options",this.getOptions,this),this._eventbus.off(s+":get:plugin:enabled",this.getPluginEnabled,this),this._eventbus.off(s+":get:plugin:data",this.getPluginData,this),this._eventbus.off(s+":get:plugin:event:names",this.getPluginEventNames,this),this._eventbus.off(s+":get:plugin:method:names",this.getPluginMethodNames,this),this._eventbus.off(s+":get:plugin:names",this.getPluginNames,this),this._eventbus.off(s+":get:plugin:options",this.getPluginOptions,this),this._eventbus.off(s+":get:plugins:enabled",this.getPluginsEnabled,this),this._eventbus.off(s+":get:plugins:by:event:name",this.getPluginsByEventName,this),this._eventbus.off(s+":get:plugins:event:names",this.getPluginsEventNames,this),this._eventbus.off(s+":has:method",this.hasMethod,this),this._eventbus.off(s+":has:plugin",this.hasPlugin,this),this._eventbus.off(s+":has:plugin:method",this.hasPluginMethod,this),this._eventbus.off(s+":invoke",this.invoke,this),this._eventbus.off(s+":is:valid:config",this.isValidConfig,this),this._eventbus.off(s+":remove",this._removeEventbus,this),this._eventbus.off(s+":remove:all",this._removeAllEventbus,this),this._eventbus.off(s+":set:extra:event:data",this.setExtraEventData,this),this._eventbus.off(s+":set:options",this._setOptionsEventbus,this),this._eventbus.off(s+":set:plugin:enabled",this.setPluginEnabled,this),this._eventbus.off(s+":set:plugins:enabled",this.setPluginsEnabled,this),this._eventbus.off(s+":sync:invoke",this.invokeSync,this),this._eventbus.off(s+":sync:invoke:event",this.invokeSyncEvent,this),this._eventbus.trigger("typhonjs:plugin:manager:eventbus:removed",{oldEventbus:this._eventbus,oldEventPrepend:s,newEventbus:t,newEventPrepend:e})),t.on(e+":add",this._addEventbus,this),t.on(e+":add:all",this._addAllEventbus,this),t.on(e+":async:add",this._addEventbusAsync,this),t.on(e+":async:add:all",this._addAllEventbusAsync,this),t.on(e+":async:destroy:manager",this._destroyEventbusAsync,this),t.on(e+":async:invoke",this.invokeAsync,this),t.on(e+":async:invoke:event",this.invokeAsyncEvent,this),t.on(e+":async:remove",this._removeEventbusAsync,this),t.on(e+":async:remove:all",this._removeAllEventbusAsync,this),t.on(e+":create:event:proxy",this.createEventProxy,this),t.on(e+":destroy:manager",this._destroyEventbus,this),t.on(e+":get:all:plugin:data",this.getAllPluginData,this),t.on(e+":get:extra:event:data",this.getExtraEventData,this),t.on(e+":get:method:names",this.getMethodNames,this),t.on(e+":get:options",this.getOptions,this),t.on(e+":get:plugin:data",this.getPluginData,this),t.on(e+":get:plugin:enabled",this.getPluginEnabled,this),t.on(e+":get:plugin:event:names",this.getPluginEventNames,this),t.on(e+":get:plugin:method:names",this.getPluginMethodNames,this),t.on(e+":get:plugin:names",this.getPluginNames,this),t.on(e+":get:plugin:options",this.getPluginOptions,this),t.on(e+":get:plugins:enabled",this.getPluginsEnabled,this),t.on(e+":get:plugins:by:event:name",this.getPluginsByEventName,this),t.on(e+":get:plugins:event:names",this.getPluginsEventNames,this),t.on(e+":has:method",this.hasMethod,this),t.on(e+":has:plugin",this.hasPlugin,this),t.on(e+":has:plugin:method",this.hasPluginMethod,this),t.on(e+":invoke",this.invoke,this),t.on(e+":is:valid:config",this.isValidConfig,this),t.on(e+":remove",this._removeEventbus,this),t.on(e+":remove:all",this._removeAllEventbus,this),t.on(e+":set:extra:event:data",this.setExtraEventData,this),t.on(e+":set:options",this._setOptionsEventbus,this),t.on(e+":set:plugin:enabled",this.setPluginEnabled,this),t.on(e+":set:plugins:enabled",this.setPluginsEnabled,this),t.on(e+":sync:invoke",this.invokeSync,this),t.on(e+":sync:invoke:event",this.invokeSyncEvent,this),t.trigger("typhonjs:plugin:manager:eventbus:set",{oldEventbus:this._eventbus,oldEventPrepend:s,newEventbus:t,newEventPrepend:e}),this._eventbus=t,this}},{key:"setEventbusAsync",value:function(){var t=(0,d.default)(p.default.mark(function t(e){var s,r,n,a,o,u,l,h,d,y,m,g,x,b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"plugins";return p.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(null!==this._pluginMap){t.next=2;break}throw new ReferenceError("This PluginManager instance has been destroyed.");case 2:if("object"===(void 0===e?"undefined":(0,v.default)(e))){t.next=4;break}throw new TypeError("'targetEventbus' is not an 'object'.");case 4:if("string"==typeof b){t.next=6;break}throw new TypeError("'eventPrepend' is not a 'string'.");case 6:if(e!==this._eventbus){t.next=8;break}return t.abrupt("return",this);case 8:if(s=this._eventPrepend,this._eventPrepend=b,!(this._pluginMap.size>0)){t.next=53;break}return t.next=13,T("onPluginUnload",{},{},this._extraEventData,this._pluginMap.keys(),this._pluginMap,this._options,!1);case 13:for(r=!0,n=!1,a=void 0,t.prev=16,o=(0,c.default)(this._pluginMap.values());!(r=(u=o.next()).done);r=!0){l=u.value;try{l.instance._eventbus=void 0}catch(t){}l.data.manager.eventPrepend=b,l.data.plugin.scopedName=b+":"+l.name,l.eventProxy instanceof w.default&&l.eventProxy.destroy(),l.eventProxy=new w.default(e)}t.next=24;break;case 20:t.prev=20,t.t0=t.catch(16),n=!0,a=t.t0;case 24:t.prev=24,t.prev=25,!r&&o.return&&o.return();case 27:if(t.prev=27,!n){t.next=30;break}throw a;case 30:return t.finish(27);case 31:return t.finish(24);case 32:return t.next=34,T("onPluginLoad",{},{},this._extraEventData,this._pluginMap.keys(),this._pluginMap,this._options,!1);case 34:for(h=!0,d=!1,y=void 0,t.prev=37,m=(0,c.default)(this._pluginMap.values());!(h=(g=m.next()).done);h=!0)x=g.value,this._eventbus&&this._eventbus.trigger("typhonjs:plugin:manager:eventbus:changed",(0,i.default)({oldEventbus:this._eventbus,oldManagerEventPrepend:s,oldScopedName:s+":"+x.name,newEventbus:e,newManagerEventPrepend:b,newScopedName:b+":"+x.name},JSON.parse((0,f.default)(x.data))));t.next=45;break;case 41:t.prev=41,t.t1=t.catch(37),d=!0,y=t.t1;case 45:t.prev=45,t.prev=46,!h&&m.return&&m.return();case 48:if(t.prev=48,!d){t.next=51;break}throw y;case 51:return t.finish(48);case 52:return t.finish(45);case 53:return null!==this._eventbus&&(this._eventbus.off(s+":add",this._addEventbus,this),this._eventbus.off(s+":add:all",this._addAllEventbus,this),this._eventbus.off(s+":async:add",this._addEventbusAsync,this),this._eventbus.off(s+":async:add:all",this._addAllEventbusAsync,this),this._eventbus.off(s+":async:destroy:manager",this._destroyEventbusAsync,this),this._eventbus.off(s+":async:invoke",this.invokeAsync,this),this._eventbus.off(s+":async:invoke:event",this.invokeAsyncEvent,this),this._eventbus.off(s+":async:remove",this._removeEventbusAsync,this),this._eventbus.off(s+":async:remove:all",this._removeAllEventbusAsync,this),this._eventbus.off(s+":create:event:proxy",this.createEventProxy,this),this._eventbus.off(s+":destroy:manager",this._destroyEventbus,this),this._eventbus.off(s+":get:all:plugin:data",this.getAllPluginData,this),this._eventbus.off(s+":get:extra:event:data",this.getExtraEventData,this),this._eventbus.off(s+":get:method:names",this.getMethodNames,this),this._eventbus.off(s+":get:options",this.getOptions,this),this._eventbus.off(s+":get:plugin:enabled",this.getPluginEnabled,this),this._eventbus.off(s+":get:plugin:data",this.getPluginData,this),this._eventbus.off(s+":get:plugin:event:names",this.getPluginEventNames,this),this._eventbus.off(s+":get:plugin:method:names",this.getPluginMethodNames,this),this._eventbus.off(s+":get:plugin:names",this.getPluginNames,this),this._eventbus.off(s+":get:plugin:options",this.getPluginOptions,this),this._eventbus.off(s+":get:plugins:enabled",this.getPluginsEnabled,this),this._eventbus.off(s+":get:plugins:by:event:name",this.getPluginsByEventName,this),this._eventbus.off(s+":get:plugins:event:names",this.getPluginsEventNames,this),this._eventbus.off(s+":has:method",this.hasMethod,this),this._eventbus.off(s+":has:plugin",this.hasPlugin,this),this._eventbus.off(s+":has:plugin:method",this.hasPluginMethod,this),this._eventbus.off(s+":invoke",this.invoke,this),this._eventbus.off(s+":is:valid:config",this.isValidConfig,this),this._eventbus.off(s+":remove",this._removeEventbus,this),this._eventbus.off(s+":remove:all",this._removeAllEventbus,this),this._eventbus.off(s+":set:extra:event:data",this.setExtraEventData,this),this._eventbus.off(s+":set:options",this._setOptionsEventbus,this),this._eventbus.off(s+":set:plugin:enabled",this.setPluginEnabled,this),this._eventbus.off(s+":set:plugins:enabled",this.setPluginsEnabled,this),this._eventbus.off(s+":sync:invoke",this.invokeSync,this),this._eventbus.off(s+":sync:invoke:event",this.invokeSyncEvent,this),this._eventbus.trigger("typhonjs:plugin:manager:eventbus:removed",{oldEventbus:this._eventbus,oldEventPrepend:s,newEventbus:e,newEventPrepend:b})),e.on(b+":add",this._addEventbus,this),e.on(b+":add:all",this._addAllEventbus,this),e.on(b+":async:add",this._addEventbusAsync,this),e.on(b+":async:add:all",this._addAllEventbusAsync,this),e.on(b+":async:destroy:manager",this._destroyEventbusAsync,this),e.on(b+":async:invoke",this.invokeAsync,this),e.on(b+":async:invoke:event",this.invokeAsyncEvent,this),e.on(b+":async:remove",this._removeEventbusAsync,this),e.on(b+":async:remove:all",this._removeAllEventbusAsync,this),e.on(b+":create:event:proxy",this.createEventProxy,this),e.on(b+":destroy:manager",this._destroyEventbus,this),e.on(b+":get:all:plugin:data",this.getAllPluginData,this),e.on(b+":get:extra:event:data",this.getExtraEventData,this),e.on(b+":get:method:names",this.getMethodNames,this),e.on(b+":get:options",this.getOptions,this),e.on(b+":get:plugin:data",this.getPluginData,this),e.on(b+":get:plugin:enabled",this.getPluginEnabled,this),e.on(b+":get:plugin:event:names",this.getPluginEventNames,this),e.on(b+":get:plugin:method:names",this.getPluginMethodNames,this),e.on(b+":get:plugin:names",this.getPluginNames,this),e.on(b+":get:plugin:options",this.getPluginOptions,this),e.on(b+":get:plugins:enabled",this.getPluginsEnabled,this),e.on(b+":get:plugins:by:event:name",this.getPluginsByEventName,this),e.on(b+":get:plugins:event:names",this.getPluginsEventNames,this),e.on(b+":has:method",this.hasMethod,this),e.on(b+":has:plugin",this.hasPlugin,this),e.on(b+":has:plugin:method",this.hasPluginMethod,this),e.on(b+":invoke",this.invoke,this),e.on(b+":is:valid:config",this.isValidConfig,this),e.on(b+":remove",this._removeEventbus,this),e.on(b+":remove:all",this._removeAllEventbus,this),e.on(b+":set:extra:event:data",this.setExtraEventData,this),e.on(b+":set:options",this._setOptionsEventbus,this),e.on(b+":set:plugin:enabled",this.setPluginEnabled,this),e.on(b+":set:plugins:enabled",this.setPluginsEnabled,this),e.on(b+":sync:invoke",this.invokeSync,this),e.on(b+":sync:invoke:event",this.invokeSyncEvent,this),e.trigger("typhonjs:plugin:manager:eventbus:set",{oldEventbus:this._eventbus,oldEventPrepend:s,newEventbus:e,newEventPrepend:b}),this._eventbus=e,t.abrupt("return",this);case 94:case"end":return t.stop()}},t,this,[[16,20,24,32],[25,,27,31],[37,41,45,53],[46,,48,52]])}));return function(e){return t.apply(this,arguments)}}()},{key:"setExtraEventData",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0;if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");this._extraEventData=t}},{key:"setOptions",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");if("object"!==(void 0===t?"undefined":(0,v.default)(t)))throw new TypeError("'options' is not an object.");"boolean"==typeof t.pluginsEnabled&&(this._options.pluginsEnabled=t.pluginsEnabled),"boolean"==typeof t.noEventAdd&&(this._options.noEventAdd=t.noEventAdd),"boolean"==typeof t.noEventDestroy&&(this._options.noEventDestroy=t.noEventDestroy),"boolean"==typeof t.noEventOptions&&(this._options.noEventOptions=t.noEventOptions),"boolean"==typeof t.noEventRemoval&&(this._options.noEventRemoval=t.noEventRemoval),"boolean"==typeof t.throwNoMethod&&(this._options.throwNoMethod=t.throwNoMethod),"boolean"==typeof t.throwNoPlugin&&(this._options.throwNoPlugin=t.throwNoPlugin)}},{key:"_setOptionsEventbus",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");this._options.noEventOptions||this.setOptions(t)}},{key:"setPluginEnabled",value:function(t,e){if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");if("string"!=typeof t)throw new TypeError("'pluginName' is not a string.");if("boolean"!=typeof e)throw new TypeError("'enabled' is not a boolean.");var s=this._pluginMap.get(t);return s instanceof P.default&&(s.enabled=e,this._eventbus&&this._eventbus.trigger("typhonjs:plugin:manager:plugin:enabled",(0,i.default)({enabled:e},JSON.parse((0,f.default)(s.data)))),!0)}},{key:"setPluginsEnabled",value:function(t,e){if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");if("boolean"!=typeof e)throw new TypeError("'enabled' is not a boolean.");var s=!0,r=!0,n=!1,i=void 0;try{for(var a,o=(0,c.default)(t);!(r=(a=o.next()).done);r=!0){var u=a.value;this.setPluginEnabled(u,e)||(s=!1)}}catch(t){n=!0,i=t}finally{try{!r&&o.return&&o.return()}finally{if(n)throw i}}return s}},{key:"remove",value:function(t){if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");var e=this._pluginMap.get(t);if(e instanceof P.default){S("onPluginUnload",{},{},this._extraEventData,t,this._pluginMap,this._options,!1);try{e.instance._eventbus=void 0}catch(t){}e.eventProxy instanceof w.default&&e.eventProxy.destroy();var s=this.getPluginData(t);return this._pluginMap.delete(t),this._eventbus&&this._eventbus.trigger("typhonjs:plugin:manager:plugin:removed",s),!0}return!1}},{key:"removeAsync",value:function(){var t=(0,d.default)(p.default.mark(function t(e){var s,r;return p.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(null!==this._pluginMap){t.next=2;break}throw new ReferenceError("This PluginManager instance has been destroyed.");case 2:if(!((s=this._pluginMap.get(e))instanceof P.default)){t.next=14;break}return t.next=6,T("onPluginUnload",{},{},this._extraEventData,e,this._pluginMap,this._options,!1);case 6:try{s.instance._eventbus=void 0}catch(t){}if(s.eventProxy instanceof w.default&&s.eventProxy.destroy(),r=this.getPluginData(e),this._pluginMap.delete(e),!this._eventbus){t.next=13;break}return t.next=13,this._eventbus.triggerAsync("typhonjs:plugin:manager:plugin:removed",r);case 13:return t.abrupt("return",!0);case 14:return t.abrupt("return",!1);case 15:case"end":return t.stop()}},t,this)}));return function(e){return t.apply(this,arguments)}}()},{key:"removeAll",value:function(){if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");var t=!0,e=!1,s=void 0;try{for(var r,n=(0,c.default)(this._pluginMap.keys());!(t=(r=n.next()).done);t=!0){var i=r.value;this.remove(i)}}catch(t){e=!0,s=t}finally{try{!t&&n.return&&n.return()}finally{if(e)throw s}}this._pluginMap.clear()}},{key:"removeAllAsync",value:function(){if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");var t=[],e=!0,s=!1,r=void 0;try{for(var n,i=(0,c.default)(this._pluginMap.keys());!(e=(n=i.next()).done);e=!0){var a=n.value;t.push(this.remove(a))}}catch(t){s=!0,r=t}finally{try{!e&&i.return&&i.return()}finally{if(s)throw r}}return this._pluginMap.clear(),h.default.all(t)}},{key:"_removeEventbus",value:function(t){if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");return!this._options.noEventRemoval&&this.remove(t)}},{key:"_removeEventbusAsync",value:function(){var t=(0,d.default)(p.default.mark(function t(e){return p.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(null!==this._pluginMap){t.next=2;break}throw new ReferenceError("This PluginManager instance has been destroyed.");case 2:if(this._options.noEventRemoval){t.next=8;break}return t.next=5,this.removeAsync(e);case 5:t.t0=t.sent,t.next=9;break;case 8:t.t0=h.default.resolve(!1);case 9:return t.abrupt("return",t.t0);case 10:case"end":return t.stop()}},t,this)}));return function(e){return t.apply(this,arguments)}}()},{key:"_removeAllEventbus",value:function(){if(null===this._pluginMap)throw new ReferenceError("This PluginManager instance has been destroyed.");this._options.noEventRemoval||this.removeAll()}},{key:"_removeAllEventbusAsync",value:function(){var t=(0,d.default)(p.default.mark(function t(){return p.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(null!==this._pluginMap){t.next=2;break}throw new ReferenceError("This PluginManager instance has been destroyed.");case 2:if(this._options.noEventRemoval){t.next=5;break}return t.next=5,this.removeAll();case 5:case"end":return t.stop()}},t,this)}));return function(){return t.apply(this,arguments)}}()}]),t}();e.default=k;var A,T=(A=(0,d.default)(p.default.mark(function t(e){var s,r,n,i,a,u,l,d,f,y,m,g,x,b,w,_,k=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},T=arguments[3],S=arguments[4],C=arguments[5],M=arguments[6],N=!(arguments.length>7&&void 0!==arguments[7])||arguments[7];return p.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if("string"==typeof e){t.next=2;break}throw new TypeError("'methodName' is not a string.");case 2:if("object"===(void 0===A?"undefined":(0,v.default)(A))){t.next=4;break}throw new TypeError("'passthruProps' is not an object.");case 4:if("object"===(void 0===k?"undefined":(0,v.default)(k))){t.next=6;break}throw new TypeError("'copyProps' is not an object.");case 6:if("string"==typeof S||Array.isArray(S)||"function"==typeof S[o.default]){t.next=8;break}throw new TypeError("'nameOrList' is not a string, array, or iterator.");case 8:if(s=0,r=[],n=!1,i=!1,a=new E.default(k,A,T),u=[],"string"!=typeof S){t.next=19;break}(l=C.get(S))instanceof P.default&&l.enabled&&l.instance&&(i=!0,"function"==typeof l.instance[e]&&(a.eventbus=l.eventProxy,a.pluginName=l.name,a.pluginOptions=l.data.plugin.options,void 0!==(d=l.instance[e](a))&&null!==d&&u.push(d),n=!0,s++,r.push(l.name))),t.next=38;break;case 19:for(f=!0,y=!1,m=void 0,t.prev=22,g=(0,c.default)(S);!(f=(x=g.next()).done);f=!0)b=x.value,(w=C.get(b))instanceof P.default&&w.enabled&&w.instance&&(i=!0,"function"==typeof w.instance[e]&&(a.eventbus=w.eventProxy,a.pluginName=w.name,a.pluginOptions=w.data.plugin.options,void 0!==(_=w.instance[e](a))&&null!==_&&u.push(_),n=!0,s++,r.push(w.name)));t.next=30;break;case 26:t.prev=26,t.t0=t.catch(22),y=!0,m=t.t0;case 30:t.prev=30,t.prev=31,!f&&g.return&&g.return();case 33:if(t.prev=33,!y){t.next=36;break}throw m;case 36:return t.finish(33);case 37:return t.finish(30);case 38:if(!N||!M.throwNoPlugin||i){t.next=40;break}throw new Error("PluginManager failed to find any target plugins.");case 40:if(!N||!M.throwNoMethod||n){t.next=42;break}throw new Error("PluginManager failed to invoke '"+e+"'.");case 42:return a.data.$$plugin_invoke_count=s,a.data.$$plugin_invoke_names=r,t.next=46,h.default.all(u);case 46:return t.abrupt("return",a.data);case 47:case"end":return t.stop()}},t,void 0,[[22,26,30,38],[31,,33,37]])})),function(t){return A.apply(this,arguments)}),S=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments[3],n=arguments[4],i=arguments[5],a=arguments[6],u=!(arguments.length>7&&void 0!==arguments[7])||arguments[7];if("string"!=typeof t)throw new TypeError("'methodName' is not a string.");if("object"!==(void 0===s?"undefined":(0,v.default)(s)))throw new TypeError("'passthruProps' is not an object.");if("object"!==(void 0===e?"undefined":(0,v.default)(e)))throw new TypeError("'copyProps' is not an object.");if("string"!=typeof n&&!Array.isArray(n)&&"function"!=typeof n[o.default])throw new TypeError("'nameOrList' is not a string, array, or iterator.");var l=0,h=[],p=!1,d=!1,f=new E.default(e,s,r);if("string"==typeof n){var y=i.get(n);y instanceof P.default&&y.enabled&&y.instance&&(d=!0,"function"==typeof y.instance[t]&&(f.eventbus=y.eventProxy,f.pluginName=y.name,f.pluginOptions=y.data.plugin.options,y.instance[t](f),p=!0,l++,h.push(y.name)))}else{var m=!0,g=!1,x=void 0;try{for(var b,w=(0,c.default)(n);!(m=(b=w.next()).done);m=!0){var _=b.value,k=i.get(_);k instanceof P.default&&k.enabled&&k.instance&&(d=!0,"function"==typeof k.instance[t]&&(f.eventbus=k.eventProxy,f.pluginName=k.name,f.pluginOptions=k.data.plugin.options,k.instance[t](f),p=!0,l++,h.push(k.name)))}}catch(t){g=!0,x=t}finally{try{!m&&w.return&&w.return()}finally{if(g)throw x}}}if(u&&a.throwNoPlugin&&!d)throw new Error("PluginManager failed to find any target plugins.");if(u&&a.throwNoMethod&&!p)throw new Error("PluginManager failed to invoke '"+t+"'.");return f.data.$$plugin_invoke_count=l,f.data.$$plugin_invoke_names=h,f.data},C=function(t){var e=[];do{(0,n.default)(t).forEach(function(t){-1===e.indexOf(t)&&e.push(t)}),t=(0,r.default)(t)}while(void 0!==t&&null!==t&&t!==Object.prototype);return e};t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:void 0,u=arguments.length>5&&void 0!==arguments[5]?arguments[5]:void 0,l=arguments.length>6&&void 0!==arguments[6]?arguments[6]:void 0,h=null===o||"function"==typeof o;return{lloc:new n.default("lloc",t),cyclomatic:new n.default("cyclomatic",e),operators:new r.default("operators",i.default.safeArray(s)),operands:new r.default("operands",i.default.safeArray(a)),ignoreKeys:new n.default("ignoreKeys",h?o:i.default.safeArray(o)),newScope:new n.default("newScope",u),dependencies:new n.default("dependencies",l)}};var r=a(s(43)),n=a(s(144)),i=a(s(53));function a(t){return t&&t.__esModule?t:{default:t}}t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={ArrayExpression:20,TaggedTemplateExpression:20,ThisExpression:20,Identifier:20,Literal:18,TemplateLiteral:20,Super:20,SequenceExpression:20,MemberExpression:19,CallExpression:19,NewExpression:19,ArrowFunctionExpression:18,ClassExpression:17,FunctionExpression:17,ObjectExpression:17,UpdateExpression:16,UnaryExpression:15,BinaryExpression:14,LogicalExpression:13,ConditionalExpression:4,AssignmentExpression:3,YieldExpression:2,RestElement:1,BooleanLiteral:18,DirectiveLiteral:18,NullLiteral:18,NumericLiteral:18,StringLiteral:18},t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=o(s(2)),n=o(s(0)),i=o(s(1)),a=o(s(149));function o(t){return t&&t.__esModule?t:{default:t}}var u=function(){function t(){(0,n.default)(this,t)}return(0,i.default)(t,null,[{key:"parse",value:function(t,e){var s=new a.default(e);if(Array.isArray(t))t.forEach(function(t){s.generator[t.type](t,s)});else{if("object"!==(void 0===t?"undefined":(0,r.default)(t)))throw new TypeError("parse error: 'node' is not an 'object' or an 'array'.");s.generator[t.type](t,s)}return s.output}},{key:"parseNodes",value:function(t,e){if(!Array.isArray(t))throw new TypeError("parseNodes error: 'nodes' is not an 'array'.");var s=new a.default(e);return t.forEach(function(t){if(Array.isArray(t))t.forEach(function(t){s.generator[t.type](t,s)});else{if("object"!==(void 0===t?"undefined":(0,r.default)(t)))throw new TypeError("parse error: 'node' is not an 'object' or an 'array'.");s.generator[t.type](t,s)}}),s.output}}]),t}();e.default=u,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=c(s(4)),n=c(s(0)),i=c(s(1)),a=c(s(7)),o=c(s(6)),u=c(s(89)),l=c(s(9)),h=c(s(25));function c(t){return t&&t.__esModule?t:{default:t}}var p=function(t){function e(t,s,i,o){(0,n.default)(this,e);var u=(0,a.default)(this,(e.__proto__||(0,r.default)(e)).call(this,t,s,i,o));return u.maxNestedMethodDepth=0,u.nestedMethods=[],u}return(0,o.default)(e,t),(0,i.default)(e,[{key:"type",get:function(){return l.default.MODULE_METHOD}}],[{key:"getFormats",value:function(){return h.default.getFormats(l.default.MODULE_METHOD)}},{key:"parse",value:function(t){return this._parse(new e,t)}}]),e}(u.default);e.default=p,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=f(s(5)),n=f(s(19)),i=f(s(2)),a=f(s(4)),o=f(s(0)),u=f(s(1)),l=f(s(7)),h=f(s(6)),c=f(s(56)),p=f(s(55)),d=f(s(11));function f(t){return t&&t.__esModule?t:{default:t}}var y=function(t){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;(0,o.default)(this,e);var i=(0,l.default)(this,(e.__proto__||(0,a.default)(e)).call(this,r,n));return i.errors=[],i.lineEnd=n,i.lineStart=r,i.name=t,i.paramNames=s,i.paramCount=s.length,i}return(0,h.default)(e,t),(0,u.default)(e,[{key:"clearErrors",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.errors=[],t&&Array.isArray(this.nestedMethods)&&this.nestedMethods.forEach(function(t){t.clearErrors()})}},{key:"getErrors",value:function(){var t,e=this,s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{includeChildren:!0,includeReports:!1};if("object"!==(void 0===s?"undefined":(0,i.default)(s)))throw new TypeError("getErrors error: 'options' is not an 'object'.");"boolean"!=typeof s.includeChildren&&(s.includeChildren=!0);var r=s.includeReports?this.errors.map(function(t){return{error:t,source:e}}):(t=[]).concat.apply(t,(0,n.default)(this.errors));if(s.includeChildren&&Array.isArray(this.nestedMethods))if(s.includeReports){var a,o=[];this.nestedMethods.forEach(function(t){o.push.apply(o,(0,n.default)(t.getErrors(s)))}),o.forEach(function(t){t.method=e}),(a=r).push.apply(a,o)}else this.nestedMethods.forEach(function(t){var e;(e=r).push.apply(e,(0,n.default)(t.getErrors(s)))});return"object"===(0,i.default)(s.query)&&(r=r.filter(function(t){return d.default.safeEqual(s.query,t)})),r}},{key:"getName",value:function(){return this.name}}],[{key:"_parse",value:function(t,e){if("object"!==(void 0===e?"undefined":(0,i.default)(e)))throw new TypeError("parse error: 'jsonObject' is not an 'object'.");var s=(0,r.default)(t,e);return s.errors.length>0&&(s.errors=s.errors.map(function(t){return p.default.parse(t)})),s}}]),e}(c.default);e.default=y,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=c(s(4)),n=c(s(0)),i=c(s(1)),a=c(s(7)),o=c(s(6)),u=c(s(89)),l=c(s(9)),h=c(s(25));function c(t){return t&&t.__esModule?t:{default:t}}var p=function(t){function e(t,s,i,o){(0,n.default)(this,e);var u=(0,a.default)(this,(e.__proto__||(0,r.default)(e)).call(this,t,s,i,o));return u.maxNestedMethodDepth=0,u.nestedMethods=[],u}return(0,o.default)(e,t),(0,i.default)(e,[{key:"type",get:function(){return l.default.CLASS_METHOD}}],[{key:"getFormats",value:function(){return h.default.getFormats(l.default.CLASS_METHOD)}},{key:"parse",value:function(t){return this._parse(new e,t)}}]),e}(u.default);e.default=p,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=l(s(5)),n=l(s(4)),i=l(s(0)),a=l(s(1)),o=l(s(7)),u=l(s(6));function l(t){return t&&t.__esModule?t:{default:t}}var h=function(t){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,i.default)(this,e),(0,o.default)(this,(e.__proto__||(0,n.default)(e)).call(this,(0,r.default)({},p,t),(0,r.default)({},c,s)))}return(0,u.default)(e,t),(0,a.default)(e,[{key:"extension",get:function(){return"txt"}},{key:"name",get:function(){return"text-visibility"}},{key:"type",get:function(){return"visibility"}}]),e}(l(s(94)).default);e.default=h;var c={matrixList:"visibilityList"},p={entryPrepend:"",entryWrapper:"",textHeader:"Visibility (reverse dependents / numerical indices correspond to ProjectReport modules):\n"};t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=p(s(5)),n=p(s(4)),i=p(s(0)),a=p(s(1)),o=p(s(7)),u=p(s(6)),l=p(s(57)),h=p(s(9)),c=p(s(21));function p(t){return t&&t.__esModule?t:{default:t}}var d=function(t){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,i.default)(this,e),(0,o.default)(this,(e.__proto__||(0,n.default)(e)).call(this,(0,r.default)({},f,t),s))}return(0,u.default)(e,t),(0,a.default)(e,[{key:"isSupported",value:function(t){switch(t){case h.default.MODULE:case h.default.PROJECT:return!0;default:return!1}}},{key:"extension",get:function(){return"txt"}},{key:"name",get:function(){return"text-modules"}},{key:"type",get:function(){return"modules"}}]),e}(l.default);e.default=d;var f={moduleReport:[new c.default.SafeEntry("Module ","___modulecntrplus1___",1,":"),new c.default.SafeEntry("filePath: ","filePath"),new c.default.SafeEntry("srcPath: ","srcPath"),new c.default.SafeEntry("srcPathAlias: ","srcPathAlias"),"\n"]};t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=p(s(5)),n=p(s(4)),i=p(s(0)),a=p(s(1)),o=p(s(7)),u=p(s(6)),l=p(s(57)),h=p(s(9)),c=p(s(21));function p(t){return t&&t.__esModule?t:{default:t}}var d=function(t){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,i.default)(this,e),(0,o.default)(this,(e.__proto__||(0,n.default)(e)).call(this,(0,r.default)({},y,t),(0,r.default)({},f,s)))}return(0,u.default)(e,t),(0,a.default)(e,[{key:"isSupported",value:function(t){switch(t){case h.default.CLASS:case h.default.CLASS_METHOD:case h.default.MODULE_METHOD:case h.default.MODULE:case h.default.NESTED_METHOD:case h.default.PROJECT:return!0;default:return!1}}},{key:"extension",get:function(){return"txt"}},{key:"name",get:function(){return"text-minimal"}},{key:"type",get:function(){return"minimal"}}]),e}(l.default);e.default=d;var f={classReport:["maintainability","errors"],methodReport:["cyclomatic","halstead.difficulty","errors"],moduleReport:["maintainability","errors"],projectReport:["moduleAverage.maintainability","errors"]},y={classMethod:[new c.default.SafeEntry("Class method: ","name",0),new c.default.SafeEntry(" (","lineStart",1,")")],classReport:[new c.default.SafeEntry("Class: ","name",0),new c.default.SafeEntry(" (","lineStart",1,")")],entryPrepend:"",moduleMethod:[new c.default.SafeEntry("Module method: ","name",0),new c.default.SafeEntry(" (","lineStart",1,")")],moduleReport:["\n",new c.default.SafeEntry("Module ","___modulecntrplus1___",1,":"),new c.default.SafeEntry(" filePath: ","filePath",1),new c.default.SafeEntry(" srcPath: ","srcPath",1),new c.default.SafeEntry(" srcPathAlias: ","srcPathAlias",1)],projectReport:["Project:\n"]};t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=u(s(5)),n=u(s(0)),i=u(s(1)),a=u(s(11)),o=u(s(9));function u(t){return t&&t.__esModule?t:{default:t}}var l=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,n.default)(this,t),this._headers=e,this._keys=s}return(0,i.default)(t,[{key:"formatReport",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};switch(t.type){case o.default.PROJECT:return this._formatProject(t,e);default:return console.warn("formatReport '"+this.name+"' warning: unsupported report type '"+t.type+"'."),""}}},{key:"isSupported",value:function(t){switch(t){case o.default.PROJECT:return!0;default:return!1}}},{key:"_formatProject",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=(0,r.default)({},this._keys,e),n=a.default.safeAccess(t,s.matrixList);if(!Array.isArray(n))throw new TypeError("formatProject error: could not locate matrixList '"+s.matrixList+"'.");if(!Array.isArray(t.modules))throw new TypeError("formatProject error: could not locate 'projectReport.modules'.");if("string"!=typeof this._headers.entryPrepend)throw new TypeError("formatProject error: 'this._headers.entryPrepend' is not a 'string'.");if("string"!=typeof this._headers.entryWrapper)throw new TypeError("formatProject error: 'this._headers.entryWrapper' is not a 'string'.");var i="";return"string"==typeof this._headers.textHeader&&(i+=this._headers.textHeader),i+=this._formatMatrixList(t,n,s)}},{key:"_formatMatrixList",value:function(t,e,s){var r="",n="boolean"==typeof s.zeroIndex&&s.zeroIndex?0:1,i="boolean"==typeof s.matrixFilePath&&s.matrixFilePath?"filePath":"srcPath",o=this._headers.entryPrepend,u=this._headers.entryWrapper;return e.forEach(function(e){r+=""+o+(e.row+n)+":\t"+u+a.default.safeAccess(t.modules[e.row],i,"unknown")+u+"\n",e.cols.forEach(function(e){r+="\t"+o+(e+n)+":\t"+u+a.default.safeAccess(t.modules[e],i,"unknown")+u+"\n"}),r+="\n"}),r}}]),t}();e.default=l,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=l(s(5)),n=l(s(4)),i=l(s(0)),a=l(s(1)),o=l(s(7)),u=l(s(6));function l(t){return t&&t.__esModule?t:{default:t}}var h=function(t){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,i.default)(this,e),(0,o.default)(this,(e.__proto__||(0,n.default)(e)).call(this,(0,r.default)({},p,t),(0,r.default)({},c,s)))}return(0,u.default)(e,t),(0,a.default)(e,[{key:"extension",get:function(){return"txt"}},{key:"name",get:function(){return"text-adjacency"}},{key:"type",get:function(){return"adjacency"}}]),e}(l(s(94)).default);e.default=h;var c={matrixList:"adjacencyList"},p={entryPrepend:"",entryWrapper:"",textHeader:"Adjacency (dependencies / numerical indices correspond to ProjectReport modules / reports):\n"};t.exports=e.default},function(t,e,s){"use strict";e.__esModule=!0;var r=i(s(168)),n=i(s(44));function i(t){return t&&t.__esModule?t:{default:t}}e.default=function(t,e){return(0,n.default)((0,r.default)(t,{raw:{value:(0,n.default)(e)}}))}},function(t,e,s){"use strict";e.__esModule=!0;var r=i(s(4)),n=i(s(99));function i(t){return t&&t.__esModule?t:{default:t}}e.default=function t(e,s,i){null===e&&(e=Function.prototype);var a=(0,n.default)(e,s);if(void 0===a){var o=(0,r.default)(e);return null===o?void 0:t(o,s,i)}if("value"in a)return a.value;var u=a.get;return void 0!==u?u.call(i):void 0}},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=f(s(5)),n=f(s(4)),i=f(s(0)),a=f(s(1)),o=f(s(7)),u=f(s(97)),l=f(s(6)),h=f(s(57)),c=f(s(9)),p=f(s(21)),d=f(s(25));function f(t){return t&&t.__esModule?t:{default:t}}var y=function(t){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"text-adjacency",u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"text-visibility";(0,i.default)(this,e);var l=(0,o.default)(this,(e.__proto__||(0,n.default)(e)).call(this,(0,r.default)({},x,t),(0,r.default)({},g,s)));return l._adjacencyFormatName=a,l._visibilityFormatName=u,l}return(0,l.default)(e,t),(0,a.default)(e,[{key:"isSupported",value:function(t){switch(t){case c.default.CLASS:case c.default.CLASS_METHOD:case c.default.MODULE_METHOD:case c.default.MODULE:case c.default.NESTED_METHOD:case c.default.PROJECT:return!0;default:return!1}}},{key:"_formatProject",value:function(t){var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=(0,u.default)(e.prototype.__proto__||(0,n.default)(e.prototype),"_formatProject",this).call(this,t,s),a=(0,r.default)({},this._keys,s),o="boolean"!=typeof a.adjacency||a.adjacency,l="boolean"!=typeof a.visibility||a.visibility;return o&&d.default.isFormat(this._adjacencyFormatName)&&(i+="\n\n"+d.default.format(t,this._adjacencyFormatName,s)),l&&d.default.isFormat(this._visibilityFormatName)&&(i+="\n\n"+d.default.format(t,this._visibilityFormatName,s)),i}},{key:"extension",get:function(){return"txt"}},{key:"name",get:function(){return"text"}},{key:"type",get:function(){return"full"}}]),e}(h.default);e.default=y;var v=[new p.default.SafeEntry("Line start: ","lineStart"),new p.default.SafeEntry("Line end: ","lineEnd"),new p.default.SafeEntry("Physical LOC: ","sloc.physical"),new p.default.SafeEntry("Logical LOC: ","sloc.logical"),new p.default.SafeEntry("Cyclomatic complexity: ","cyclomatic"),new p.default.SafeEntry("Cyclomatic complexity density: ","cyclomaticDensity",1,"%"),new p.default.SafeEntry("Halstead difficulty: ","halstead.difficulty"),new p.default.SafeEntry("Halstead volume: ","halstead.volume"),new p.default.SafeEntry("Halstead effort: ","halstead.effort"),new p.default.SafeEntry("Parameter count: ","params"),new p.default.SafeEntry("Error: ","errors")],m=[new p.default.SafeEntry("Average per-function physical LOC: ","methodAverage.sloc.physical"),new p.default.SafeEntry("Average per-function logical LOC: ","methodAverage.sloc.logical"),new p.default.SafeEntry("Average per-function cyclomatic complexity: ","methodAverage.cyclomatic"),new p.default.SafeEntry("Average per-function cyclomatic density: ","methodAverage.cyclomaticDensity",1,"%"),new p.default.SafeEntry("Average per-function halstead difficulty: ","methodAverage.halstead.difficulty"),new p.default.SafeEntry("Average per-function halstead volume: ","methodAverage.halstead.volume"),new p.default.SafeEntry("Average per-function halstead effort: ","methodAverage.halstead.effort")],g={classMethod:[].concat(v),classReport:[new p.default.SafeEntry("Line start: ","lineStart"),new p.default.SafeEntry("Line end: ","lineEnd")].concat(m,[new p.default.SafeEntry("Error: ","errors")]),methodReport:[].concat(v),moduleReport:[new p.default.SafeEntry("Total lines: ","lineEnd"),new p.default.SafeEntry("Maintainability index: ","maintainability"),new p.default.SafeEntry("Dependency count: ","dependencies.length")].concat(m,[new p.default.SafeEntry("Error: ","errors")]),projectReport:[new p.default.SafeEntry("First-order density: ","firstOrderDensity",1,"%"),new p.default.SafeEntry("Change cost: ","changeCost",1,"%"),new p.default.SafeEntry("Core size: ","coreSize",1,"%"),new p.default.SafeEntry("Average per-module maintainability index: ","moduleAverage.maintainability"),new p.default.SafeEntry("Average per-function physical LOC: ","moduleAverage.methodAverage.sloc.physical"),new p.default.SafeEntry("Average per-function logical LOC: ","moduleAverage.methodAverage.sloc.logical"),new p.default.SafeEntry("Average per-function parameter count: ","moduleAverage.methodAverage.params"),new p.default.SafeEntry("Average per-function cyclomatic complexity: ","moduleAverage.methodAverage.cyclomatic"),new p.default.SafeEntry("Average per-function halstead difficulty: ","moduleAverage.methodAverage.halstead.difficulty"),new p.default.SafeEntry("Average per-function halstead effort: ","moduleAverage.methodAverage.halstead.effort"),new p.default.SafeEntry("Error: ","errors")]},x={classMethod:["\n",new p.default.SafeEntry("Class method: ","name")],classReport:["\n",new p.default.SafeEntry("Class: ","name")],entryPrepend:"",moduleMethod:["\n",new p.default.SafeEntry("Module method: ","name")],moduleReport:["\n",new p.default.SafeEntry("Module ","___modulecntrplus1___",1,":"),new p.default.SafeEntry(" File path: ","filePath"),new p.default.SafeEntry(" Source path: ","srcPath"),new p.default.SafeEntry(" Source alias: ","srcPathAlias")],projectReport:["Project: \n"]};t.exports=e.default},function(t,e,s){t.exports={default:s(177),__esModule:!0}},function(t,e,s){t.exports={default:s(185),__esModule:!0}},function(t,e,s){"use strict";var r=s(8),n=s(40),i=s(20),a=s(33);t.exports=function(t){r(r.S,t,{from:function(t){var e,s,r,o,u=arguments[1];return n(this),(e=void 0!==u)&&n(u),void 0==t?new this:(s=[],e?(r=0,o=i(u,arguments[2],2),a(t,!1,function(t){s.push(o(t,r++))})):a(t,!1,s.push,s),new this(s))}})}},function(t,e,s){"use strict";var r=s(8);t.exports=function(t){r(r.S,t,{of:function(){for(var t=arguments.length,e=new Array(t);t--;)e[t]=arguments[t];return new this(e)}})}},function(t,e,s){var r=s(71),n=s(190);t.exports=function(t){return function(){if(r(this)!=t)throw TypeError(t+"#toJSON isn't generic");return n(this)}}},function(t,e,s){"use strict";var r=s(10),n=s(8),i=s(46),a=s(29),o=s(24),u=s(67),l=s(33),h=s(70),c=s(13),p=s(35),d=s(17).f,f=s(194)(0),y=s(14);t.exports=function(t,e,s,v,m,g){var x=r[t],b=x,w=m?"set":"add",P=b&&b.prototype,E={};return y&&"function"==typeof b&&(g||P.forEach&&!a(function(){(new b).entries().next()}))?(b=e(function(e,s){h(e,b,t,"_c"),e._c=new x,void 0!=s&&l(s,m,e[w],e)}),f("add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON".split(","),function(t){var e="add"==t||"set"==t;t in P&&(!g||"clear"!=t)&&o(b.prototype,t,function(s,r){if(h(this,b,t),!e&&g&&!c(s))return"get"==t&&void 0;var n=this._c[t](0===s?0:s,r);return e?this:n})}),g||d(b.prototype,"size",{get:function(){return this._c.size}})):(b=v.getConstructor(e,t,m,w),u(b.prototype,s),i.NEED=!0),p(b,t),E[t]=b,n(n.G+n.W+n.F,E),g||v.setStrong(b,t,m),b}},function(t,e,s){"use strict";var r=s(17).f,n=s(49),i=s(67),a=s(20),o=s(70),u=s(33),l=s(78),h=s(123),c=s(116),p=s(14),d=s(46).fastKey,f=s(59),y=p?"_s":"size",v=function(t,e){var s,r=d(e);if("F"!==r)return t._i[r];for(s=t._f;s;s=s.n)if(s.k==e)return s};t.exports={getConstructor:function(t,e,s,l){var h=t(function(t,r){o(t,h,e,"_i"),t._t=e,t._i=n(null),t._f=void 0,t._l=void 0,t[y]=0,void 0!=r&&u(r,s,t[l],t)});return i(h.prototype,{clear:function(){for(var t=f(this,e),s=t._i,r=t._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete s[r.i];t._f=t._l=void 0,t[y]=0},delete:function(t){var s=f(this,e),r=v(s,t);if(r){var n=r.n,i=r.p;delete s._i[r.i],r.r=!0,i&&(i.n=n),n&&(n.p=i),s._f==r&&(s._f=n),s._l==r&&(s._l=i),s[y]--}return!!r},forEach:function(t){f(this,e);for(var s,r=a(t,arguments.length>1?arguments[1]:void 0,3);s=s?s.n:this._f;)for(r(s.v,s.k,this);s&&s.r;)s=s.p},has:function(t){return!!v(f(this,e),t)}}),p&&r(h.prototype,"size",{get:function(){return f(this,e)[y]}}),h},def:function(t,e,s){var r,n,i=v(t,e);return i?i.v=s:(t._l=i={i:n=d(e,!0),k:e,v:s,p:r=t._l,n:void 0,r:!1},t._f||(t._f=i),r&&(r.n=i),t[y]++,"F"!==n&&(t._i[n]=i)),t},getEntry:v,setStrong:function(t,e,s){l(t,e,function(t,s){this._t=f(t,e),this._k=s,this._l=void 0},function(){for(var t=this._k,e=this._l;e&&e.r;)e=e.p;return this._t&&(this._l=e=e?e.n:this._t._f)?h(0,"keys"==t?e.k:"values"==t?e.v:[e.k,e.v]):(this._t=void 0,h(1))},s?"entries":"values",!s,!0),c(e)}}},function(t,e,s){t.exports={default:s(196),__esModule:!0}},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=x(s(5)),n=x(s(19)),i=x(s(2)),a=x(s(4)),o=x(s(0)),u=x(s(7)),l=x(s(1)),h=x(s(6)),c=x(s(60)),p=x(s(56)),d=x(s(90)),f=x(s(54)),y=x(s(55)),v=x(s(9)),m=x(s(11)),g=x(s(25));function x(t){return t&&t.__esModule?t:{default:t}}var b=function(t){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;(0,o.default)(this,e);var i=(0,u.default)(this,(e.__proto__||(0,a.default)(e)).call(this,new p.default(r,n,0)));return i.errors=[],i.lineEnd=n,i.lineStart=r,i.methods=[],i.aggregateAverage=new f.default,i.methodAverage=new f.default,i.name=t,i.superClassName=s,i}return(0,h.default)(e,t),(0,l.default)(e,[{key:"type",get:function(){return v.default.CLASS}}]),(0,l.default)(e,[{key:"clearErrors",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.errors=[],t&&this.methods.forEach(function(t){t.clearErrors()})}},{key:"getErrors",value:function(){var t,e=this,s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{includeChildren:!0,includeReports:!1};if("object"!==(void 0===s?"undefined":(0,i.default)(s)))throw new TypeError("getErrors error: 'options' is not an 'object'.");"boolean"!=typeof s.includeChildren&&(s.includeChildren=!0);var r=s.includeReports?this.errors.map(function(t){return{error:t,source:e}}):(t=[]).concat.apply(t,(0,n.default)(this.errors));if(s.includeChildren)if(s.includeReports){var a,o=[];this.methods.forEach(function(t){o.push.apply(o,(0,n.default)(t.getErrors(s)))}),o.forEach(function(t){t.class=e}),(a=r).push.apply(a,o)}else this.methods.forEach(function(t){var e;(e=r).push.apply(e,(0,n.default)(t.getErrors(s)))});return"object"===(0,i.default)(s.query)&&(r=r.filter(function(t){return m.default.safeEqual(s.query,t)})),r}},{key:"getName",value:function(){return this.name}}],[{key:"getFormats",value:function(){return g.default.getFormats(v.default.CLASS)}},{key:"parse",value:function(t){if("object"!==(void 0===t?"undefined":(0,i.default)(t)))throw new TypeError("parse error: 'object' is not an 'object'.");var s=(0,r.default)(new e,t);return s.errors.length>0&&(s.errors=s.errors.map(function(t){return y.default.parse(t)})),s.methods.length>0&&(s.methods=s.methods.map(function(t){return d.default.parse(t)})),s}}]),e}(c.default);e.default=b,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=h(s(31)),n=h(s(2)),i=h(s(0)),a=h(s(1)),o=h(s(218)),u=h(s(217)),l=h(s(159));function h(t){return t&&t.__esModule?t:{default:t}}var c=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if((0,i.default)(this,t),"object"!==(void 0===e?"undefined":(0,n.default)(e)))throw new TypeError("ctor error: `options` is not an `object`.");this._plugins=new l.default(e)}return(0,a.default)(t,[{key:"analyze",value:function(t){var e=this,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("object"!==(void 0===t?"undefined":(0,n.default)(t))||Array.isArray(t))throw new TypeError("analyze error: `ast` is not an `object` or `array`.");if("object"!==(void 0===s?"undefined":(0,n.default)(s)))throw new TypeError("analyze error: `options` is not an `object`.");var r=this._plugins.onConfigure(s),i=this._plugins.onLoadSyntax(r),a=this._plugins.onModuleStart(t,i,r),l=new u.default(a);return(new o.default).traverse(t,{enterNode:function(t,s){var o=i[t.type],u="object"===(void 0===o?"undefined":(0,n.default)(o))&&o.ignoreKeys?o.ignoreKeys.valueOf(t,s):[];if(u=e._plugins.onEnterNode(a,l,u,i,r,t,s),"object"===(void 0===o?"undefined":(0,n.default)(o))&&o.newScope){var h=o.newScope.valueOf(t,s);h&&(e._plugins.onModulePreScopeCreated(a,l,h,r,t,s),l.createScope(h),e._plugins.onModulePostScopeCreated(a,l,h,r,t,s))}return u},exitNode:function(t,s){var o=i[t.type];if("object"===(void 0===o?"undefined":(0,n.default)(o))&&o.newScope){var u=o.newScope.valueOf(t,s);u&&(e._plugins.onModulePreScopePopped(a,l,u,r,t,s),l.popScope(u),e._plugins.onModulePostScopePopped(a,l,u,r,t,s))}return e._plugins.onExitNode(a,l,i,r,t,s)}}),this._plugins.onModuleCalculate(a,i,r),this._plugins.onModuleAverage(a,i,r),this._plugins.onModulePostAverage(a,i,r),this._plugins.onModuleEnd(a,i,r),a.finalize()}},{key:"analyzeAsync",value:function(t){var e=this,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new r.default(function(r,n){try{r(e.analyze(t,s))}catch(t){n(t)}})}}]),t}();e.default=c,t.exports=e.default},function(t,e){t.exports=require("path")},function(t,e,s){t.exports={default:s(223),__esModule:!0}},function(t,e,s){var r=s(126),n=s(72).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,n)}},function(t,e,s){var r=s(27),n=s(111).f,i={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return a&&"[object Window]"==i.call(t)?function(t){try{return n(t)}catch(t){return a.slice()}}(t):n(r(t))}},function(t,e,s){var r=s(36);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,s){t.exports={default:s(228),__esModule:!0}},function(t,e,s){var r=s(12)("iterator"),n=!1;try{var i=[7][r]();i.return=function(){n=!0},Array.from(i,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!n)return!1;var s=!1;try{var i=[7],a=i[r]();a.next=function(){return{done:s=!0}},i[r]=function(){return a},t(i)}catch(t){}return s}},function(t,e,s){"use strict";var r=s(10),n=s(3),i=s(17),a=s(14),o=s(12)("species");t.exports=function(t){var e="function"==typeof n[t]?n[t]:r[t];a&&e&&!e[o]&&i.f(e,o,{configurable:!0,get:function(){return this}})}},function(t,e,s){var r=s(18),n=s(13),i=s(68);t.exports=function(t,e){if(r(t),n(e)&&e.constructor===t)return e;var s=i.f(t);return(0,s.resolve)(e),s.promise}},function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}}},function(t,e,s){var r,n,i,a=s(20),o=s(234),u=s(125),l=s(77),h=s(10),c=h.process,p=h.setImmediate,d=h.clearImmediate,f=h.MessageChannel,y=h.Dispatch,v=0,m={},g=function(){var t=+this;if(m.hasOwnProperty(t)){var e=m[t];delete m[t],e()}},x=function(t){g.call(t.data)};p&&d||(p=function(t){for(var e=[],s=1;arguments.length>s;)e.push(arguments[s++]);return m[++v]=function(){o("function"==typeof t?t:Function(t),e)},r(v),v},d=function(t){delete m[t]},"process"==s(36)(c)?r=function(t){c.nextTick(a(g,t,1))}:y&&y.now?r=function(t){y.now(a(g,t,1))}:f?(i=(n=new f).port2,n.port1.onmessage=x,r=a(i.postMessage,i,1)):h.addEventListener&&"function"==typeof postMessage&&!h.importScripts?(r=function(t){h.postMessage(t+"","*")},h.addEventListener("message",x,!1)):r="onreadystatechange"in l("script")?function(t){u.appendChild(l("script")).onreadystatechange=function(){u.removeChild(this),g.call(t)}}:function(t){setTimeout(a(g,t,1),0)}),t.exports={set:p,clear:d}},function(t,e,s){var r=s(18),n=s(40),i=s(12)("species");t.exports=function(t,e){var s,a=r(t).constructor;return void 0===a||void 0==(s=r(a)[i])?e:n(s)}},function(t,e,s){var r=s(38),n=s(12)("iterator"),i=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||i[n]===t)}},function(t,e,s){var r=s(18);t.exports=function(t,e,s,n){try{return n?e(r(s)[0],s[1]):e(s)}catch(e){var i=t.return;throw void 0!==i&&r(i.call(t)),e}}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,s){var r=s(28),n=s(26),i=s(74)("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=n(t),r(t,i)?t[i]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},function(t,e,s){var r=s(10).document;t.exports=r&&r.documentElement},function(t,e,s){var r=s(28),n=s(27),i=s(239)(!1),a=s(74)("IE_PROTO");t.exports=function(t,e){var s,o=n(t),u=0,l=[];for(s in o)s!=a&&r(o,s)&&l.push(s);for(;e.length>u;)r(o,s=e[u++])&&(~i(l,s)||l.push(s));return l}},function(t,e,s){var r=s(17),n=s(18),i=s(37);t.exports=s(14)?Object.defineProperties:function(t,e){n(t);for(var s,a=i(e),o=a.length,u=0;o>u;)r.f(t,s=a[u++],e[s]);return t}},function(t,e,s){t.exports=s(24)},function(t,e,s){t.exports=!s(14)&&!s(29)(function(){return 7!=Object.defineProperty(s(77)("div"),"a",{get:function(){return 7}}).a})},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=a(s(0)),n=a(s(1)),i=a(s(51));function a(t){return t&&t.__esModule?t:{default:t}}var o=function(){function t(){(0,r.default)(this,t)}return(0,n.default)(t,null,[{key:"calculate",value:function(e,s,r){var n=t.calculateAdjacencyMatrix(e,s);if(!r.noCoreSize){var i=t.calculateVisibilityMatrix(e,n);t.calculateCoreSize(e,i)}}},{key:"calculateAdjacencyMatrix",value:function(e,s){for(var r=e.modules,n=r.length,a=i.default.create2DArray(n,0),o=0,u=0;u<n;u++)for(var l=0;l<n;l++)a[u][l]=u!==l&&t.doesDependencyExist(s,r[u],r[l])?1:0,1===a[u][l]&&(o+=1);return e.adjacencyList=i.default.compactMatrix(a),e.firstOrderDensity=i.default.getPercent(o,n*n),a}},{key:"calculateCoreSize",value:function(t,e){if(0!==t.firstOrderDensity){for(var s=e.length,r=new Array(s),n=new Array(s),a=0,o=function(t){r[t]=e[t].reduce(function(e,s,r){return n[r]=0===t?s:n[r]+s,e+s},0)},u=0;u<s;u++)o(u);var l=i.default.getMedian(r.slice()),h=i.default.getMedian(n.slice());for(u=0;u<s;u++)r[u]>=l&&n[u]>=h&&(a+=1);t.coreSize=i.default.getPercent(a,s)}else t.coreSize=0}},{key:"calculateVisibilityMatrix",value:function(t,e){for(var s=0,r=e.length,n=i.default.create2DArray(r,0),a=0;a<r;a++)for(var o=0;o<r;o++)n[a][o]=a===o?1:e[a][o]||1/0;for(var u=0;u<r;u++)for(var l=0;l<r;l++)for(var h=0;h<r;h++)n[l][h]>n[l][u]+n[u][h]&&(n[l][h]=n[l][u]+n[u][h]);for(var c=0;c<r;c++)for(var p=0;p<r;p++)n[c][p]<1/0?(s++,c!==p&&(n[c][p]=1)):n[c][p]=0;return t.visibilityList=i.default.compactMatrix(n),t.changeCost=i.default.getPercent(s,r*r),n}},{key:"doesDependencyExist",value:function(t,e,s){for(var r=!1,n=t.dirname(e.srcPath),i=0;i<e.dependencies.length;i++){var a=e.dependencies[i].path;if("string"==typeof s.srcPathAlias&&a===s.srcPathAlias){r=!0;break}}if(r)return!0;for(var o=0;o<e.dependencies.length;o++){var u=e.dependencies[o].path;if(""===t.extname(u)&&(u+=t.extname(s.srcPath)),u===s.srcPath){r=!0;break}if(n.startsWith(t.sep)||(n=""+t.sep+n),t.resolve(n,u)===s.srcPath){r=!0;break}var l=s.srcPath;if(l.startsWith(".")&&(l=l.replace(/^\./,"")),l.startsWith(t.sep)||(l=""+t.sep+l),t.resolve(n,u)===l){r=!0;break}}return r}}]),t}();e.default=o,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=a(s(0)),n=a(s(1)),i=a(s(11));function a(t){return t&&t.__esModule?t:{default:t}}var o=function(){function t(){(0,r.default)(this,t)}return(0,n.default)(t,null,[{key:"calculate",value:function(t){var e=0===t.modules.length?1:t.modules.length,s=t.moduleAverage,r=i.default.getAccessorList(s);t.modules.forEach(function(t){r.forEach(function(e){var r=i.default.safeAccess(t,e,0);i.default.safeSet(s,e,r,"add")})}),r.forEach(function(t){i.default.safeSet(s,t,e,"div")})}}]),t}();e.default=o,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=o(s(0)),n=o(s(1)),i=o(s(131)),a=o(s(130));function o(t){return t&&t.__esModule?t:{default:t}}var u=function(){function t(){(0,r.default)(this,t)}return(0,n.default)(t,[{key:"onConfigure",value:function(t){t.data.settings.noCoreSize="boolean"==typeof t.data.options.noCoreSize&&t.data.options.noCoreSize}},{key:"onProjectAverage",value:function(t){i.default.calculate(t.data.projectReport)}},{key:"onProjectCalculate",value:function(t){a.default.calculate(t.data.projectReport,t.data.pathModule,t.data.settings)}}]),t}();e.default=u,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=o(s(0)),n=o(s(1)),i=o(s(84)),a=o(s(132));function o(t){return t&&t.__esModule?t:{default:t}}var u=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,r.default)(this,t),this._pluginManager=new i.default,("boolean"!=typeof e.loadDefaultPlugins||e.loadDefaultPlugins)&&this._pluginManager.add({name:"escomplex-plugin-metrics-project",instance:new a.default})}return(0,n.default)(t,[{key:"onConfigure",value:function(t){var e={serializeModules:"boolean"!=typeof t.serializeModules||t.serializeModules,skipCalculation:"boolean"==typeof t.skipCalculation&&t.skipCalculation},s=this._pluginManager.invokeSyncEvent("onConfigure",{options:t,settings:e});return null!==s?s.settings:e}},{key:"onProjectAverage",value:function(t,e,s){var r=this._pluginManager.invokeSyncEvent("onProjectAverage",void 0,{projectReport:t,pathModule:e,settings:s});return null!==r?r.projectReport:t}},{key:"onProjectCalculate",value:function(t,e,s){var r=this._pluginManager.invokeSyncEvent("onProjectCalculate",void 0,{projectReport:t,pathModule:e,settings:s});return null!==r?r.projectReport:t}},{key:"onProjectEnd",value:function(t,e,s){var r=this._pluginManager.invokeSyncEvent("onProjectEnd",void 0,{projectReport:t,pathModule:e,settings:s});return null!==r?r.projectReport:t}},{key:"onProjectPostAverage",value:function(t,e,s){var r=this._pluginManager.invokeSyncEvent("onProjectPostAverage",void 0,{projectReport:t,pathModule:e,settings:s});return null!==r?r.projectReport:t}},{key:"onProjectStart",value:function(t,e){this._pluginManager.invokeSyncEvent("onProjectStart",void 0,{pathModule:t,settings:e})}}]),t}();e.default=u,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=o(s(0)),n=o(s(1)),i=o(s(54)),a=o(s(11));function o(t){return t&&t.__esModule?t:{default:t}}var u=function(){function t(){(0,r.default)(this,t),this.methodAverage=new i.default,this.maintainability=0}return(0,n.default)(t,[{key:"keys",get:function(){return l}}]),t}();e.default=u;var l=a.default.getAccessorList(new u);t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=y(s(19)),n=y(s(5)),i=y(s(2)),a=y(s(0)),o=y(s(1)),u=y(s(25)),l=y(s(134)),h=y(s(52)),c=y(s(9)),p=y(s(51)),d=y(s(11)),f=y(s(21));function y(t){return t&&t.__esModule?t:{default:t}}var v=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{serializeModules:!0};(0,a.default)(this,t),this.settings="object"===(void 0===s?"undefined":(0,i.default)(s))?(0,n.default)({},s):{serializeModules:!0},this.adjacencyList=void 0,this.changeCost=0,this.coreSize=0,this.errors=[],this.firstOrderDensity=0,this.moduleAverage=new l.default,this.modules=Array.isArray(e)?e.sort(function(t,e){return f.default.compare(t.srcPath,e.srcPath)}):[],this.visibilityList=void 0}return(0,o.default)(t,[{key:"type",get:function(){return c.default.PROJECT}}]),(0,o.default)(t,[{key:"clearErrors",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.errors=[],t&&this.modules.forEach(function(t){t.clearErrors()})}},{key:"finalize",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("object"!==(void 0===t?"undefined":(0,i.default)(t)))throw new TypeError("finalize error: 'options' is not an 'object'.");var e=this.getSetting("serializeModules",!0);return"boolean"==typeof t.serializeModules&&(e=t.serializeModules),e?this.modules.forEach(function(t){t.finalize()}):this.modules=this.modules.map(function(t){return{filePath:t.filePath,srcPath:t.srcPath,srcPathAlias:t.srcPathAlias}}),p.default.toFixedTraverse(this)}},{key:"getErrors",value:function(){var t,e=this,s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{includeChildren:!0,includeReports:!1};if("object"!==(void 0===s?"undefined":(0,i.default)(s)))throw new TypeError("getErrors error: 'options' is not an 'object'.");"boolean"!=typeof s.includeChildren&&(s.includeChildren=!0);var n=s.includeReports?this.errors.map(function(t){return{error:t,source:e}}):(t=[]).concat.apply(t,(0,r.default)(this.errors));return s.includeChildren&&this.modules.forEach(function(t){var e;(e=n).push.apply(e,(0,r.default)(t.getErrors(s)))}),"object"===(0,i.default)(s.query)&&(n=n.filter(function(t){return d.default.safeEqual(s.query,t)})),n}},{key:"getName",value:function(){return""}},{key:"getSetting",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if("string"!=typeof t||""===t)throw new TypeError("getSetting error: 'key' is not a 'string' or is empty.");return"object"===(0,i.default)(this.settings)&&void 0!==this.settings[t]?this.settings[t]:e}},{key:"setSetting",value:function(t,e){if("string"!=typeof t||""===t)throw new TypeError("setSetting error: 'key' is not a 'string' or is empty.");return"object"===this.settings&&(this.settings[t]=e,!0)}},{key:"toFormat",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;return u.default.format(this,t,e)}}],[{key:"getFormats",value:function(){return u.default.getFormats(c.default.PROJECT)}},{key:"parse",value:function(e){var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{skipFinalize:!1};if("object"!==(void 0===e?"undefined":(0,i.default)(e)))throw new TypeError("parse error: 'object' is not an 'object'.");if("object"!==(void 0===s?"undefined":(0,i.default)(s)))throw new TypeError("parse error: 'options' is not an 'object'.");var r=(0,n.default)(new t,e);return r.modules.length>0&&(r.modules=r.modules.map(function(t){return h.default.parse(t)})),s.skipFinalize||r.getSetting("serializeModules",!0)||r.finalize(),r}}]),t}();e.default=v,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=c(s(31)),n=c(s(2)),i=c(s(0)),a=c(s(1)),o=c(s(108)),u=c(s(52)),l=c(s(135)),h=c(s(133));function c(t){return t&&t.__esModule?t:{default:t}}var p=function(){function t(e){var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if((0,i.default)(this,t),"object"!==(void 0===e?"undefined":(0,n.default)(e)))throw new TypeError("ctor error: `pathModule` is not an `object`.");if("string"!=typeof e.sep)throw new TypeError("ctor error: `pathModule.sep` is not a `string`.");if("function"!=typeof e.dirname)throw new TypeError("ctor error: `pathModule.dirname` is not a `function`.");if("function"!=typeof e.extname)throw new TypeError("ctor error: `pathModule.extname` is not a `function`.");if("function"!=typeof e.relative)throw new TypeError("ctor error: `pathModule.relative` is not a `function`.");if("function"!=typeof e.resolve)throw new TypeError("ctor error: `pathModule.resolve` is not a `function`.");if("object"!==(void 0===s?"undefined":(0,n.default)(s)))throw new TypeError("ctor error: `options` is not an `object`.");this._pathModule=e,this._plugins=new h.default(s.project),this._escomplexModule=new o.default(s.module)}return(0,a.default)(t,[{key:"analyze",value:function(t){var e=this,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!Array.isArray(t))throw new TypeError("analyze error: `modules` is not an `array`.");if("object"!==(void 0===s?"undefined":(0,n.default)(s)))throw new TypeError("analyze error: `options` is not an `object`.");var r=this._plugins.onConfigure(s);this._plugins.onProjectStart(this._pathModule,r);var i=t.map(function(t){var r=void 0;if("string"!=typeof t.srcPath||""===t.srcPath)throw new Error("analyze error: Invalid `srcPath`");try{return(r=e._escomplexModule.analyze(t.ast,s)).filePath=t.filePath,r.srcPath=t.srcPath,r.srcPathAlias=t.srcPathAlias,r}catch(e){throw e.message=t.srcPath+": "+e.message,e}},[]),a=new l.default(i,r);return r.skipCalculation?a:(this._plugins.onProjectCalculate(a,this._pathModule,r),this._plugins.onProjectAverage(a,this._pathModule,r),this._plugins.onProjectPostAverage(a,this._pathModule,r),this._plugins.onProjectEnd(a,this._pathModule,r),a.finalize())}},{key:"process",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(t instanceof l.default))throw new TypeError("process error: `projectReport` is not an instance of ProjectReport.");if("object"!==(void 0===e?"undefined":(0,n.default)(e)))throw new TypeError("process error: `options` is not an `object`.");if(t.modules.length>0&&!(t.modules[0]instanceof u.default))throw new TypeError("process error: `projectReport.modules` does not appear to contain `ModuleReport` entries.");var s=this._plugins.onConfigure(e);return t.settings=s,this._plugins.onProjectStart(this._pathModule,s),this._plugins.onProjectCalculate(t,this._pathModule,s),this._plugins.onProjectAverage(t,this._pathModule,s),this._plugins.onProjectPostAverage(t,this._pathModule,s),this._plugins.onProjectEnd(t,this._pathModule,s),t.finalize()}},{key:"analyzeAsync",value:function(t){var e=this,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new r.default(function(r,n){try{r(e.analyze(t,s))}catch(t){n(t)}})}},{key:"processAsync",value:function(t){var e=this,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new r.default(function(r,n){try{r(e.process(t,s))}catch(t){n(t)}})}}]),t}();e.default=p,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=a(s(16)),n=a(s(5)),i=a(s(0));function a(t){return t&&t.__esModule?t:{default:t}}e.default=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;(0,i.default)(this,t),this.data=(0,n.default)(JSON.parse((0,r.default)(e)),s),this.extra=a,this.eventbus=void 0,this.pluginName=void 0,this.pluginOptions=void 0},t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(s(0)),n=i(s(1));function i(t){return t&&t.__esModule?t:{default:t}}var a=function(){function t(e,s,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0;(0,r.default)(this,t),this._data=s,this._enabled=!0,this._name=e,this._instance=n,this._eventProxy=i}return(0,n.default)(t,[{key:"data",get:function(){return this._data}},{key:"enabled",get:function(){return this._enabled},set:function(t){this._enabled=t}},{key:"eventProxy",get:function(){return this._eventProxy}},{key:"instance",get:function(){return this._instance}},{key:"name",get:function(){return this._name}}],[{key:"escape",value:function(t){if("string"!=typeof t)throw new TypeError("'value' is not a 'string'");var e=t.replace(/^(\.\.|\.)/,"");return e=(e=e.replace(/[\\]/g,"\\")).replace(/[\/]/g,"\\/")}}]),t}();e.default=a,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=o(s(2)),n=o(s(22)),i=o(s(0)),a=o(s(1));function o(t){return t&&t.__esModule?t:{default:t}}var u=function(){function t(){(0,i.default)(this,t)}return(0,a.default)(t,[{key:"bind",value:function(){return this.on.apply(this,arguments)}},{key:"listenTo",value:function(t,e,s){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:this;if(!t)return this;var n=t._listenId||(t._listenId=g("l")),i=this._listeningTo||(this._listeningTo={}),a=i[n];if(!a){var o=this._listenId||(this._listenId=g("l"));a=i[n]={obj:t,objId:n,id:o,listeningTo:i,count:0}}return c(t,e,s,r,a),this}},{key:"listenToOnce",value:function(t,e,s){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:this,n=h(f,{},e,s,this.stopListening.bind(this,t));return this.listenTo(t,n,void 0,r)}},{key:"off",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;return this._events?(this._events=h(p,this._events,t,e,{context:s,listeners:this._listeners}),this):this}},{key:"on",value:function(t,e){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;return c(this,t,e,s,void 0)}},{key:"once",value:function(t,e){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,r=h(f,{},t,e,this.off.bind(this));return"string"!=typeof t||null!==s&&void 0!==s||(e=void 0),this.on(r,e,s)}},{key:"stopListening",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:this,i=this._listeningTo;if(!i)return this;for(var a=t?[t._listenId]:(0,n.default)(i),o=0;o<a.length;o++){var u=i[a[o]];if(!u)break;u.obj.off(e,s,r)}return this}},{key:"trigger",value:function(t){if(!this._events)return this;for(var e=Math.max(0,arguments.length-1),s=new Array(e),r=0;r<e;r++)s[r]=arguments[r+1];return h(y,this._events,t,void 0,s),this}},{key:"unbind",value:function(){return this.off.apply(this,arguments)}}]),t}();e.default=u;var l=/\s+/,h=function t(e,s,i,a,o){var u=0,h=void 0;if(i&&"object"===(void 0===i?"undefined":(0,r.default)(i))){void 0!==a&&"context"in o&&void 0===o.context&&(o.context=a);for(h=(0,n.default)(i);u<h.length;u++)s=t(e,s,h[u],i[h[u]],o)}else if(i&&l.test(i))for(h=i.split(l);u<h.length;u++)s=e(s,h[u],a,o);else s=e(s,i,a,o);return s},c=function(t,e,s,r,n){(t._events=h(d,t._events||{},e,s,{context:r,ctx:t,listening:n}),n)&&((t._listeners||(t._listeners={}))[n.id]=n);return t},p=function(t,e,s,r){if(t){var i=0,a=void 0,o=r.context,u=r.listeners;if(e||s||o||!u){for(var l=e?[e]:(0,n.default)(t);i<l.length;i++){var h=t[e=l[i]];if(!h)break;for(var c=[],p=0;p<h.length;p++){var d=h[p];s&&s!==d.callback&&s!==d.callback._callback||o&&o!==d.context?c.push(d):(a=d.listening)&&0==--a.count&&(delete u[a.id],delete a.listeningTo[a.objId])}c.length?t[e]=c:delete t[e]}return t}for(var f=(0,n.default)(u);i<f.length;i++)delete u[(a=u[f[i]]).id],delete a.listeningTo[a.objId]}},d=function(t,e,s,r){if(s){var n=t[e]||(t[e]=[]),i=r.context,a=r.ctx,o=r.listening;o&&o.count++,n.push({callback:s,context:i,ctx:i||a,listening:o})}return t},f=function(t,e,s,r){var n=this,i=arguments;if(s){var a=t[e]=function(){return r(e,a),s.apply(n,i)};a._callback=s}return t},y=function(t,e,s,r){if(t){var n=t[e],i=t.all;n&&i&&(i=i.slice()),n&&v(n,r),i&&v(i,[e].concat(r))}return t},v=function(t,e){var s=void 0,r=-1,n=e[0],i=e[1],a=e[2],o=t.length;switch(e.length){case 0:for(;++r<o;)(s=t[r]).callback.call(s.ctx);return;case 1:for(;++r<o;)(s=t[r]).callback.call(s.ctx,n);return;case 2:for(;++r<o;)(s=t[r]).callback.call(s.ctx,n,i);return;case 3:for(;++r<o;)(s=t[r]).callback.call(s.ctx,n,i,a);return;default:for(;++r<o;)(s=t[r]).callback.apply(s.ctx,e);return}},m=0,g=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e=""+ ++m;return t?""+t+e:e};t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=m(s(2)),n=m(s(83)),i=m(s(31)),a=m(s(82)),o=m(s(22)),u=m(s(23)),l=m(s(4)),h=m(s(0)),c=m(s(1)),p=m(s(7)),d=m(s(97)),f=m(s(6)),y=m(s(139)),v=m(s(81));function m(t){return t&&t.__esModule?t:{default:t}}var g=function(t){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0;(0,h.default)(this,e);var s=(0,p.default)(this,(e.__proto__||(0,l.default)(e)).call(this));return s.setEventbusName(t),s}return(0,f.default)(e,t),(0,c.default)(e,[{key:"createEventProxy",value:function(){return new v.default(this)}},{key:"forEachEvent",value:function(t){if(this._events){if("function"!=typeof t)throw new TypeError("'callback' is not a 'function'.");for(var e in this._events){var s=!0,r=!1,n=void 0;try{for(var i,a=(0,u.default)(this._events[e]);!(s=(i=a.next()).done);s=!0){var o=i.value;t(e,o.callback,o.ctx)}}catch(t){r=!0,n=t}finally{try{!s&&a.return&&a.return()}finally{if(r)throw n}}}}}},{key:"getEventbusName",value:function(){return this._eventbusName}},{key:"getEventNames",value:function(){return this._events?(0,o.default)(this._events):[]}},{key:"setEventbusName",value:function(t){return this._eventbusName=t,this}},{key:"triggerAsync",value:function(){var t=(0,a.default)(n.default.mark(function t(e){var s,r,a,o,u=arguments;return n.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:for(this._events||i.default.all([]),s=Math.max(0,u.length-1),r=new Array(s),a=0;a<s;a++)r[a]=u[a+1];return o=w(P,E,this._events,e,void 0,r),t.abrupt("return",void 0!==o?o:i.default.resolve());case 6:case"end":return t.stop()}},t,this)}));return function(e){return t.apply(this,arguments)}}()},{key:"triggerDefer",value:function(){var t=this,s=arguments;return setTimeout(function(){(0,d.default)(e.prototype.__proto__||(0,l.default)(e.prototype),"trigger",t).apply(t,s)},0),this}},{key:"triggerSync",value:function(t){if(this._events){for(var e=Math.max(0,arguments.length-1),s=new Array(e),r=0;r<e;r++)s[r]=arguments[r+1];return w(P,_,this._events,t,void 0,s)}}},{key:"eventCount",get:function(){var t=0;for(var e in this._events)t+=this._events[e].length;return t}}]),e}(y.default);e.default=g;var x,b=/\s+/,w=function t(e,s,n,i,a,u){var l=0,h=void 0;if(i&&"object"===(void 0===i?"undefined":(0,r.default)(i))){void 0!==a&&"context"in u&&void 0===u.context&&(u.context=a);for(h=(0,o.default)(i);l<h.length;l++)n=t(e,s,n,h[l],i[h[l]],u)}else if(i&&b.test(i))for(h=i.split(b);l<h.length;l++)n=e(s,n,h[l],a,u);else n=e(s,n,i,a,u);return n},P=function(t,e,s,r,n){var i=void 0;if(e){var a=e[s],o=e.all;a&&o&&(o=o.slice()),a&&(i=t(a,n)),o&&(i=t(o,[s].concat(n)))}return i},E=(x=(0,a.default)(n.default.mark(function t(e,s){var r,a,o,u,l,h,c,p;return n.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:r=void 0,a=-1,o=s[0],u=s[1],l=s[2],h=e.length,c=void 0,p=[],t.prev=4,t.t0=s.length,t.next=0===t.t0?8:1===t.t0?10:2===t.t0?12:3===t.t0?14:16;break;case 8:for(;++a<h;)null===(c=(r=e[a]).callback.call(r.ctx))&&void 0===c||p.push(c);return t.abrupt("break",18);case 10:for(;++a<h;)null===(c=(r=e[a]).callback.call(r.ctx,o))&&void 0===c||p.push(c);return t.abrupt("break",18);case 12:for(;++a<h;)null===(c=(r=e[a]).callback.call(r.ctx,o,u))&&void 0===c||p.push(c);return t.abrupt("break",18);case 14:for(;++a<h;)null===(c=(r=e[a]).callback.call(r.ctx,o,u,l))&&void 0===c||p.push(c);return t.abrupt("break",18);case 16:for(;++a<h;)null===(c=(r=e[a]).callback.apply(r.ctx,s))&&void 0===c||p.push(c);return t.abrupt("break",18);case 18:t.next=23;break;case 20:return t.prev=20,t.t1=t.catch(4),t.abrupt("return",i.default.reject(t.t1));case 23:return t.abrupt("return",p.length>1?i.default.all(p):i.default.resolve(c));case 24:case"end":return t.stop()}},t,void 0,[[4,20]])})),function(t,e){return x.apply(this,arguments)}),_=function(t,e){var s=void 0,r=-1,n=e[0],i=e[1],a=e[2],o=t.length,u=void 0,l=[];switch(e.length){case 0:for(;++r<o;)null===(u=(s=t[r]).callback.call(s.ctx))&&void 0===u||l.push(u);break;case 1:for(;++r<o;)null===(u=(s=t[r]).callback.call(s.ctx,n))&&void 0===u||l.push(u);break;case 2:for(;++r<o;)null===(u=(s=t[r]).callback.call(s.ctx,n,i))&&void 0===u||l.push(u);break;case 3:for(;++r<o;)null===(u=(s=t[r]).callback.call(s.ctx,n,i,a))&&void 0===u||l.push(u);break;default:for(;++r<o;)null===(u=(s=t[r]).callback.apply(s.ctx,e))&&void 0===u||l.push(u)}return l.length>1?l:u};t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=p(s(44)),n=p(s(100)),i=p(s(16)),a=p(s(22)),o=p(s(23)),u=p(s(15)),l=p(s(2)),h=p(s(0)),c=p(s(1));function p(t){return t&&t.__esModule?t:{default:t}}e.onPluginLoad=function(t){var e=t.eventbus;e.on("typhonjs:object:util:deep:freeze",d.deepFreeze,d),e.on("typhonjs:object:util:depth:traverse",d.depthTraverse,d),e.on("typhonjs:object:util:get:accessor:list",d.getAccessorList,d),e.on("typhonjs:object:util:safe:access",d.safeAccess,d),e.on("typhonjs:object:util:safe:batch:set",d.safeBatchSet,d),e.on("typhonjs:object:util:safe:equal",d.safeEqual,d),e.on("typhonjs:object:util:safe:set",d.safeSet,d),e.on("typhonjs:object:util:safe:set:all",d.safeSetAll,d),e.on("typhonjs:object:util:validate",d.validate,d),e.on("typhonjs:object:util:validate:array",d.validateArray,d),e.on("typhonjs:object:util:validate:entry",d.validateEntry,d),e.on("typhonjs:object:util:validate:entry|array",d.validateEntryOrArray,d)};var d=function(){function t(){(0,h.default)(this,t)}return(0,c.default)(t,null,[{key:"deepFreeze",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if("object"!==(void 0===t?"undefined":(0,l.default)(t)))throw new TypeError("'data' is not an 'object'.");if(!Array.isArray(e))throw new TypeError("'skipFreezeKeys' is not an 'array'.");return function t(e,s){if(Array.isArray(e))for(var n=0;n<e.length;n++)t(e[n],s);else if("object"===(void 0===e?"undefined":(0,l.default)(e)))for(var i in e)e.hasOwnProperty(i)&&-1===s.indexOf(i)&&t(e[i],s);return(0,r.default)(e)}(t,e)}},{key:"depthTraverse",value:function(t,e){var s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("object"!==(void 0===t?"undefined":(0,l.default)(t)))throw new TypeError("'data' is not an 'object'.");if("function"!=typeof e)throw new TypeError("'func' is not a 'function'.");return function t(e,s,r){if(r)if(Array.isArray(e))for(var n=0;n<e.length;n++)e[n]=t(e[n],s,r);else if("object"===(void 0===e?"undefined":(0,l.default)(e)))for(var i in e)e.hasOwnProperty(i)&&(e[i]=t(e[i],s,r));else e=s(e);else if(Array.isArray(e))for(var a=0;a<e.length;a++)t(e[a],s,r);else if("object"===(void 0===e?"undefined":(0,l.default)(e)))for(var o in e)e.hasOwnProperty(o)&&t(e[o],s,r);else s(e);return e}(t,e,s)}},{key:"getAccessorList",value:function(t){if("object"!==(void 0===t?"undefined":(0,l.default)(t)))throw new TypeError("getAccessorList error: 'data' is not an 'object'.");return function t(e){var s=[];var r=function(r){if(e.hasOwnProperty(r))if("object"===(0,l.default)(e[r])){var n=t(e[r]);n.forEach(function(t){s.push(Array.isArray(t)?r+"."+t.join("."):r+"."+t)})}else s.push(r)};for(var n in e)r(n);return s}(t)}},{key:"safeAccess",value:function(t,e){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;if("object"!==(void 0===t?"undefined":(0,l.default)(t)))return s;if("string"!=typeof e)return s;for(var r=e.split("."),n=0;n<r.length;n++){if(void 0===t[r[n]]||null===t[r[n]])return s;t=t[r[n]]}return t}},{key:"safeBatchSet",value:function(e,s,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"set",i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];if("object"!==(void 0===e?"undefined":(0,l.default)(e)))throw new TypeError("safeBatchSet Error: 'data' is not an 'object'.");if(!Array.isArray(s))throw new TypeError("safeBatchSet Error: 'accessors' is not an 'array'.");"object"===(void 0===r?"undefined":(0,l.default)(r))?s.forEach(function(s){var o=t.safeAccess(r,s,i);t.safeSet(e,s,o,n,a)}):s.forEach(function(s){t.safeSet(e,s,r,n,a)})}},{key:"safeEqual",value:function(e,s){if(void 0===e||null===e||void 0===s||null===s)return!1;for(var r=t.getAccessorList(e),n=0;n<r.length;n++){var i=r[n];if(t.safeAccess(e,i)!==t.safeAccess(s,i))return!1}return!0}},{key:"safeSet",value:function(t,e,s){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"set",n=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];if("object"!==(void 0===t?"undefined":(0,l.default)(t)))throw new TypeError("safeSet Error: 'data' is not an 'object'.");if("string"!=typeof e)throw new TypeError("safeSet Error: 'accessor' is not a 'string'.");for(var i=e.split("."),a=0;a<i.length;a++){if(Array.isArray(t)){var o=+i[a];if(!(0,u.default)(o)||o<0)return!1}if(a===i.length-1)switch(r){case"add":t[i[a]]+=s;break;case"div":t[i[a]]/=s;break;case"mult":t[i[a]]*=s;break;case"set":t[i[a]]=s;break;case"set-undefined":void 0===t[i[a]]&&(t[i[a]]=s);break;case"sub":t[i[a]]-=s}else{if(n&&void 0===t[i[a]]&&(t[i[a]]={}),null===t[i[a]]||"object"!==(0,l.default)(t[i[a]]))return!1;t=t[i[a]]}}return!0}},{key:"safeSetAll",value:function(e,s){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"set",n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if("object"!==(void 0===e?"undefined":(0,l.default)(e)))throw new TypeError("'data' is not an 'object'.");if("object"!==(void 0===s?"undefined":(0,l.default)(s)))throw new TypeError("'accessorValues' is not an 'object'.");var i=!0,u=!1,h=void 0;try{for(var c,p=(0,o.default)((0,a.default)(s));!(i=(c=p.next()).done);i=!0){var d=c.value;s.hasOwnProperty(d)&&t.safeSet(e,d,s[d],r,n)}}catch(t){u=!0,h=t}finally{try{!i&&p.return&&p.return()}finally{if(u)throw h}}}},{key:"validate",value:function(e){var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"data";if("object"!==(void 0===e?"undefined":(0,l.default)(e)))throw new TypeError("'"+r+"' is not an 'object'.");if("object"!==(void 0===s?"undefined":(0,l.default)(s)))throw new TypeError("'validationData' is not an 'object'.");var n=void 0,i=!0,u=!1,h=void 0;try{for(var c,p=(0,o.default)((0,a.default)(s));!(i=(c=p.next()).done);i=!0){var d=c.value;if(s.hasOwnProperty(d)){var f=s[d];switch(f.test){case"array":n=t.validateArray(e,d,f,r);break;case"entry":n=t.validateEntry(e,d,f,r);break;case"entry|array":n=t.validateEntryOrArray(e,d,f,r)}}}}catch(t){u=!0,h=t}finally{try{!i&&p.return&&p.return()}finally{if(u)throw h}}return n}},{key:"validateArray",value:function(e,s){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=r.type,o=void 0===a?void 0:a,u=r.expected,h=void 0===u?void 0:u,c=r.message,p=void 0===c?void 0:c,d=r.required,y=void 0===d||d,v=r.error,m=void 0===v||v,g=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"data",x=t.safeAccess(e,s);if(!y&&void 0===x)return!0;if(!Array.isArray(x)){if(m)throw f(TypeError,"'"+g+"."+s+"' is not an 'array'.");return!1}if("string"==typeof o)for(var b=0;b<x.length;b++)if((0,l.default)(x[b])!==o){if(m){var w="object"===(0,l.default)(x[b])?(0,i.default)(x[b]):x[b];throw f(TypeError,"'"+g+"."+s+"["+b+"]': '"+w+"' is not a '"+o+"'.")}return!1}if(Array.isArray(h)){for(var P=0;P<x.length;P++)if(h.indexOf(x[P])<0){if(m){var E="object"===(0,l.default)(x[P])?(0,i.default)(x[P]):x[P];throw f(Error,"'"+g+"."+s+"["+P+"]': '"+E+"' is not an expected value: "+(0,i.default)(h)+".")}return!1}}else if(h instanceof n.default){for(var _=0;_<x.length;_++)if(!h.has(x[_])){if(m){var k="object"===(0,l.default)(x[_])?(0,i.default)(x[_]):x[_];throw f(Error,"'"+g+"."+s+"["+_+"]': '"+k+"' is not an expected value: "+(0,i.default)(h)+".")}return!1}}else if("function"==typeof h)for(var A=0;A<x.length;A++)try{var T=h(x[A]);if(void 0===T||!T)throw new Error(p)}catch(t){if(m){var S="object"===(0,l.default)(x[A])?(0,i.default)(x[A]):x[A];throw f(Error,"'"+g+"."+s+"["+A+"]': '"+S+"' failed validation: "+t.message+".")}return!1}return!0}},{key:"validateEntry",value:function(e,s){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=r.type,o=void 0===a?void 0:a,u=r.expected,h=void 0===u?void 0:u,c=r.message,p=void 0===c?void 0:c,d=r.required,y=void 0===d||d,v=r.error,m=void 0===v||v,g=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"data",x=t.safeAccess(e,s);if(!y&&void 0===x)return!0;if(o&&(void 0===x?"undefined":(0,l.default)(x))!==o){if(m)throw f(TypeError,"'"+g+"."+s+"' is not a '"+o+"'.");return!1}if(h instanceof n.default&&!h.has(x)||Array.isArray(h)&&h.indexOf(x)<0){if(m){var b="object"===(void 0===x?"undefined":(0,l.default)(x))?(0,i.default)(x):x;throw f(Error,"'"+g+"."+s+"': '"+b+"' is not an expected value: "+(0,i.default)(h)+".")}return!1}if("function"==typeof h)try{var w=h(x);if(void 0===w||!w)throw new Error(p)}catch(t){if(m){var P="object"===(void 0===x?"undefined":(0,l.default)(x))?(0,i.default)(x):x;throw f(Error,"'"+g+"."+s+"': '"+P+"' failed to validate: "+t.message+".")}return!1}return!0}},{key:"validateEntryOrArray",value:function(e,s,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"data",i=t.safeAccess(e,s);return Array.isArray(i)?t.validateArray(e,s,r,n):t.validateEntry(e,s,r,n)}}]),t}();function f(t){var e=new t(arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0);return e._objectValidateError=!0,e}e.default=d},function(t,e){!function(e){"use strict";var s,r=Object.prototype,n=r.hasOwnProperty,i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",o=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag",l="object"==typeof t,h=e.regeneratorRuntime;if(h)l&&(t.exports=h);else{(h=e.regeneratorRuntime=l?t.exports:{}).wrap=b;var c="suspendedStart",p="suspendedYield",d="executing",f="completed",y={},v={};v[a]=function(){return this};var m=Object.getPrototypeOf,g=m&&m(m(N([])));g&&g!==r&&n.call(g,a)&&(v=g);var x=_.prototype=P.prototype=Object.create(v);E.prototype=x.constructor=_,_.constructor=E,_[u]=E.displayName="GeneratorFunction",h.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===E||"GeneratorFunction"===(e.displayName||e.name))},h.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,_):(t.__proto__=_,u in t||(t[u]="GeneratorFunction")),t.prototype=Object.create(x),t},h.awrap=function(t){return{__await:t}},k(A.prototype),A.prototype[o]=function(){return this},h.AsyncIterator=A,h.async=function(t,e,s,r){var n=new A(b(t,e,s,r));return h.isGeneratorFunction(e)?n:n.next().then(function(t){return t.done?t.value:n.next()})},k(x),x[u]="Generator",x[a]=function(){return this},x.toString=function(){return"[object Generator]"},h.keys=function(t){var e=[];for(var s in t)e.push(s);return e.reverse(),function s(){for(;e.length;){var r=e.pop();if(r in t)return s.value=r,s.done=!1,s}return s.done=!0,s}},h.values=N,M.prototype={constructor:M,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=s,this.done=!1,this.delegate=null,this.method="next",this.arg=s,this.tryEntries.forEach(C),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=s)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(r,n){return o.type="throw",o.arg=t,e.next=r,n&&(e.method="next",e.arg=s),!!n}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],o=a.completion;if("root"===a.tryLoc)return r("end");if(a.tryLoc<=this.prev){var u=n.call(a,"catchLoc"),l=n.call(a,"finallyLoc");if(u&&l){if(this.prev<a.catchLoc)return r(a.catchLoc,!0);if(this.prev<a.finallyLoc)return r(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return r(a.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return r(a.finallyLoc)}}}},abrupt:function(t,e){for(var s=this.tryEntries.length-1;s>=0;--s){var r=this.tryEntries[s];if(r.tryLoc<=this.prev&&n.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var i=r;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var s=this.tryEntries[e];if(s.finallyLoc===t)return this.complete(s.completion,s.afterLoc),C(s),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var s=this.tryEntries[e];if(s.tryLoc===t){var r=s.completion;if("throw"===r.type){var n=r.arg;C(s)}return n}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:N(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=s),y}}}function b(t,e,s,r){var n=e&&e.prototype instanceof P?e:P,i=Object.create(n.prototype),a=new M(r||[]);return i._invoke=function(t,e,s){var r=c;return function(n,i){if(r===d)throw new Error("Generator is already running");if(r===f){if("throw"===n)throw i;return j()}for(s.method=n,s.arg=i;;){var a=s.delegate;if(a){var o=T(a,s);if(o){if(o===y)continue;return o}}if("next"===s.method)s.sent=s._sent=s.arg;else if("throw"===s.method){if(r===c)throw r=f,s.arg;s.dispatchException(s.arg)}else"return"===s.method&&s.abrupt("return",s.arg);r=d;var u=w(t,e,s);if("normal"===u.type){if(r=s.done?f:p,u.arg===y)continue;return{value:u.arg,done:s.done}}"throw"===u.type&&(r=f,s.method="throw",s.arg=u.arg)}}}(t,s,a),i}function w(t,e,s){try{return{type:"normal",arg:t.call(e,s)}}catch(t){return{type:"throw",arg:t}}}function P(){}function E(){}function _(){}function k(t){["next","throw","return"].forEach(function(e){t[e]=function(t){return this._invoke(e,t)}})}function A(t){var e;this._invoke=function(s,r){function i(){return new Promise(function(e,i){!function e(s,r,i,a){var o=w(t[s],t,r);if("throw"!==o.type){var u=o.arg,l=u.value;return l&&"object"==typeof l&&n.call(l,"__await")?Promise.resolve(l.__await).then(function(t){e("next",t,i,a)},function(t){e("throw",t,i,a)}):Promise.resolve(l).then(function(t){u.value=t,i(u)},a)}a(o.arg)}(s,r,e,i)})}return e=e?e.then(i,i):i()}}function T(t,e){var r=t.iterator[e.method];if(r===s){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=s,T(t,e),"throw"===e.method))return y;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return y}var n=w(r,t.iterator,e.arg);if("throw"===n.type)return e.method="throw",e.arg=n.arg,e.delegate=null,y;var i=n.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=s),e.delegate=null,y):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,y)}function S(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function C(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function M(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(S,this),this.reset(!0)}function N(t){if(t){var e=t[a];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,i=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=s,e.done=!0,e};return i.next=i}}return{next:j}}function j(){return{value:s,done:!0}}}(function(){return this}()||Function("return this")())},function(t,e,s){var r=function(){return this}()||Function("return this")(),n=r.regeneratorRuntime&&Object.getOwnPropertyNames(r).indexOf("regeneratorRuntime")>=0,i=n&&r.regeneratorRuntime;if(r.regeneratorRuntime=void 0,t.exports=s(142),n)r.regeneratorRuntime=i;else try{delete r.regeneratorRuntime}catch(t){r.regeneratorRuntime=void 0}},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=a(s(2)),n=a(s(0)),i=a(s(1));function a(t){return t&&t.__esModule?t:{default:t}}var o=function(){function t(e,s){if((0,n.default)(this,t),"string"!=typeof e)throw new TypeError("ctor error: metric is not a `string`.");this._data=s,this._metric=e}return(0,i.default)(t,[{key:"valueOf",value:function(){for(var t=arguments.length,e=Array(t),s=0;s<t;s++)e[s]=arguments[s];return Array.isArray(this._data)?this._data.map(function(t){return"function"==typeof t?t.apply(void 0,e):t}):"function"==typeof this._data?this._data.apply(this,e):this._data}},{key:"metric",get:function(){return this._metric}},{key:"type",get:function(){return(0,r.default)(this._data)}}]),t}();e.default=o,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={"||":3,"&&":4,"|":5,"^":6,"&":7,"==":8,"!=":8,"===":8,"!==":8,"<":9,">":9,"<=":9,">=":9,in:9,instanceof:9,"<<":10,">>":10,">>>":10,"+":11,"-":11,"*":12,"%":12,"/":12,"**":12},t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=u(s(2)),n=u(s(0)),i=u(s(1)),a=u(s(86)),o=u(s(145));function u(t){return t&&t.__esModule?t:{default:t}}var l=function(){function t(){(0,n.default)(this,t)}return(0,i.default)(t,null,[{key:"formatSequence",value:function(t,e,s){var r=e.output;if(r.write("("),Array.isArray(t)&&t.length>0){s[t[0].type](t[0],e);for(var n=1;n<t.length;n++){r.write(", ");var i=t[n];s[i.type](i,e)}}r.write(")")}},{key:"formatBinaryExpressionPart",value:function(t,e,s,r,n){var i=a.default[t.type],u=a.default[e.type];if(i>u)n[t.type](t,r);else{if(i===u){if(13!==i&&14!==i)return void n[t.type](t,r);if(s){if(o.default[t.operator]>o.default[e.operator])return void n[t.type](t,r)}else if(o.default[t.operator]>=o.default[e.operator])return void n[t.type](t,r)}r.output.write("("),n[t.type](t,r),r.output.write(")")}}},{key:"hasCallExpression",value:function(t){for(;"object"===(void 0===t?"undefined":(0,r.default)(t));){var e=t.type;if("C"===e[0]&&"a"===e[1])return!0;if("M"!==e[0]||"e"!==e[1]||"m"!==e[2])return!1;t=t.object}}}]),t}();e.default=l,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=a(s(16)),n=a(s(146)),i=a(s(86));function a(t){return t&&t.__esModule?t:{default:t}}var o,u,l,h,c,p;e.default={Program:function(t,e){for(var s=e.lineEnd,r=e.output,n=e.indent.repeat(e.indentLevel),i=t.body,a=0;a<i.length;a++){var o=i[a];r.write(n),this[o.type](o,e),r.write(s)}},BlockStatement:function(t,e){var s=e.lineEnd,r=e.output,n=e.indent.repeat(e.indentLevel++),i=n+e.indent;r.write("{");var a=t.body;if(null!=a&&a.length>0){r.write(s);for(var o=0;o<a.length;o++){var u=a[o];r.write(i),this[u.type](u,e),r.write(s)}r.write(n)}r.write("}"),e.indentLevel--},EmptyStatement:function(t,e){e.output.write(";")},ExpressionStatement:function(t,e){var s=e.output,r=i.default[t.expression.type];17===r||3===r&&"O"===t.expression.left.type[0]?(s.write("("),this[t.expression.type](t.expression,e),s.write(")")):this[t.expression.type](t.expression,e),s.write(";")},IfStatement:function(t,e){var s=e.output;s.write("if ("),s.operators.push("if"),this[t.test.type](t.test,e),s.write(") "),this[t.consequent.type](t.consequent,e),null!=t.alternate&&(s.write(" else "),s.operators.push("else"),this[t.alternate.type](t.alternate,e))},LabeledStatement:function(t,e){this[t.label.type](t.label,e),e.output.write(": "),this[t.body.type](t.body,e)},BreakStatement:function(t,e){var s=e.output;s.write("break"),s.operators.push("break"),t.label&&(s.write(" "),this[t.label.type](t.label,e)),s.write(";")},ContinueStatement:function(t,e){var s=e.output;s.write("continue"),s.operators.push("continue"),t.label&&(s.write(" "),this[t.label.type](t.label,e)),s.write(";")},WithStatement:function(t,e){var s=e.output;s.write("with ("),s.operators.push("with"),this[t.object.type](t.object,e),s.write(") "),this[t.body.type](t.body,e)},SwitchStatement:function(t,e){var s=e.lineEnd,r=e.output,n=e.indent.repeat(e.indentLevel++);e.indentLevel++;var i=n+e.indent,a=i+e.indent;r.write("switch ("),r.operators.push("switch"),this[t.discriminant.type](t.discriminant,e),r.write(") {"+s);for(var o=t.cases,u=o.length,l=0;l<u;l++){var h=o[l];h.test?(r.write(i+"case "),r.operators.push("case"),this[h.test.type](h.test,e),r.write(":"+s)):(r.write(i+"default:"+s),r.operators.push("default"));for(var c=h.consequent,p=c.length,d=0;d<p;d++){var f=c[d];r.write(a),this[f.type](f,e),r.write(s)}}e.indentLevel-=2,r.write(n+"}")},ReturnStatement:function(t,e){var s=e.output;s.write("return"),s.operators.push("return"),t.argument&&(s.write(" "),this[t.argument.type](t.argument,e)),s.write(";")},ThrowStatement:function(t,e){var s=e.output;s.write("throw "),s.operators.push("throw"),this[t.argument.type](t.argument,e),s.write(";")},TryStatement:function(t,e){var s=e.output;if(s.write("try "),s.operators.push("try"),this[t.block.type](t.block,e),t.handler){var r=t.handler;s.write(" catch ("),s.operators.push("catch"),this[r.param.type](r.param,e),s.write(") "),this[r.body.type](r.body,e)}t.finalizer&&(s.write(" finally "),s.operators.push("finally"),this[t.finalizer.type](t.finalizer,e))},WhileStatement:function(t,e){var s=e.output;s.operators.push("while"),s.write("while ("),this[t.test.type](t.test,e),s.write(") "),this[t.body.type](t.body,e)},DoWhileStatement:function(t,e){var s=e.output;s.operators.push("dowhile"),s.write("do "),this[t.body.type](t.body,e),s.write(" while ("),this[t.test.type](t.test,e),s.write(");")},ForStatement:function(t,e){var s=e.output;s.write("for ("),s.operators.push("for"),null!=t.init&&(e.noTrailingSemicolon=!0,this[t.init.type](t.init,e),e.noTrailingSemicolon=!1),s.write("; "),t.test&&this[t.test.type](t.test,e),s.write("; "),t.update&&this[t.update.type](t.update,e),s.write(") "),this[t.body.type](t.body,e)},ForInStatement:l=function(t,e){var s=e.output;s.write("for (");var r=t.left,n=r.type;e.noTrailingSemicolon=!0,this[n](r,e),e.noTrailingSemicolon=!1,s.write("I"===t.type[3]?" in ":" of "),s.operators.push("I"===t.type[3]?"forin":"forof"),this[t.right.type](t.right,e),s.write(") "),this[t.body.type](t.body,e)},ForOfStatement:l,DebuggerStatement:function(t,e){e.output.write("debugger;"+e.lineEnd)},FunctionDeclaration:h=function(t,e){var s=e.output;s.write(t.generator?"function* ":"function "),s.operators.push(t.generator?"function*":"function"),t.id&&(s.write(t.id.name),s.operands.push(t.id.name)),n.default.formatSequence(t.params,e,this),s.write(" "),this[t.body.type](t.body,e)},FunctionExpression:h,VariableDeclaration:function(t,e){var s=e.output,r=t.declarations;s.write(t.kind+" "),s.operators.push(t.kind);var n=r.length;if(n>0){this.VariableDeclarator(r[0],e);for(var i=1;i<n;i++)s.write(", "),this.VariableDeclarator(r[i],e)}!0!==e.noTrailingSemicolon&&s.write(";")},VariableDeclarator:function(t,e){var s=e.output;this[t.id.type](t.id,e),null!=t.init&&(s.write(" = "),s.operators.push("="),this[t.init.type](t.init,e))},ClassDeclaration:function(t,e){var s=e.output;s.write("class "),s.operators.push("class"),t.id&&s.write(t.id.name+" "),t.superClass&&(s.write("extends "),s.operators.push("extends"),this[t.superClass.type](t.superClass,e),s.write(" ")),this.BlockStatement(t.body,e)},ImportDeclaration:function(t,e){var s=e.output;s.write("import "),s.operators.push("import");var r=t.specifiers,n=r.length;if(n>0){for(var i=0,a=void 0;i<n;){i>0&&s.write(", ");var o=(a=r[i]).type[6];if("D"===o)s.write(a.local.name),i++;else{if("N"!==o)break;s.write("* as "+a.local.name),i++}}if(i<n){for(s.write("{");;){var u=(a=r[i]).imported.name;if(s.write(u),u!==a.local.name&&s.write(" as "+a.local.name),!(++i<n))break;s.write(", ")}s.write("}")}s.write(" from "),s.operators.push("from")}this.Literal(t.source,e),s.write(";")},ExportDefaultDeclaration:function(t,e){var s=e.output;s.write("export default "),s.operators.push("export"),s.operators.push("default"),this[t.declaration.type](t.declaration,e),i.default[t.declaration.type]&&"F"!==t.declaration.type[0]&&s.write(";")},ExportNamedDeclaration:function(t,e){var s=e.output;if(s.write("export "),s.operators.push("export"),t.declaration)this[t.declaration.type](t.declaration,e);else{s.write("{"),s.operators.push("{}");var r=t.specifiers,n=r.length;if(n>0)for(var i=0;;){var a=r[i],o=a.local.name;if(s.write(o),o!==a.exported.name&&s.write(" as "+a.exported.name),!(++i<n))break;s.write(", ")}s.write("}"),t.source&&(s.write(" from "),this.Literal(t.source,e)),s.write(";")}},ExportAllDeclaration:function(t,e){var s=e.output;s.write("export * from "),s.operators.push("export"),s.operators.push("*"),this.Literal(t.source,e),s.write(";")},MethodDefinition:function(t,e){var s=e.output;switch(t.static&&(s.write("static "),s.operators.push("static")),t.kind[0]){case"g":case"s":s.write(t.kind+" "),s.operators.push(t.kind)}t.value.generator&&s.write("*"),t.computed?(s.write("["),this[t.key.type](t.key,e),s.write("]")):this[t.key.type](t.key,e),n.default.formatSequence(t.value.params,e,this),s.write(" "),this[t.value.body.type](t.value.body,e)},ClassExpression:function(t,e){this.ClassDeclaration(t,e)},ArrowFunctionExpression:function(t,e){var s=e.output,r=t.params;null!=r&&(1===r.length&&"I"===r[0].type[0]?s.write(r[0].name):n.default.formatSequence(t.params,e,this)),s.write(" => "),s.operators.push("function=>"),"O"===t.body.type[0]?(s.write("("),this.ObjectExpression(t.body,e),s.write(")")):this[t.body.type](t.body,e)},ThisExpression:function(t,e){e.output.write("this"),e.output.operators.push("this")},Super:function(t,e){e.output.write("super"),e.output.operators.push("super")},RestElement:p=function(t,e){e.output.write("..."),e.output.operators.push("... (rest)"),this[t.argument.type](t.argument,e)},SpreadElement:function(t,e){e.output.write("..."),e.output.operators.push("... (spread)"),this[t.argument.type](t.argument,e)},YieldExpression:function(t,e){var s=e.output;s.write(t.delegate?"yield*":"yield"),s.operators.push(t.delegate?"yield*":"yield"),t.argument&&(s.write(" "),this[t.argument.type](t.argument,e))},TemplateLiteral:function(t,e){var s=e.output,r=t.quasis,n=t.expressions,i=n.length;s.write("`");for(var a=0;a<i;a++){var o=n[a];s.write(r[a].value.raw),s.write("${"),this[o.type](o,e),s.write("}")}s.write(r[r.length-1].value.raw),s.write("`")},TaggedTemplateExpression:function(t,e){this[t.tag.type](t.tag,e),this[t.quasi.type](t.quasi,e)},ArrayExpression:o=function(t,e){var s=e.output;if(s.operators.push("[]"),s.write("["),t.elements.length>0)for(var r=t.elements,n=r.length,i=0;;){var a=r[i];if(null!=a&&this[a.type](a,e),!(++i<n)){null==a&&(s.write(", "),s.operators.push(","));break}s.write(", "),s.operators.push(",")}s.write("]")},ArrayPattern:o,ObjectExpression:function(t,e){var s=e.lineEnd,r=e.output,n=e.indent.repeat(e.indentLevel++),i=n+e.indent;if(r.operators.push("{}"),r.write("{"),t.properties.length>0){r.write(s);for(var a=","+s,o=t.properties,u=o.length,l=0;;){var h=o[l];if(r.write(i),this.Property(h,e),!(++l<u))break;r.write(a)}r.write(s),r.write(n+"}")}else r.write("}");e.indentLevel--},Property:c=function(t,e){if(t.method||t.kind&&"i"!==t.kind[0])this.MethodDefinition(t,e);else{var s=e.output;t.shorthand||(t.computed?(s.operators.push("[]"),s.write("["),this[t.key.type](t.key,e),s.write("]")):this[t.key.type](t.key,e),s.operators.push(":"),s.write(": ")),this[t.value.type](t.value,e)}},ObjectPattern:function(t,e){var s=e.output;if(s.operators.push("{}"),s.write("{"),t.properties.length>0)for(var r=t.properties,n=r.length,i=0;this[r[i].type](r[i],e),++i<n;)s.write(", ");s.write("}")},SequenceExpression:function(t,e){n.default.formatSequence(t.expressions,e,this)},UnaryExpression:function(t,e){var s=e.output;s.operators.push(t.operator+" ("+(t.prefix?"pre":"post")+"fix)"),t.prefix?(s.write(t.operator),t.operator.length>1&&s.write(" "),i.default[t.argument.type]<i.default.UnaryExpression?(s.write("("),this[t.argument.type](t.argument,e),s.write(")")):this[t.argument.type](t.argument,e)):(this[t.argument.type](t.argument,e),e.output.write(t.operator))},UpdateExpression:function(t,e){e.output.operators.push(t.operator+" ("+(t.prefix?"pre":"post")+"fix)"),t.prefix?(e.output.write(t.operator),this[t.argument.type](t.argument,e)):(this[t.argument.type](t.argument,e),e.output.write(t.operator))},AssignmentExpression:function(t,e){this[t.left.type](t.left,e),e.output.write(" "+t.operator+" "),this[t.right.type](t.right,e),e.output.operators.push(t.operator)},AssignmentPattern:function(t,e){this[t.left.type](t.left,e),e.output.write(" = "),this[t.right.type](t.right,e),e.output.operators.push("=")},BinaryExpression:u=function(t,e){var s=e.output;s.operators.push(t.operator),"in"===t.operator?(s.write("("),n.default.formatBinaryExpressionPart(t.left,t,!1,e,this),s.write(" "+t.operator+" "),n.default.formatBinaryExpressionPart(t.right,t,!0,e,this),s.write(")")):(n.default.formatBinaryExpressionPart(t.left,t,!1,e,this),s.write(" "+t.operator+" "),n.default.formatBinaryExpressionPart(t.right,t,!0,e,this))},LogicalExpression:u,ConditionalExpression:function(t,e){var s=e.output;i.default[t.test.type]>i.default.ConditionalExpression?this[t.test.type](t.test,e):(s.operators.push("()"),s.write("("),this[t.test.type](t.test,e),s.write(")")),s.write(" ? "),this[t.consequent.type](t.consequent,e),s.write(" : "),this[t.alternate.type](t.alternate,e),s.operators.push(":?")},NewExpression:function(t,e){var s=e.output;s.write("new "),s.operators.push("new"),i.default[t.callee.type]<i.default.CallExpression||n.default.hasCallExpression(t.callee)?(s.write("("),this[t.callee.type](t.callee,e),s.write(")"),s.operators.push("()")):this[t.callee.type](t.callee,e),n.default.formatSequence(t.arguments,e,this)},CallExpression:function(t,e){var s=e.output;i.default[t.callee.type]<i.default.CallExpression?(s.write("("),this[t.callee.type](t.callee,e),s.write(")"),s.operators.push("()")):this[t.callee.type](t.callee,e),n.default.formatSequence(t.arguments,e,this)},MemberExpression:function(t,e){var s=e.output;i.default[t.object.type]<i.default.MemberExpression?(s.write("("),this[t.object.type](t.object,e),s.write(")"),s.operators.push("()")):this[t.object.type](t.object,e),t.computed?(s.write("["),this[t.property.type](t.property,e),s.write("]"),s.operators.push("[]")):(s.write("."),s.operators.push("."),this[t.property.type](t.property,e))},MetaProperty:function(t,e){e.output.write(t.meta.name+"."+t.property.name),e.output.operators.push("."),e.output.operands.push(t.meta.name),e.output.operands.push(t.property.name)},Identifier:function(t,e){e.output.write(t.name),e.output.operands.push(t.name)},Literal:function(t,e){null!=t.raw?(e.output.write(t.raw),e.output.operands.push(t.raw)):null!=t.regex?this.RegExpLiteral(t,e):e.output.write((0,r.default)(t.value))},RegExpLiteral:function(t,e){var s=t.regex;e.output.write("new RegExp("+(0,r.default)(s.pattern)+", "+(0,r.default)(s.flags)+")")},ObjectProperty:c,RestProperty:p,BooleanLiteral:function(t,e){e.output.write(t.value),e.output.operands.push((0,r.default)(t.value))},DirectiveLiteral:function(t,e){e.output.write(t.value),e.output.operands.push((0,r.default)(t.value))},NullLiteral:function(t,e){e.output.write("null"),e.output.operands.push("null")},NumericLiteral:function(t,e){e.output.write(t.value),e.output.operands.push((0,r.default)(t.value))},StringLiteral:function(t,e){null!=t.extra&&null!=t.extra.raw?(e.output.write(t.extra.raw),e.output.operands.push(t.extra.raw)):(e.output.write((0,r.default)(t.value)),e.output.operands.push((0,r.default)(t.value)))}},t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(s(0)),n=i(s(1));function i(t){return t&&t.__esModule?t:{default:t}}var a=function(){function t(){(0,r.default)(this,t),this.source="",this.operands=[],this.operators=[]}return(0,n.default)(t,[{key:"write",value:function(t){this.source+=t}},{key:"toString",value:function(){return this.source}}]),t}();e.default=a,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=u(s(15)),n=u(s(2)),i=u(s(0)),a=u(s(148)),o=u(s(147));function u(t){return t&&t.__esModule?t:{default:t}}e.default=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if((0,i.default)(this,t),"object"!==(void 0===e?"undefined":(0,n.default)(e)))throw new TypeError("ctor error: 'options' is not an 'object'.");this.output=new a.default,this.generator=o.default,this.indent="string"==typeof e.indent?e.indent:"\t",this.lineEnd="string"==typeof e.lineEnd?e.lineEnd:"\n",this.indentLevel=(0,r.default)(e.startingIndentLevel)?e.startingIndentLevel:0,this.noTrailingSemicolon=!1},t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=h(s(58)),n=h(s(2)),i=h(s(5)),a=h(s(4)),o=h(s(23)),u=h(s(0)),l=h(s(1));function h(t){return t&&t.__esModule?t:{default:t}}var c=function(){function t(){(0,u.default)(this,t)}return(0,l.default)(t,[{key:"onLoadSyntax",value:function(t){var e=!0,s=!1,r=void 0;try{for(var u,l=(0,o.default)(p((0,a.default)(this)));!(e=(u=l.next()).done);e=!0){var h=u.value,c=h.charAt(0);this[h]instanceof Function&&(c!==c.toLowerCase()||c===c.toUpperCase())&&(t.data.syntaxes[h]=(0,i.default)("object"===(0,n.default)(t.data.syntaxes[h])?t.data.syntaxes[h]:{},this[h](t.data.settings)))}}catch(t){s=!0,r=t}finally{try{!e&&l.return&&l.return()}finally{if(s)throw r}}}}]),t}();e.default=c;var p=function(t){var e=[];do{(0,r.default)(t).forEach(function(t){-1===e.indexOf(t)&&e.push(t)}),t=(0,a.default)(t)}while(void 0!==t&&null!==t&&t!==c.prototype);return e};t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=y(s(19)),n=y(s(2)),i=y(s(4)),a=y(s(0)),o=y(s(1)),u=y(s(7)),l=y(s(6)),h=y(s(150)),c=y(s(87)),p=y(s(43)),d=y(s(53)),f=y(s(85));function y(t){return t&&t.__esModule?t:{default:t}}var v=function(t){function e(){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,i.default)(e)).apply(this,arguments))}return(0,l.default)(e,t),(0,o.default)(e,[{key:"onConfigure",value:function(t){if(t.data.settings.commonjs="boolean"==typeof t.data.options.commonjs&&t.data.options.commonjs,t.data.settings.dependencyResolver="function"==typeof t.data.options.dependencyResolver?t.data.options.dependencyResolver:void 0,"object"===(0,n.default)(t.data.options.esmImportExport))t.data.settings.esmImportExport={halstead:"boolean"==typeof t.data.options.esmImportExport.halstead&&t.data.options.esmImportExport.halstead,lloc:"boolean"==typeof t.data.options.esmImportExport.lloc&&t.data.options.esmImportExport.lloc};else{var e="boolean"==typeof t.data.options.esmImportExport&&t.data.options.esmImportExport;t.data.settings.esmImportExport={halstead:e,lloc:e}}if(t.data.settings.forin="boolean"==typeof t.data.options.forin&&t.data.options.forin,t.data.settings.logicalor="boolean"!=typeof t.data.options.logicalor||t.data.options.logicalor,t.data.settings.switchcase="boolean"!=typeof t.data.options.switchcase||t.data.options.switchcase,"object"===(0,n.default)(t.data.options.templateExpression))t.data.settings.templateExpression={halstead:"boolean"!=typeof t.data.options.templateExpression.halstead||t.data.options.templateExpression.halstead,lloc:"boolean"!=typeof t.data.options.templateExpression.lloc||t.data.options.templateExpression.lloc};else{var s="boolean"!=typeof t.data.options.templateExpression||t.data.options.templateExpression;t.data.settings.templateExpression={halstead:s,lloc:s}}t.data.settings.trycatch="boolean"==typeof t.data.options.trycatch&&t.data.options.trycatch}},{key:"ArrayExpression",value:function(){return(0,f.default)(0,0,function(t){var e=["[]"];return Array.isArray(t.elements)&&t.elements.length>0&&e.push.apply(e,(0,r.default)(new Array(t.elements.length-1).fill(","))),e})}},{key:"AssignmentExpression",value:function(){return(0,f.default)(function(t,e){return e&&"ExpressionStatement"!==e.type?1:0},0,function(t){return t.operator})}},{key:"BlockStatement",value:function(){return(0,f.default)(0,0)}},{key:"BinaryExpression",value:function(){return(0,f.default)(0,0,function(t){return t.operator})}},{key:"BreakStatement",value:function(){return(0,f.default)(1,0,"break")}},{key:"CallExpression",value:function(t){return(0,f.default)(function(t,e){return e&&"ExpressionStatement"!==e.type&&"YieldExpression"!==e.type?1:0},0,"()",void 0,void 0,void 0,function(e){if(t.commonjs&&"Identifier"===e.callee.type&&"require"===e.callee.name&&1===e.arguments.length){var s=e.arguments[0],r="* dynamic dependency *";return"Literal"!==s.type&&"StringLiteral"!==s.type||(r="function"==typeof t.dependencyResolver?t.dependencyResolver(s.value):s.value),{line:e.loc.start.line,path:r,type:"cjs"}}})}},{key:"CatchClause",value:function(t){return(0,f.default)(1,function(){return t.trycatch?1:0},"catch")}},{key:"ConditionalExpression",value:function(){return(0,f.default)(0,1,":?")}},{key:"ContinueStatement",value:function(){return(0,f.default)(1,0,"continue")}},{key:"DoWhileStatement",value:function(){return(0,f.default)(2,function(t){return t.test?1:0},"dowhile")}},{key:"EmptyStatement",value:function(){return(0,f.default)(0,0)}},{key:"ExpressionStatement",value:function(){return(0,f.default)(function(t){return"object"===(0,n.default)(t.expression)&&"ArrowFunctionExpression"!==t.expression.type?1:0},0)}},{key:"ForInStatement",value:function(t){return(0,f.default)(1,function(){return t.forin?1:0},function(t){var e=["forin"],s=[];return t.left&&s.push(t.left),t.right&&s.push(t.right),s.length>0&&e.push.apply(e,(0,r.default)(c.default.parseNodes(s).operators)),e},function(t){var e=[],s=[];return t.left&&s.push(t.left),t.right&&s.push(t.right),s.length>0&&e.push.apply(e,(0,r.default)(c.default.parseNodes(s).operands)),e},["left","right"])}},{key:"ForStatement",value:function(){return(0,f.default)(1,function(t){return t.test?1:0},function(t){var e=["for"],s=[];return t.init&&s.push(t.init),t.test&&s.push(t.test),t.update&&s.push(t.update),s.length>0&&e.push.apply(e,(0,r.default)(c.default.parseNodes(s).operators)),e},function(t){var e=[],s=[];return t.init&&s.push(t.init),t.test&&s.push(t.test),t.update&&s.push(t.update),s.length>0&&e.push.apply(e,(0,r.default)(c.default.parseNodes(s).operands)),e},["init","test","update"])}},{key:"FunctionDeclaration",value:function(){return(0,f.default)(0,0,void 0,void 0,["id","params","defaults"],function(t,e){var s=m(t,e),i=g(t,e),a=[];e&&"MethodDefinition"===e.type?("boolean"==typeof t.generator&&t.generator&&a.push("function*"),"boolean"==typeof e.computed&&e.computed&&a.push.apply(a,(0,r.default)(c.default.parse(e.key).operators))):a.push("boolean"==typeof t.generator&&t.generator?"function*":"function");var o=[];return Array.isArray(t.params)&&t.params.forEach(function(t){var e=c.default.parse(t);i.push.apply(i,(0,r.default)(e.operands)),a.push.apply(a,(0,r.default)(e.operators)),"AssignmentPattern"===t.type?o.push.apply(o,(0,r.default)(c.default.parse(t.left).operands)):o.push.apply(o,(0,r.default)(e.operands))}),Array.isArray(t.defaults)&&t.defaults.forEach(function(t){if(null!==t&&"object"===(void 0===t?"undefined":(0,n.default)(t))){var e=c.default.parse(t);i.push.apply(i,(0,r.default)(e.operands)),a.push.apply(a,(0,r.default)(e.operators)),a.push("=")}}),{type:"method",name:s,cyclomatic:1,lineStart:t.loc.start.line,lineEnd:t.loc.end.line,lloc:1,operands:new p.default("operands",i),operators:new p.default("operators",a),paramNames:o}})}},{key:"FunctionExpression",value:function(){return(0,f.default)(0,0,void 0,void 0,["id","params","defaults"],function(t,e){var s=m(t,e),i=g(t,e),a=[];e&&"MethodDefinition"===e.type?("boolean"==typeof t.generator&&t.generator&&a.push("function*"),"boolean"==typeof e.computed&&e.computed&&a.push.apply(a,(0,r.default)(c.default.parse(e.key).operators))):a.push("boolean"==typeof t.generator&&t.generator?"function*":"function");var o=[];return Array.isArray(t.params)&&t.params.forEach(function(t){var e=c.default.parse(t);i.push.apply(i,(0,r.default)(e.operands)),a.push.apply(a,(0,r.default)(e.operators)),"AssignmentPattern"===t.type?o.push.apply(o,(0,r.default)(c.default.parse(t.left).operands)):o.push.apply(o,(0,r.default)(e.operands))}),Array.isArray(t.defaults)&&t.defaults.forEach(function(t){if(null!==t&&"object"===(void 0===t?"undefined":(0,n.default)(t))){var e=c.default.parse(t);i.push.apply(i,(0,r.default)(e.operands)),a.push.apply(a,(0,r.default)(e.operators)),a.push("=")}}),{type:"method",name:s,cyclomatic:1,lineStart:t.loc.start.line,lineEnd:t.loc.end.line,lloc:1,operands:new p.default("operands",i),operators:new p.default("operators",a),paramNames:o}})}},{key:"Identifier",value:function(){return(0,f.default)(0,0,void 0,function(t){return t.name})}},{key:"IfStatement",value:function(){return(0,f.default)(function(t){return t.alternate?2:1},1,["if",{identifier:"else",filter:function(t){return!!t.alternate}}])}},{key:"LabeledStatement",value:function(){return(0,f.default)(0,0)}},{key:"Literal",value:function(){return(0,f.default)(0,0,void 0,function(t){var e=[];return"object"===(0,n.default)(t.regex)&&void 0!==t.raw?e.push(t.raw):e.push("string"==typeof t.value?'"'+t.value+'"':t.value),e})}},{key:"LogicalExpression",value:function(t){return(0,f.default)(0,function(e){var s="&&"===e.operator,r="||"===e.operator;return s||t.logicalor&&r?1:0},function(t){return t.operator})}},{key:"MemberExpression",value:function(){return(0,f.default)(0,0,function(t){return"boolean"==typeof t.computed&&t.computed?"[]":"."})}},{key:"NewExpression",value:function(){return(0,f.default)(function(t){return"FunctionExpression"===t.callee.type?1:0},0,"new")}},{key:"ObjectExpression",value:function(){return(0,f.default)(0,0,"{}")}},{key:"Property",value:function(){return(0,f.default)(1,0,function(t){return void 0===t.shorthand?":":"boolean"!=typeof t.shorthand||t.shorthand?void 0:":"})}},{key:"ReturnStatement",value:function(){return(0,f.default)(1,0,"return")}},{key:"SequenceExpression",value:function(){return(0,f.default)(0,0)}},{key:"SwitchCase",value:function(t){return(0,f.default)(1,function(e){return t.switchcase&&e.test?1:0},function(t){return t.test?"case":"default"})}},{key:"SwitchStatement",value:function(){return(0,f.default)(1,0,"switch")}},{key:"ThisExpression",value:function(){return(0,f.default)(0,0,"this")}},{key:"ThrowStatement",value:function(){return(0,f.default)(1,0,"throw")}},{key:"TryStatement",value:function(){return(0,f.default)(1,0,function(t){return t.finalizer?["try","finally"]:["try"]},void 0,["guardedHandlers","handlers"])}},{key:"UnaryExpression",value:function(){return(0,f.default)(0,0,function(t){return t.operator+" ("+(t.prefix?"pre":"post")+"fix)"})}},{key:"UpdateExpression",value:function(){return(0,f.default)(0,0,function(t){return t.operator+" ("+(t.prefix?"pre":"post")+"fix)"})}},{key:"VariableDeclaration",value:function(){return(0,f.default)(0,0,function(t){return t.kind})}},{key:"VariableDeclarator",value:function(){return(0,f.default)(1,0,{identifier:"=",filter:function(t){return!!t.init}})}},{key:"WhileStatement",value:function(){return(0,f.default)(1,function(t){return t.test?1:0},"while")}},{key:"WithStatement",value:function(){return(0,f.default)(1,0,"with")}},{key:"AssignmentPattern",value:function(){return(0,f.default)(1,0,function(t){return t.operator})}},{key:"ArrayPattern",value:function(){return(0,f.default)(0,0,function(t){var e=["[]"];return Array.isArray(t.elements)&&t.elements.length>0&&e.push.apply(e,(0,r.default)(new Array(t.elements.length-1).fill(","))),e})}},{key:"ArrowFunctionExpression",value:function(){return(0,f.default)(0,0,void 0,void 0,function(t,e){return e&&"ExpressionStatement"!==e.type?["id","params","defaults"]:null},function(t,e){var s=e&&"ExpressionStatement"!==e.type,i=d.default.safeName(t.id),a=[],o=s?["function=>"]:[],u=[];return s&&Array.isArray(t.params)&&t.params.forEach(function(t){var e=c.default.parse(t);a.push.apply(a,(0,r.default)(e.operands)),o.push.apply(o,(0,r.default)(e.operators)),"AssignmentPattern"===t.type?u.push.apply(u,(0,r.default)(c.default.parse(t.left).operands)):u.push.apply(u,(0,r.default)(e.operands))}),s&&Array.isArray(t.defaults)&&t.defaults.forEach(function(t){if(null!==t&&"object"===(void 0===t?"undefined":(0,n.default)(t))){var e=c.default.parse(t);a.push.apply(a,(0,r.default)(e.operands)),o.push.apply(o,(0,r.default)(e.operators)),o.push("=")}}),{type:"method",name:i,cyclomatic:s?1:0,lineStart:t.loc.start.line,lineEnd:t.loc.end.line,lloc:s?1:0,operands:s?new p.default("operands",a):void 0,operators:s?new p.default("operators",o):void 0,paramNames:u,postLloc:s&&"object"===(0,n.default)(t.body)&&"BlockStatement"!==t.body.type?1:0}})}},{key:"ClassBody",value:function(){return(0,f.default)(0,0)}},{key:"ClassDeclaration",value:function(){return(0,f.default)(0,0,void 0,void 0,["id","superClass"],function(t){var e=d.default.safeName(t.id),s="<anonymous>"!==e?[e]:[],n=["class"],i=void 0;if(void 0!==t.superClass&&null!==t.superClass){var a=c.default.parse(t.superClass);n.push("extends"),s.push.apply(s,(0,r.default)(a.operands)),n.push.apply(n,(0,r.default)(a.operators)),i="Identifier"===t.superClass.type?d.default.safeName(t.superClass):"<computed~"+a.source+">"}return{type:"class",name:e,superClassName:i,lineStart:t.loc.start.line,lineEnd:t.loc.end.line,lloc:1,operands:new p.default("operands",s),operators:new p.default("operators",n)}})}},{key:"ClassExpression",value:function(){return(0,f.default)(0,0,void 0,void 0,["id","superClass"],function(t){var e=d.default.safeName(t.id),s="<anonymous>"!==e?[e]:[],n=["class"],i=void 0;if(void 0!==t.superClass&&null!==t.superClass){var a=c.default.parse(t.superClass);n.push("extends"),s.push.apply(s,(0,r.default)(a.operands)),n.push.apply(n,(0,r.default)(a.operators)),i="Identifier"===t.superClass.type?d.default.safeName(t.superClass):"<computed~"+a.source+">"}return{type:"class",name:d.default.safeName(t.id),superClassName:i,lineStart:t.loc.start.line,lineEnd:t.loc.end.line,lloc:1,operands:new p.default("operands",s),operators:new p.default("operators",n)}})}},{key:"ExportAllDeclaration",value:function(t){return(0,f.default)(t.esmImportExport.lloc?1:0,0,t.esmImportExport.halstead?["export","*"]:void 0,void 0,t.esmImportExport.halstead?void 0:null)}},{key:"ExportDefaultDeclaration",value:function(t){return(0,f.default)(t.esmImportExport.lloc?1:0,0,t.esmImportExport.halstead?["export","default"]:void 0)}},{key:"ExportNamedDeclaration",value:function(t){return(0,f.default)(t.esmImportExport.lloc?1:0,0,t.esmImportExport.halstead?["export","{}"]:void 0,void 0,t.esmImportExport.halstead?void 0:["source","specifiers"])}},{key:"ExportSpecifier",value:function(t){return(0,f.default)(0,0,t.esmImportExport.halstead?function(t){return t.exported.name!==t.local.name?"as":void 0}:void 0,void 0,t.esmImportExport.halstead?function(t){return t.exported.name===t.local.name?["local"]:void 0}:null)}},{key:"ForOfStatement",value:function(){return(0,f.default)(1,function(t){return t.test?1:0},function(t){var e=["forof"],s=[];return t.left&&s.push(t.left),t.right&&s.push(t.right),s.length>0&&e.push.apply(e,(0,r.default)(c.default.parseNodes(s).operators)),e},function(t){var e=[],s=[];return t.left&&s.push(t.left),t.right&&s.push(t.right),s.length>0&&e.push.apply(e,(0,r.default)(c.default.parseNodes(s).operands)),e},["left","right"])}},{key:"ImportDeclaration",value:function(t){return(0,f.default)(t.esmImportExport.lloc?1:0,0,t.esmImportExport.halstead?["import","from"]:void 0,void 0,t.esmImportExport.halstead?void 0:null,void 0,function(e){var s="function"==typeof t.dependencyResolver?t.dependencyResolver(e.source.value):e.source.value;return{line:e.source.loc.start.line,path:s,type:"esm"}})}},{key:"ImportDefaultSpecifier",value:function(){return(0,f.default)(0,0)}},{key:"ImportNamespaceSpecifier",value:function(t){return(0,f.default)(0,0,t.esmImportExport.halstead?["import","*","as"]:void 0,void 0,t.esmImportExport.halstead?void 0:null)}},{key:"ImportSpecifier",value:function(t){return(0,f.default)(0,0,t.esmImportExport.halstead?function(t){return t.imported.name===t.local.name?"{}":["{}","as"]}:void 0,void 0,t.esmImportExport.halstead?void 0:null)}},{key:"MetaProperty",value:function(){return(0,f.default)(0,0,".",function(t){return"string"==typeof t.meta&&"string"==typeof t.property?[t.meta,t.property]:void 0})}},{key:"MethodDefinition",value:function(){return(0,f.default)(0,0,function(t){var e=[];return!t.kind||"get"!==t.kind&&"set"!==t.kind||e.push(t.kind),"boolean"==typeof t.static&&t.static&&e.push("static"),e},void 0,"key")}},{key:"ObjectPattern",value:function(){return(0,f.default)(0,0,"{}")}},{key:"RestElement",value:function(){return(0,f.default)(0,0,"... (rest)")}},{key:"SpreadElement",value:function(){return(0,f.default)(0,0,"... (spread)")}},{key:"Super",value:function(){return(0,f.default)(0,0,"super")}},{key:"TaggedTemplateExpression",value:function(t){return(0,f.default)(t.templateExpression.lloc?1:0,0)}},{key:"TemplateElement",value:function(){return(0,f.default)(0,0,void 0,function(t){return""!==t.value.cooked?t.value.cooked:void 0})}},{key:"TemplateLiteral",value:function(t){return(0,f.default)(0,0,t.templateExpression.halstead?function(t){var e=["``"];return Array.isArray(t.expressions)&&t.expressions.length>0&&e.push.apply(e,(0,r.default)(new Array(t.expressions.length).fill("${}"))),e}:[])}},{key:"YieldExpression",value:function(){return(0,f.default)(function(t,e){return e&&"ExpressionStatement"!==e.type?1:0},0,function(t){return"boolean"==typeof t.delegate&&t.delegate?"yield*":"yield"})}}]),e}(h.default);function m(t,e){var s=void 0;return e&&"MethodDefinition"===e.type&&(s="boolean"==typeof e.computed&&e.computed?"Literal"===e.key.type?d.default.safeValue(e.key):"<computed~"+c.default.parse(e.key).source+">":d.default.safeName(e.key)),"string"!=typeof s&&(s=d.default.safeName(t.id||t.key)),s}function g(t,e){var s=[];return e&&"MethodDefinition"===e.type&&("boolean"==typeof e.computed&&e.computed?"Literal"===e.key.type?s.push(d.default.safeValue(e.key)):s.push.apply(s,(0,r.default)(c.default.parse(e.key).operands)):s.push(d.default.safeName(e.key))),0===s.length&&(void 0!==t.id&&null!==t.id||void 0!==t.key&&null!==t.key)&&s.push(d.default.safeName(t.id||t.key)),s}e.default=v,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=y(s(2)),n=y(s(19)),i=y(s(4)),a=y(s(0)),o=y(s(1)),u=y(s(7)),l=y(s(6)),h=y(s(151)),c=y(s(87)),p=y(s(43)),d=y(s(53)),f=y(s(85));function y(t){return t&&t.__esModule?t:{default:t}}var v=function(t){function e(){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,i.default)(e)).apply(this,arguments))}return(0,l.default)(e,t),(0,o.default)(e,[{key:"BindExpression",value:function(){return(0,f.default)(0,0)}},{key:"BooleanLiteral",value:function(){return(0,f.default)(0,0,void 0,function(t){return t.value})}},{key:"ClassMethod",value:function(){return(0,f.default)(0,0,void 0,void 0,["key","params"],function(t,e){var s=void 0,r=[],i=[];!t.kind||"get"!==t.kind&&"set"!==t.kind||i.push(t.kind),"boolean"==typeof t.async&&t.async&&i.push("async"),"boolean"==typeof t.static&&t.static&&i.push("static"),"boolean"==typeof t.generator&&t.generator&&i.push("function*"),"boolean"==typeof t.computed&&t.computed?(s="StringLiteral"===t.key.type?d.default.safeValue(t.key):"<computed~"+c.default.parse(t.key).source+">",r.push.apply(r,(0,n.default)(function(t){var e=[];"boolean"==typeof t.computed&&t.computed?"StringLiteral"===t.key.type?e.push(d.default.safeValue(t.key)):e.push.apply(e,(0,n.default)(c.default.parse(t.key).operands)):e.push(d.default.safeName(t.key));return e}(t))),i.push.apply(i,(0,n.default)(c.default.parse(t.key).operators))):(s=d.default.safeName(t.key),r.push(s));var a=[];return Array.isArray(t.params)&&t.params.forEach(function(t){var e=c.default.parse(t);r.push.apply(r,(0,n.default)(e.operands)),i.push.apply(i,(0,n.default)(e.operators)),"AssignmentPattern"===t.type?a.push.apply(a,(0,n.default)(c.default.parse(t.left).operands)):a.push.apply(a,(0,n.default)(e.operands))}),{type:"method",name:s,cyclomatic:1,lineStart:t.loc.start.line,lineEnd:t.loc.end.line,lloc:1,operands:new p.default("operands",r),operators:new p.default("operators",i),paramNames:a}})}},{key:"Decorator",value:function(){return(0,f.default)(0,0)}},{key:"Directive",value:function(){return(0,f.default)(1,0)}},{key:"DirectiveLiteral",value:function(){return(0,f.default)(0,0,void 0,function(t){return"string"==typeof t.value?'"'+t.value+'"':t.value})}},{key:"NullLiteral",value:function(){return(0,f.default)(0,0,void 0,"null")}},{key:"NumericLiteral",value:function(){return(0,f.default)(0,0,void 0,function(t){return t.value})}},{key:"ObjectMethod",value:function(){return(0,f.default)(1,0,function(t){return"string"!=typeof t.kind||"get"!==t.kind&&"set"!==t.kind?void 0:t.kind},void 0,"key")}},{key:"ObjectProperty",value:function(){return(0,f.default)(1,0,function(t){return void 0===t.shorthand?":":"boolean"!=typeof t.shorthand||t.shorthand?void 0:":"})}},{key:"RegExpLiteral",value:function(){return(0,f.default)(0,0,void 0,function(t){var e=[];return"object"===(0,r.default)(t.extra)&&void 0!==t.extra.raw&&e.push(t.extra.raw),e})}},{key:"RestProperty",value:function(){return(0,f.default)(0,0,"... (rest)")}},{key:"SpreadProperty",value:function(){return(0,f.default)(0,0,"... (spread)")}},{key:"StringLiteral",value:function(){return(0,f.default)(0,0,void 0,function(t){return'"'+t.value+'"'})}}]),e}(h.default);e.default=v,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=a(s(2)),n=a(s(0)),i=a(s(1));function a(t){return t&&t.__esModule?t:{default:t}}var o=function(){function t(e,s){if((0,n.default)(this,t),"string"!=typeof e)throw new TypeError("ctor error: metric is not a `string`.");if("object"!==(void 0===s?"undefined":(0,r.default)(s)))throw new TypeError("ctor error: data is not an `object`.");if(Array.isArray(s.identifier))s.identifier.forEach(function(t,e){if("function"!==t&&"string"!=typeof t)throw new TypeError("ctor error: data.identifier array is not a 'function' or 'string' at index: "+e+".")});else if("function"!=typeof s.identifier&&"string"!=typeof s.identifier)throw new TypeError("ctor error: data.identifier is not a `function` or `string`.");if(void 0!==s.filter&&"function"!=typeof s.filter)throw new TypeError("ctor error: data.filter is not a `function`.");this._data=s,this._metric=e}return(0,i.default)(t,[{key:"filter",value:function(){var t;return"function"!=typeof this._data.filter||(t=this._data).filter.apply(t,arguments)}},{key:"valueOf",value:function(){for(var t,e=arguments.length,s=Array(e),r=0;r<e;r++)s[r]=arguments[r];return Array.isArray(this._data.identifier)?this._data.identifier.map(function(t){return"function"==typeof t?t.apply(void 0,s):t}):"function"==typeof this._data.identifier?(t=this._data).identifier.apply(t,s):this._data.identifier}},{key:"metric",get:function(){return this._metric}},{key:"type",get:function(){return(0,r.default)(this._data)}}]),t}();e.default=o,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=u(s(15)),n=u(s(2)),i=u(s(0)),a=u(s(1)),o=u(s(43));function u(t){return t&&t.__esModule?t:{default:t}}var l=function(){function t(){(0,i.default)(this,t)}return(0,a.default)(t,null,[{key:"addDependencies",value:function(t,e){("object"===(void 0===e?"undefined":(0,n.default)(e))||Array.isArray(e))&&(t.dependencies=t.dependencies.concat(e))}},{key:"preScopeCreated",value:function(e,s){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=arguments[3],u=arguments[4];if("object"!==(void 0===i?"undefined":(0,n.default)(i)))throw new TypeError("preScopeCreated error: 'newScope' is not an 'object'.");if("string"!=typeof i.type)throw new TypeError("preScopeCreated error: 'newScope.type' is not a 'string'.");switch(i.type){case"class":case"method":if((0,r.default)(i.lloc)){e.aggregateReport.sloc.logical+=i.lloc;var l=s.getCurrentClassReport(),h=s.getCurrentMethodReport();l&&(l.aggregateReport.sloc.logical+=i.lloc),h&&(h.sloc.logical+=i.lloc)}if(i.operands instanceof o.default)i.operands.valueOf(a,u).forEach(function(r){t.halsteadItemEncountered(e,s,"operands",r)});if(i.operators instanceof o.default)i.operators.valueOf(a,u).forEach(function(r){t.halsteadItemEncountered(e,s,"operators",r)})}}},{key:"postScopeCreated",value:function(t,e){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("object"!==(void 0===s?"undefined":(0,n.default)(s)))throw new TypeError("postScopeCreated error: 'newScope' is not an 'object'.");if("string"!=typeof s.type)throw new TypeError("postScopeCreated error: 'newScope.type' is not a 'string'.");switch(s.type){case"class":break;case"method":if(!(0,r.default)(s.cyclomatic))throw new TypeError("postScopeCreated error: 'newScope.cyclomatic' is not an 'integer'.");if(!Array.isArray(s.paramNames))throw new TypeError("postScopeCreated error: 'newScope.paramNames' is not an 'array'.");var i=e.getCurrentClassReport(),a=e.getCurrentMethodReport();t.aggregateReport.cyclomatic+=s.cyclomatic,t.aggregateReport.paramCount+=s.paramNames.length,i&&(i.aggregateReport.cyclomatic+=s.cyclomatic,i.aggregateReport.paramCount+=s.paramNames.length),(0,r.default)(s.postLloc)&&(t.aggregateReport.sloc.logical+=s.postLloc,i&&(i.aggregateReport.sloc.logical+=s.postLloc),a&&(a.sloc.logical+=s.postLloc))}}},{key:"halsteadItemEncountered",value:function(e,s,r,n){var i=s.getCurrentClassReport(),a=s.getCurrentMethodReport();t.incrementHalsteadItems(e,r,n),i&&t.incrementHalsteadItems(i,r,n),a&&t.incrementHalsteadItems(a,r,n)}},{key:"incrementCyclomatic",value:function(t,e,s){var r=e.getCurrentClassReport(),n=e.getCurrentMethodReport();t.aggregate.cyclomatic+=s,r&&(r.aggregate.cyclomatic+=s),n&&(n.cyclomatic+=s)}},{key:"incrementLogicalSloc",value:function(t,e,s){var r=e.getCurrentClassReport(),n=e.getCurrentMethodReport();t.aggregate.sloc.logical+=s,r&&(r.aggregate.sloc.logical+=s),n&&(n.sloc.logical+=s)}},{key:"incrementHalsteadItems",value:function(t,e,s){-1===t.aggregateReport.halstead[e].identifiers.indexOf(s)&&(t.aggregateReport.halstead[e].identifiers.push(s),t.aggregateReport.halstead[e].distinct+=1),t.aggregateReport.halstead[e].total+=1}},{key:"processSyntax",value:function(e,s,r,n,i){var a=function(a){var u=r[a];switch(u.metric){case"cyclomatic":t.incrementCyclomatic(e,s,u.valueOf(n,i));break;case"dependencies":t.addDependencies(e,u.valueOf(n,i));break;case"lloc":t.incrementLogicalSloc(e,s,u.valueOf(n,i))}u instanceof o.default&&u.valueOf(n,i).forEach(function(r){t.halsteadItemEncountered(e,s,u.metric,r)})};for(var u in r)a(u)}}]),t}();e.default=l,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(s(0)),n=i(s(1));function i(t){return t&&t.__esModule?t:{default:t}}var a=function(){function t(){(0,r.default)(this,t)}return(0,n.default)(t,null,[{key:"calculate",value:function(e,s){var r=e.aggregateAverage;t.calculateMaintainabilityIndex(e,s,r.cyclomatic,r.halstead.effort,r.sloc.logical),e.classes.forEach(function(e){var r=e.methodAverage;t.calculateMaintainabilityIndex(e,s,r.cyclomatic,r.halstead.effort,r.sloc.logical)})}},{key:"calculateMaintainabilityIndex",value:function(t,e,s,r,n){t.maintainability=171-3.42*Math.log(r)-(.23*s==0?0:Math.log(s))-16.2*Math.log(n),t.maintainability>171&&(t.maintainability=171),e.newmi&&(t.maintainability=Math.max(0,100*t.maintainability/171))}}]),t}();e.default=a,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(s(0)),n=i(s(1));function i(t){return t&&t.__esModule?t:{default:t}}var a=function(){function t(){(0,r.default)(this,t)}return(0,n.default)(t,null,[{key:"calculate",value:function(e){e.methods.forEach(function(e){t.calculateCyclomaticDensity(e),t.calculateHalsteadMetrics(e.halstead)}),e.classes.forEach(function(e){e.methods.forEach(function(e){t.calculateCyclomaticDensity(e),t.calculateHalsteadMetrics(e.halstead)}),t.calculateCyclomaticDensity(e.aggregateReport),t.calculateHalsteadMetrics(e.aggregateReport.halstead)}),t.calculateCyclomaticDensity(e.aggregateReport),t.calculateHalsteadMetrics(e.aggregateReport.halstead)}},{key:"calculateCyclomaticDensity",value:function(t){t.cyclomaticDensity=0===t.sloc.logical?0:t.cyclomatic/t.sloc.logical*100}},{key:"calculateHalsteadMetrics",value:function(t){t.length=t.operators.total+t.operands.total,0===t.length?t.reset():(t.vocabulary=t.operators.distinct+t.operands.distinct,t.difficulty=t.operators.distinct/2*(0===t.operands.distinct?1:t.operands.total/t.operands.distinct),t.volume=t.length*(Math.log(t.vocabulary)/Math.log(2)),t.effort=t.difficulty*t.volume,t.bugs=t.volume/3e3,t.time=t.effort/18)}}]),t}();e.default=a,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=a(s(0)),n=a(s(1)),i=a(s(11));function a(t){return t&&t.__esModule?t:{default:t}}var o=function(){function t(){(0,r.default)(this,t)}return(0,n.default)(t,null,[{key:"calculate",value:function(t){var e=t.methods.length,s=e+1;t.methods.forEach(function(e){i.default.safeBatchSet(t.methodAverage,t.methodAverage.keys,e,"add")}),t.classes.forEach(function(r){var n=r.methods.length,a=n+1;e+=n,s+=n,r.methods.forEach(function(e){i.default.safeBatchSet(t.methodAverage,r.methodAverage.keys,e,"add"),i.default.safeBatchSet(r.methodAverage,r.methodAverage.keys,e,"add")}),0!==n&&i.default.safeBatchSet(r.methodAverage,r.methodAverage.keys,n,"div"),i.default.safeBatchSet(r.aggregateAverage,r.aggregateAverage.keys,r.aggregate,"add"),i.default.safeBatchSet(r.aggregateAverage,r.aggregateAverage.keys,a,"div")}),0!==e&&i.default.safeBatchSet(t.methodAverage,t.methodAverage.keys,e,"div"),i.default.safeBatchSet(t.aggregateAverage,t.aggregateAverage.keys,t.aggregate,"add"),i.default.safeBatchSet(t.aggregateAverage,t.aggregateAverage.keys,s,"div")}}]),t}();e.default=o,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=h(s(2)),n=h(s(0)),i=h(s(1)),a=h(s(157)),o=h(s(156)),u=h(s(155)),l=h(s(154));function h(t){return t&&t.__esModule?t:{default:t}}var c=function(){function t(){(0,n.default)(this,t)}return(0,i.default)(t,[{key:"onConfigure",value:function(t){t.data.settings.newmi="boolean"==typeof t.data.options.newmi&&t.data.options.newmi}},{key:"onEnterNode",value:function(t){var e=t.data.moduleReport,s=t.data.scopeControl,n=t.data.node,i=t.data.parent,a=t.data.syntaxes[n.type];"object"===(void 0===a?"undefined":(0,r.default)(a))&&l.default.processSyntax(e,s,a,n,i)}},{key:"onModuleAverage",value:function(t){a.default.calculate(t.data.moduleReport)}},{key:"onModuleCalculate",value:function(t){o.default.calculate(t.data.moduleReport)}},{key:"onModulePostAverage",value:function(t){u.default.calculate(t.data.moduleReport,t.data.settings)}},{key:"onModulePostScopeCreated",value:function(t){l.default.postScopeCreated(t.data.moduleReport,t.data.scopeControl,t.data.newScope)}},{key:"onModulePreScopeCreated",value:function(t){l.default.preScopeCreated(t.data.moduleReport,t.data.scopeControl,t.data.newScope,t.data.node,t.data.parent)}}]),t}();e.default=c,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=h(s(44)),n=h(s(0)),i=h(s(1)),a=h(s(158)),o=h(s(152)),u=h(s(52)),l=h(s(84));function h(t){return t&&t.__esModule?t:{default:t}}var c=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,n.default)(this,t),this._pluginManager=new l.default,("boolean"!=typeof e.loadDefaultPlugins||e.loadDefaultPlugins)&&(this._pluginManager.add({name:"escomplex-plugin-syntax-babylon",instance:new o.default}),this._pluginManager.add({name:"escomplex-plugin-metrics-module",instance:new a.default}))}return(0,i.default)(t,[{key:"onConfigure",value:function(t){var e={},s=this._pluginManager.invokeSyncEvent("onConfigure",void 0,{options:t,settings:e});return e=null!==s?s.settings:e,(0,r.default)(e),null!==s?s.settings:e}},{key:"onEnterNode",value:function(t,e,s,r,n,i,a){var o=this._pluginManager.invokeSyncEvent("onEnterNode",void 0,{moduleReport:t,scopeControl:e,ignoreKeys:s,syntaxes:r,settings:n,node:i,parent:a});return null!==o?o.ignoreKeys:[]}},{key:"onExitNode",value:function(t,e,s,r,n,i){this._pluginManager.invokeSyncEvent("onExitNode",void 0,{moduleReport:t,scopeControl:e,syntaxes:s,settings:r,node:n,parent:i})}},{key:"onLoadSyntax",value:function(t){var e={},s=this._pluginManager.invokeSyncEvent("onLoadSyntax",void 0,{settings:t,syntaxes:e});return null!==s?s.syntaxes:e}},{key:"onModuleStart",value:function(t,e,s){var r=new u.default(t.loc.start.line,t.loc.end.line,s);return this._pluginManager.invokeSyncEvent("onModuleStart",void 0,{ast:t,moduleReport:r,syntaxes:e,settings:s}),r}},{key:"onModuleAverage",value:function(t,e,s){return this._pluginManager.invokeSyncEvent("onModuleAverage",void 0,{moduleReport:t,syntaxes:e,settings:s}),t}},{key:"onModuleCalculate",value:function(t,e,s){return this._pluginManager.invokeSyncEvent("onModuleCalculate",void 0,{moduleReport:t,syntaxes:e,settings:s}),t}},{key:"onModuleEnd",value:function(t,e,s){return this._pluginManager.invokeSyncEvent("onModuleEnd",void 0,{moduleReport:t,syntaxes:e,settings:s}),t}},{key:"onModulePostAverage",value:function(t,e,s){return this._pluginManager.invokeSyncEvent("onModulePostAverage",void 0,{moduleReport:t,syntaxes:e,settings:s}),t}},{key:"onModulePostScopeCreated",value:function(t,e,s,r,n,i){this._pluginManager.invokeSyncEvent("onModulePostScopeCreated",void 0,{moduleReport:t,scopeControl:e,newScope:s,settings:r,node:n,parent:i})}},{key:"onModulePostScopePopped",value:function(t,e,s,r,n,i){this._pluginManager.invokeSyncEvent("onModulePostScopePopped",void 0,{moduleReport:t,scopeControl:e,scope:s,settings:r,node:n,parent:i})}},{key:"onModulePreScopeCreated",value:function(t,e,s,r,n,i){this._pluginManager.invokeSyncEvent("onModulePreScopeCreated",void 0,{moduleReport:t,scopeControl:e,newScope:s,settings:r,node:n,parent:i})}},{key:"onModulePreScopePopped",value:function(t,e,s,r,n,i){this._pluginManager.invokeSyncEvent("onModulePreScopePopped",void 0,{moduleReport:t,scopeControl:e,scope:s,settings:r,node:n,parent:i})}}]),t}();e.default=c,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,n=s(0),i=(r=n)&&r.__esModule?r:{default:r};e.default=function t(){(0,i.default)(this,t),this.bugs=0,this.difficulty=0,this.effort=0,this.length=0,this.time=0,this.vocabulary=0,this.volume=0,this.operands={distinct:0,total:0},this.operators={distinct:0,total:0}},t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=a(s(22)),n=a(s(0)),i=a(s(1));function a(t){return t&&t.__esModule?t:{default:t}}var o=function(){function t(){(0,n.default)(this,t),this.bugs=0,this.difficulty=0,this.effort=0,this.length=0,this.time=0,this.vocabulary=0,this.volume=0,this.operands={distinct:0,total:0,identifiers:[]},this.operators={distinct:0,total:0,identifiers:[]}}return(0,i.default)(t,[{key:"reset",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return(0,r.default)(this).forEach(function(e){"number"==typeof t[e]&&(t[e]=0)}),e&&(this.operands={distinct:0,total:0,identifiers:[]},this.operators={distinct:0,total:0,identifiers:[]}),this}}]),t}();e.default=o,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=l(s(5)),n=l(s(4)),i=l(s(0)),a=l(s(1)),o=l(s(7)),u=l(s(6));function l(t){return t&&t.__esModule?t:{default:t}}var h=function(t){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,i.default)(this,e),(0,o.default)(this,(e.__proto__||(0,n.default)(e)).call(this,(0,r.default)({},c,t),s))}return(0,u.default)(e,t),(0,a.default)(e,[{key:"extension",get:function(){return"md"}},{key:"name",get:function(){return"markdown-visibility"}}]),e}(l(s(91)).default);e.default=h;var c={entryPrepend:"* ",entryWrapper:"`",textHeader:"* Visibility (reverse dependents / numerical indices correspond to ProjectReport modules / reports):\n"};t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=c(s(5)),n=c(s(4)),i=c(s(0)),a=c(s(1)),o=c(s(7)),u=c(s(6)),l=c(s(92)),h=c(s(21));function c(t){return t&&t.__esModule?t:{default:t}}var p=function(t){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,i.default)(this,e),(0,o.default)(this,(e.__proto__||(0,n.default)(e)).call(this,(0,r.default)({},d,t),s))}return(0,u.default)(e,t),(0,a.default)(e,[{key:"extension",get:function(){return"md"}},{key:"name",get:function(){return"markdown-modules"}}]),e}(l.default);e.default=p;var d={moduleReport:[new h.default.SafeEntry("* Module ","___modulecntrplus1___",1,":"),new h.default.SafeEntry(" * filePath: `","filePath",1,"`"),new h.default.SafeEntry(" * srcPath: `","srcPath",1,"`"),new h.default.SafeEntry(" * srcPathAlias: `","srcPathAlias",1,"`"),"\n"]};t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=c(s(5)),n=c(s(4)),i=c(s(0)),a=c(s(1)),o=c(s(7)),u=c(s(6)),l=c(s(93)),h=c(s(21));function c(t){return t&&t.__esModule?t:{default:t}}var p=function(t){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,i.default)(this,e),(0,o.default)(this,(e.__proto__||(0,n.default)(e)).call(this,(0,r.default)({},d,t),s))}return(0,u.default)(e,t),(0,a.default)(e,[{key:"extension",get:function(){return"md"}},{key:"name",get:function(){return"markdown-minimal"}}]),e}(l.default);e.default=p;var d={classMethod:[new h.default.SafeEntry("* Class method: **","name",0,"",h.default.tagEscapeHTML),new h.default.SafeEntry("** (","lineStart",1,")")],classReport:[new h.default.SafeEntry("* Class: **","name",0,"",h.default.tagEscapeHTML),new h.default.SafeEntry("** (","lineStart",1,")")],entryPrepend:"* ",entryTemplateTag:h.default.tagEscapeHTML,moduleMethod:[new h.default.SafeEntry("* Module method: **","name",0,"",h.default.tagEscapeHTML),new h.default.SafeEntry("** (","lineStart",1,")")],moduleReport:["\n",new h.default.SafeEntry("* Module ","___modulecntrplus1___",1,":"),new h.default.SafeEntry(" * filePath: `","filePath",1,"`"),new h.default.SafeEntry(" * srcPath: `","srcPath",1,"`"),new h.default.SafeEntry(" * srcPathAlias: `","srcPathAlias",1,"`")],projectReport:["* Project:\n"]};t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=l(s(5)),n=l(s(4)),i=l(s(0)),a=l(s(1)),o=l(s(7)),u=l(s(6));function l(t){return t&&t.__esModule?t:{default:t}}var h=function(t){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,i.default)(this,e),(0,o.default)(this,(e.__proto__||(0,n.default)(e)).call(this,(0,r.default)({},c,t),s))}return(0,u.default)(e,t),(0,a.default)(e,[{key:"extension",get:function(){return"md"}},{key:"name",get:function(){return"markdown-adjacency"}}]),e}(l(s(95)).default);e.default=h;var c={entryPrepend:"* ",entryWrapper:"`",textHeader:"* Adjacency (dependencies / numerical indices correspond to ProjectReport modules / reports):\n"};t.exports=e.default},function(t,e,s){var r=s(8);r(r.S+r.F*!s(14),"Object",{defineProperties:s(127)})},function(t,e,s){s(166);var r=s(3).Object;t.exports=function(t,e){return r.defineProperties(t,e)}},function(t,e,s){t.exports={default:s(167),__esModule:!0}},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=c(s(5)),n=c(s(4)),i=c(s(0)),a=c(s(1)),o=c(s(7)),u=c(s(6)),l=c(s(98)),h=c(s(21));function c(t){return t&&t.__esModule?t:{default:t}}var p=function(t){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"markdown-adjacency",u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"markdown-visibility";return(0,i.default)(this,e),(0,o.default)(this,(e.__proto__||(0,n.default)(e)).call(this,(0,r.default)({},d,t),s,a,u))}return(0,u.default)(e,t),(0,a.default)(e,[{key:"extension",get:function(){return"md"}},{key:"name",get:function(){return"markdown"}}]),e}(l.default);e.default=p;var d={classMethod:["\n",new h.default.SafeEntry("* Class method: **","name",1,"**",h.default.tagEscapeHTML)],classReport:["\n",new h.default.SafeEntry("* Class: **","name",1,"**",h.default.tagEscapeHTML)],entryPrepend:"* ",entryTemplateTag:h.default.tagEscapeHTML,moduleMethod:["\n",new h.default.SafeEntry("* Module method: **","name",1,"**",h.default.tagEscapeHTML)],moduleReport:["\n",new h.default.SafeEntry("* Module ","___modulecntrplus1___",1,":"),new h.default.SafeEntry(" * File path: `","filePath",1,"`"),new h.default.SafeEntry(" * Source path: `","srcPath",1,"`"),new h.default.SafeEntry(" * Source alias: `","srcPathAlias",1,"`")],projectReport:["* Project: \n"]};t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=l(s(16)),n=l(s(15)),i=l(s(2)),a=l(s(0)),o=l(s(1)),u=l(s(9));function l(t){return t&&t.__esModule?t:{default:t}}var h=function(){function t(){(0,a.default)(this,t)}return(0,o.default)(t,[{key:"formatReport",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=void 0;switch(t.type){case u.default.MODULE:s=this._formatModule(t);break;case u.default.PROJECT:s=this._formatProject(t);break;default:return console.warn("formatReport '"+this.name+"' warning: unsupported report type '"+t.type+"'."),""}return"object"===(void 0===e?"undefined":(0,i.default)(e))&&(0,n.default)(e.spacing)?(0,r.default)(s,void 0,e.spacing):(0,r.default)(s)}},{key:"isSupported",value:function(t){switch(t){case u.default.MODULE:case u.default.PROJECT:return!0;default:return!1}}},{key:"_formatModule",value:function(t){var e={};return t.filePath&&(e.filePath=t.filePath),t.srcPath&&(e.srcPath=t.srcPath),t.srcPathAlias&&(e.srcPathAlias=t.srcPathAlias),e}},{key:"_formatProject",value:function(t){var e=this,s={modules:[]};return t.modules.forEach(function(t){s.modules.push(e._formatModule(t))}),s}},{key:"extension",get:function(){return"json"}},{key:"name",get:function(){return"json-modules"}},{key:"type",get:function(){return"modules"}}]),t}();e.default=h,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=c(s(16)),n=c(s(15)),i=c(s(2)),a=c(s(5)),o=c(s(0)),u=c(s(1)),l=c(s(11)),h=c(s(9));function c(t){return t&&t.__esModule?t:{default:t}}var p=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:d;(0,o.default)(this,t),this._keys=e}return(0,u.default)(t,[{key:"formatReport",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=(0,a.default)({},this._keys,e),o=void 0;switch(t.type){case h.default.CLASS:o=this._formatClass(t,s);break;case h.default.CLASS_METHOD:case h.default.MODULE_METHOD:case h.default.NESTED_METHOD:o=this._formatMethod(t,s);break;case h.default.MODULE:o=this._formatModule(t,!0,s);break;case h.default.PROJECT:o=this._formatProject(t,s);break;default:return console.warn("formatReport '"+this.name+"' warning: unsupported report type '"+t.type+"'."),""}return"object"===(void 0===s?"undefined":(0,i.default)(s))&&(0,n.default)(s.spacing)?(0,r.default)(o,void 0,s.spacing):(0,r.default)(o)}},{key:"isSupported",value:function(t){switch(t){case h.default.CLASS:case h.default.CLASS_METHOD:case h.default.MODULE_METHOD:case h.default.MODULE:case h.default.NESTED_METHOD:case h.default.PROJECT:return!0;default:return!1}}},{key:"_formatClass",value:function(t,e){var s=this,r={};return t.name&&(r.name=t.name),t.lineStart&&(r.lineStart=t.lineStart),t.lineEnd&&(r.lineEnd=t.lineEnd),Array.isArray(e.classReport)&&e.classReport.forEach(function(e){var s=l.default.safeAccess(t,e);s&&l.default.safeSet(r,e,s)}),r.methods=t.methods.map(function(t){return s._formatMethod(t,e)}),r}},{key:"_formatMethod",value:function(t,e){var s={};return t.name&&(s.name=t.name),t.lineStart&&(s.lineStart=t.lineStart),t.lineEnd&&(s.lineEnd=t.lineEnd),Array.isArray(e.methodReport)&&e.methodReport.forEach(function(e){var r=l.default.safeAccess(t,e);r&&l.default.safeSet(s,e,r)}),s}},{key:"_formatModule",value:function(t,e,s){var r=this,n={};return e?(t.filePath&&(n.filePath=t.filePath),t.srcPath&&(n.srcPath=t.srcPath),t.srcPathAlias&&(n.srcPathAlias=t.srcPathAlias),t.lineStart&&(n.lineStart=t.lineStart),t.lineEnd&&(n.lineEnd=t.lineEnd),Array.isArray(s.moduleReport)&&s.moduleReport.forEach(function(e){var s=l.default.safeAccess(t,e);s&&l.default.safeSet(n,e,s)}),n.classes=t.classes.map(function(t){return r._formatClass(t,s)}),n.methods=t.methods.map(function(t){return r._formatMethod(t,s)})):(t.filePath&&(n.filePath=t.filePath),t.srcPath&&(n.srcPath=t.srcPath),t.srcPathAlias&&(n.srcPathAlias=t.srcPathAlias),t.lineStart&&(n.lineStart=t.lineStart),t.lineEnd&&(n.lineEnd=t.lineEnd),n.classes=[],n.methods=[]),n}},{key:"_formatProject",value:function(t,e){var s=this,r={};Array.isArray(e.projectReport)&&e.projectReport.forEach(function(e){var s=l.default.safeAccess(t,e);s&&l.default.safeSet(r,e,s)}),r.modules=[];var n=t.getSetting("serializeModules",!1);return t.modules.forEach(function(t){r.modules.push(s._formatModule(t,n,e))}),r}},{key:"extension",get:function(){return"json"}},{key:"name",get:function(){return"json-minimal"}},{key:"type",get:function(){return"minimal"}}]),t}();e.default=p;var d={classReport:["maintainability","errors"],methodReport:["cyclomatic","halstead.difficulty","errors"],moduleReport:["maintainability","errors"],projectReport:["changeCost","errors"]};t.exports=e.default},function(t,e,s){var r=s(13),n=s(46).onFreeze;s(32)("freeze",function(t){return function(e){return t&&r(e)?t(n(e)):e}})},function(t,e,s){s(172),t.exports=s(3).Object.freeze},function(t,e,s){s(32)("getOwnPropertyNames",function(){return s(112).f})},function(t,e,s){s(174);var r=s(3).Object;t.exports=function(t){return r.getOwnPropertyNames(t)}},function(t,e,s){var r=s(27),n=s(62).f;s(32)("getOwnPropertyDescriptor",function(){return function(t,e){return n(r(t),e)}})},function(t,e,s){s(176);var r=s(3).Object;t.exports=function(t,e){return r.getOwnPropertyDescriptor(t,e)}},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=f(s(99)),n=f(s(58)),i=f(s(114)),a=f(s(66)),o=f(s(110)),u=f(s(22)),l=f(s(23)),h=f(s(44)),c=f(s(2)),p=f(s(0)),d=f(s(1));function f(t){return t&&t.__esModule?t:{default:t}}var y=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0;if((0,p.default)(this,t),{}.hasOwnProperty.call(this.constructor,v))throw new Error("Enum classes can’t be instantiated");"object"===(void 0===e?"undefined":(0,c.default)(e))&&null!==e&&function(t,e){var s=!0,i=!1,a=void 0;try{for(var u,h=(0,l.default)((0,n.default)(e));!(s=(u=h.next()).done);s=!0){var c=u.value,p=(0,r.default)(e,c);(0,o.default)(t,c,p)}}catch(t){i=!0,a=t}finally{try{!s&&h.return&&h.return()}finally{if(i)throw a}}}(this,e)}return(0,d.default)(t,[{key:"toString",value:function(){return this.constructor.name+"."+this.name}}],[{key:"initEnum",value:function(t){return Object.defineProperty(this,"enumValues",{value:[],configurable:!1,writable:!1,enumerable:!0}),Array.isArray(t)?this._enumValuesFromArray(t):this._enumValuesFromObject(t),(0,h.default)(this.enumValues),this[v]=!0,this}},{key:"_enumValuesFromArray",value:function(t){var e=!0,s=!1,r=void 0;try{for(var n,i=(0,l.default)(t);!(e=(n=i.next()).done);e=!0){var a=n.value;this._pushEnumValue(new this,a)}}catch(t){s=!0,r=t}finally{try{!e&&i.return&&i.return()}finally{if(s)throw r}}}},{key:"_enumValuesFromObject",value:function(t){var e=!0,s=!1,r=void 0;try{for(var n,i=(0,l.default)((0,u.default)(t));!(e=(n=i.next()).done);e=!0){var a=n.value,o=new this(t[a]);this._pushEnumValue(o,a)}}catch(t){s=!0,r=t}finally{try{!e&&i.return&&i.return()}finally{if(s)throw r}}}},{key:"_pushEnumValue",value:function(t,e){t.name=e,t.ordinal=this.enumValues.length,(0,o.default)(this,e,{value:t,configurable:!1,writable:!1,enumerable:!0}),this.enumValues.push(t)}},{key:"enumValueOf",value:function(t){return this.enumValues.find(function(e){return e.name===t})}},{key:a.default,value:function(){return(0,l.default)(this.enumValues)}}]),t}();e.default=y;var v=(0,i.default)();t.exports=e.default},function(t,e,s){var r=s(26),n=s(37);s(32)("keys",function(){return function(t){return n(r(t))}})},function(t,e,s){s(179),t.exports=s(3).Object.keys},function(t,e,s){s(101)("Set")},function(t,e,s){s(102)("Set")},function(t,e,s){var r=s(8);r(r.P+r.R,"Set",{toJSON:s(103)("Set")})},function(t,e,s){"use strict";var r=s(105),n=s(59);t.exports=s(104)("Set",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function(t){return r.def(n(this,"Set"),t=0===t?0:t,t)}},r)},function(t,e,s){s(50),s(30),s(34),s(184),s(183),s(182),s(181),t.exports=s(3).Set},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=c(s(16)),n=c(s(15)),i=c(s(2)),a=c(s(5)),o=c(s(0)),u=c(s(1)),l=c(s(11)),h=c(s(9));function c(t){return t&&t.__esModule?t:{default:t}}var p=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:d;(0,o.default)(this,t),this._thresholds=e}return(0,u.default)(t,[{key:"formatReport",value:function(t){var e=this,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=void 0,u=void 0;switch(t.type){case h.default.MODULE:o=[t],u=!0;break;case h.default.PROJECT:o=t.modules,u=t.getSetting("serializeModules",!1);break;default:return console.warn("formatReport '"+this.name+"' warning: unsupported report type '"+t.type+"'."),""}var l=(0,a.default)({},this._thresholds,s),c={version:"7.0",file:[]};return o.forEach(function(t){c.file.push(e._formatModule(t,u,l))}),"object"===(void 0===l?"undefined":(0,i.default)(l))&&(0,n.default)(l.spacing)?(0,r.default)(c,void 0,l.spacing):(0,r.default)(c)}},{key:"isSupported",value:function(t){switch(t){case h.default.MODULE:case h.default.PROJECT:return!0;default:return!1}}},{key:"_formatModule",value:function(t,e,s){var r={};if(r.name=t.filePath?t.filePath:"<unknown>",r.error=[],e){"object"===(0,i.default)(s.moduleReport)&&this._parseErrors(t,s.moduleReport,r.error);for(var n=0;n<t.methods.length;n++)"object"===(0,i.default)(s.methodReport)&&this._parseErrors(t.methods[n],s.methodReport,r.error);for(var a=0;a<t.classes.length;a++){var o=t.classes[a];"object"===(0,i.default)(s.classReport)&&this._parseErrors(o,s.classReport,r.error);for(var u=0;u<o.methods.length;u++)"object"===(0,i.default)(s.methodReport)&&this._parseErrors(o.methods[u],s.methodReport,r.error)}}return r}},{key:"_parseErrors",value:function(t,e,s){for(var r in e)if(e.hasOwnProperty(r)){var n=l.default.safeAccess(t,r);if("number"==typeof n){var i=void 0,a=void 0,o=void 0,u=e[r];for(var h in u)if(u.hasOwnProperty(h)&&"_test"!==h)switch(u._test){case"<":n<u[h]&&(i=h,a=u[h],o=" < ");break;case"<=":n<=u[h]&&(i=h,a=u[h],o=" <= ");break;case">=":n>=u[h]&&(i=h,a=u[h],o=" >= ");break;default:n>u[h]&&(i=h,a=u[h],o=" > ")}if("string"==typeof i){var c=t.getName();s.push({line:t.lineStart,severity:i,message:r+": "+n+o+a,source:t.type.description+" "+(""!==c?"- "+c:"")})}}}}},{key:"extension",get:function(){return"json"}},{key:"name",get:function(){return"json-checkstyle"}},{key:"type",get:function(){return"checkstyle"}}]),t}();e.default=p;var d={classReport:{maintainability:{_test:"<",info:115,warning:100,error:90}},methodReport:{cyclomatic:{info:3,warning:7,error:12},"halstead.difficulty":{info:8,warning:13,error:20}},moduleReport:{maintainability:{_test:"<",info:115,warning:100,error:90}}};t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=u(s(16)),n=u(s(15)),i=u(s(2)),a=u(s(0)),o=u(s(1));function u(t){return t&&t.__esModule?t:{default:t}}var l=function(){function t(){(0,a.default)(this,t)}return(0,o.default)(t,[{key:"formatReport",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"object"===(void 0===e?"undefined":(0,i.default)(e))&&(0,n.default)(e.spacing)?(0,r.default)(t,void 0,e.spacing):(0,r.default)(t)}},{key:"isSupported",value:function(){return!0}},{key:"extension",get:function(){return"json"}},{key:"name",get:function(){return"json"}},{key:"type",get:function(){return"full"}}]),t}();e.default=l,t.exports=e.default},function(t,e,s){s(101)("Map")},function(t,e,s){s(102)("Map")},function(t,e,s){var r=s(33);t.exports=function(t,e){var s=[];return r(t,!1,s.push,s,e),s}},function(t,e,s){var r=s(8);r(r.P+r.R,"Map",{toJSON:s(103)("Map")})},function(t,e,s){var r=s(13),n=s(113),i=s(12)("species");t.exports=function(t){var e;return n(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!n(e.prototype)||(e=void 0),r(e)&&null===(e=e[i])&&(e=void 0)),void 0===e?Array:e}},function(t,e,s){var r=s(192);t.exports=function(t,e){return new(r(t))(e)}},function(t,e,s){var r=s(20),n=s(75),i=s(26),a=s(48),o=s(193);t.exports=function(t,e){var s=1==t,u=2==t,l=3==t,h=4==t,c=6==t,p=5==t||c,d=e||o;return function(e,o,f){for(var y,v,m=i(e),g=n(m),x=r(o,f,3),b=a(g.length),w=0,P=s?d(e,b):u?d(e,0):void 0;b>w;w++)if((p||w in g)&&(v=x(y=g[w],w,m),t))if(s)P[w]=v;else if(v)switch(t){case 3:return!0;case 5:return y;case 6:return w;case 2:P.push(y)}else if(h)return!1;return c?-1:l||h?h:P}}},function(t,e,s){"use strict";var r=s(105),n=s(59);t.exports=s(104)("Map",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{get:function(t){var e=r.getEntry(n(this,"Map"),t);return e&&e.v},set:function(t,e){return r.def(n(this,"Map"),0===t?0:t,e)}},r,!0)},function(t,e,s){s(50),s(30),s(34),s(195),s(191),s(189),s(188),t.exports=s(3).Map},function(t,e,s){var r=s(18),n=s(69);t.exports=s(3).getIterator=function(t){var e=n(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return r(e.call(t))}},function(t,e,s){s(34),s(30),t.exports=s(197)},function(t,e,s){var r=s(8);r(r.S,"Object",{create:s(49)})},function(t,e,s){s(199);var r=s(3).Object;t.exports=function(t,e){return r.create(t,e)}},function(t,e,s){t.exports={default:s(200),__esModule:!0}},function(t,e,s){var r=s(13),n=s(18),i=function(t,e){if(n(t),!r(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,r){try{(r=s(20)(Function.call,s(62).f(Object.prototype,"__proto__").set,2))(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,s){return i(t,s),e?t.__proto__=s:r(t,s),t}}({},!1):void 0),check:i}},function(t,e,s){var r=s(8);r(r.S,"Object",{setPrototypeOf:s(202).set})},function(t,e,s){s(203),t.exports=s(3).Object.setPrototypeOf},function(t,e,s){t.exports={default:s(204),__esModule:!0}},function(t,e,s){var r=s(26),n=s(124);s(32)("getPrototypeOf",function(){return function(t){return n(r(t))}})},function(t,e,s){s(206),t.exports=s(3).Object.getPrototypeOf},function(t,e,s){"use strict";var r=s(17),n=s(39);t.exports=function(t,e,s){e in t?r.f(t,e,n(0,s)):t[e]=s}},function(t,e,s){"use strict";var r=s(20),n=s(8),i=s(26),a=s(122),o=s(121),u=s(48),l=s(208),h=s(69);n(n.S+n.F*!s(115)(function(t){Array.from(t)}),"Array",{from:function(t){var e,s,n,c,p=i(t),d="function"==typeof this?this:Array,f=arguments.length,y=f>1?arguments[1]:void 0,v=void 0!==y,m=0,g=h(p);if(v&&(y=r(y,f>2?arguments[2]:void 0,2)),void 0==g||d==Array&&o(g))for(s=new d(e=u(p.length));e>m;m++)l(s,m,v?y(p[m],m):p[m]);else for(c=g.call(p),s=new d;!(n=c.next()).done;m++)l(s,m,v?a(c,y,[n.value,m],!0):n.value);return s.length=m,s}})},function(t,e,s){s(30),s(209),t.exports=s(3).Array.from},function(t,e,s){"use strict";var r=s(14),n=s(37),i=s(63),a=s(45),o=s(26),u=s(75),l=Object.assign;t.exports=!l||s(29)(function(){var t={},e={},s=Symbol(),r="abcdefghijklmnopqrst";return t[s]=7,r.split("").forEach(function(t){e[t]=t}),7!=l({},t)[s]||Object.keys(l({},e)).join("")!=r})?function(t,e){for(var s=o(t),l=arguments.length,h=1,c=i.f,p=a.f;l>h;)for(var d,f=u(arguments[h++]),y=c?n(f).concat(c(f)):n(f),v=y.length,m=0;v>m;)d=y[m++],r&&!p.call(f,d)||(s[d]=f[d]);return s}:l},function(t,e,s){var r=s(8);r(r.S+r.F,"Object",{assign:s(211)})},function(t,e,s){s(212),t.exports=s(3).Object.assign},function(t,e,s){var r=s(13),n=Math.floor;t.exports=function(t){return!r(t)&&isFinite(t)&&n(t)===t}},function(t,e,s){var r=s(8);r(r.S,"Number",{isInteger:s(214)})},function(t,e,s){s(215),t.exports=s(3).Number.isInteger},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=h(s(15)),n=h(s(2)),i=h(s(0)),a=h(s(1)),o=h(s(107)),u=h(s(90)),l=h(s(88));function h(t){return t&&t.__esModule?t:{default:t}}var c=function(){function t(e){(0,i.default)(this,t),this._report=e,this._anonClassCntr=1,this._anonMethodCntr=1,this._scopeStackClass=[],this._scopeStackMethod=[],this._scopeStackNestedMethod=[]}return(0,a.default)(t,[{key:"createScope",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=void 0;if("object"!==(void 0===t?"undefined":(0,n.default)(t)))throw new TypeError("createScope error: 'newScope' is not an 'object'.");if("string"!=typeof t.type)throw new TypeError("createScope error: 'newScope.type' is not a 'string'.");if("string"!=typeof t.name)throw new TypeError("createScope error: 'newScope.name' is not a 'string'.");if(!(0,r.default)(t.lineStart))throw new TypeError("createScope error: 'newScope.lineStart' is not an 'integer'.");if(!(0,r.default)(t.lineEnd))throw new TypeError("createScope error: 'newScope.lineEnd' is not an 'integer'.");switch(t.type){case"class":var s="<anonymous>"!==t.name?t.name:"<anon class-"+this._anonClassCntr+++">",i="<anonymous>"!==t.superClassName?t.superClassName:"<anon class-"+this._anonClassCntr+++">";e=new o.default(s,i,t.lineStart,t.lineEnd),this._report.classes.push(e),this._scopeStackClass.push(e);break;case"method":if(!Array.isArray(t.paramNames))throw new TypeError("createScope error: 'newScope.paramNames' is not an 'array'.");var a="<anonymous>"!==t.name?t.name:"<anon method-"+this._anonMethodCntr+++">",h=this.getCurrentClassReport();h?(e=new u.default(a,t.paramNames,t.lineStart,t.lineEnd),h.methods.push(e)):(e=new l.default(a,t.paramNames,t.lineStart,t.lineEnd),this._report.methods.push(e)),this._scopeStackMethod.push(e);break;default:throw new Error("createScope error: Unknown scope type ("+t.type+").")}return e}},{key:"getCurrentClassReport",value:function(){if(Array.isArray(this._scopeStackClass))return this._scopeStackClass.length>0?this._scopeStackClass[this._scopeStackClass.length-1]:void 0}},{key:"getCurrentMethodReport",value:function(){if(Array.isArray(this._scopeStackMethod))return this._scopeStackMethod.length>0?this._scopeStackMethod[this._scopeStackMethod.length-1]:void 0}},{key:"popScope",value:function(t){if("object"!==(void 0===t?"undefined":(0,n.default)(t)))throw new TypeError("popScope error: 'scope' is not an 'object'.");if("string"!=typeof t.type)throw new TypeError("popScope error: 'scope.type' is not a 'string'.");switch(t.type){case"class":this._scopeStackClass.pop();break;case"method":this._scopeStackMethod.pop();break;default:throw new Error("popScope error: Unknown scope type ("+t.type+").")}}}]),t}();e.default=c,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},n=function(){function t(t,e){for(var s=0;s<e.length;s++){var r=e[s];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,s,r){return s&&t(e.prototype,s),r&&t(e,r),e}}();var i=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t)}return n(t,[{key:"traverse",value:function(t,e){if("object"!==(void 0===e?"undefined":r(e)))throw new TypeError("Invalid callbacks");if("function"!=typeof e.enterNode&&"function"!=typeof e.exitNode)throw new TypeError("Invalid callbacks - missing `enterNode` and / or `exitNode`.");if(Array.isArray(t))this._visitNodes(t,void 0,e);else{if("object"!==(void 0===t?"undefined":r(t)))throw new TypeError("Invalid syntax tree");this._visitNode(t,void 0,e)}}},{key:"_visitNode",value:function(t,e,s){if(null!==t&&"object"===(void 0===t?"undefined":r(t))&&"string"==typeof t.type){var n="function"==typeof s.enterNode?s.enterNode(t,e):[];null!==n&&this._visitChildren(t,n,s),"function"==typeof s.exitNode&&s.exitNode(t,e)}}},{key:"_visitNodes",value:function(t,e,s){var r=this;t.forEach(function(t){r._visitNode(t,e,s)},this)}},{key:"_visitChildren",value:function(t,e,s){var n=this;e=Array.isArray(e)?e:[],Object.keys(t).forEach(function(i){e.indexOf(i)>=0||(Array.isArray(t[i])||"object"===r(t[i]))&&n._visitChild(t[i],t,s)})}},{key:"_visitChild",value:function(t,e,s){(Array.isArray(t)?this._visitNodes:this._visitNode).call(this,t,e,s)}}]),t}();e.default=i,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=!0;class n{constructor(t,e={}){this.label=t,this.keyword=e.keyword,this.beforeExpr=!!e.beforeExpr,this.startsExpr=!!e.startsExpr,this.rightAssociative=!!e.rightAssociative,this.isLoop=!!e.isLoop,this.isAssign=!!e.isAssign,this.prefix=!!e.prefix,this.postfix=!!e.postfix,this.binop=null!=e.binop?e.binop:null,this.updateContext=null}}const i=new Map;function a(t,e={}){e.keyword=t;const s=new n(t,e);return i.set(t,s),s}function o(t,e){return new n(t,{beforeExpr:r,binop:e})}const u={num:new n("num",{startsExpr:!0}),bigint:new n("bigint",{startsExpr:!0}),regexp:new n("regexp",{startsExpr:!0}),string:new n("string",{startsExpr:!0}),name:new n("name",{startsExpr:!0}),eof:new n("eof"),bracketL:new n("[",{beforeExpr:r,startsExpr:!0}),bracketR:new n("]"),braceL:new n("{",{beforeExpr:r,startsExpr:!0}),braceBarL:new n("{|",{beforeExpr:r,startsExpr:!0}),braceR:new n("}"),braceBarR:new n("|}"),parenL:new n("(",{beforeExpr:r,startsExpr:!0}),parenR:new n(")"),comma:new n(",",{beforeExpr:r}),semi:new n(";",{beforeExpr:r}),colon:new n(":",{beforeExpr:r}),doubleColon:new n("::",{beforeExpr:r}),dot:new n("."),question:new n("?",{beforeExpr:r}),questionDot:new n("?."),arrow:new n("=>",{beforeExpr:r}),template:new n("template"),ellipsis:new n("...",{beforeExpr:r}),backQuote:new n("`",{startsExpr:!0}),dollarBraceL:new n("${",{beforeExpr:r,startsExpr:!0}),at:new n("@"),hash:new n("#",{startsExpr:!0}),interpreterDirective:new n("#!..."),eq:new n("=",{beforeExpr:r,isAssign:!0}),assign:new n("_=",{beforeExpr:r,isAssign:!0}),incDec:new n("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),bang:new n("!",{beforeExpr:r,prefix:!0,startsExpr:!0}),tilde:new n("~",{beforeExpr:r,prefix:!0,startsExpr:!0}),pipeline:o("|>",0),nullishCoalescing:o("??",1),logicalOR:o("||",2),logicalAND:o("&&",3),bitwiseOR:o("|",4),bitwiseXOR:o("^",5),bitwiseAND:o("&",6),equality:o("==/!=/===/!==",7),relational:o("</>/<=/>=",8),bitShift:o("<</>>/>>>",9),plusMin:new n("+/-",{beforeExpr:r,binop:10,prefix:!0,startsExpr:!0}),modulo:new n("%",{beforeExpr:r,binop:11,startsExpr:!0}),star:o("*",11),slash:o("/",11),exponent:new n("**",{beforeExpr:r,binop:12,rightAssociative:!0}),_break:a("break"),_case:a("case",{beforeExpr:r}),_catch:a("catch"),_continue:a("continue"),_debugger:a("debugger"),_default:a("default",{beforeExpr:r}),_do:a("do",{isLoop:!0,beforeExpr:r}),_else:a("else",{beforeExpr:r}),_finally:a("finally"),_for:a("for",{isLoop:!0}),_function:a("function",{startsExpr:!0}),_if:a("if"),_return:a("return",{beforeExpr:r}),_switch:a("switch"),_throw:a("throw",{beforeExpr:r,prefix:!0,startsExpr:!0}),_try:a("try"),_var:a("var"),_const:a("const"),_while:a("while",{isLoop:!0}),_with:a("with"),_new:a("new",{beforeExpr:r,startsExpr:!0}),_this:a("this",{startsExpr:!0}),_super:a("super",{startsExpr:!0}),_class:a("class",{startsExpr:!0}),_extends:a("extends",{beforeExpr:r}),_export:a("export"),_import:a("import",{startsExpr:!0}),_null:a("null",{startsExpr:!0}),_true:a("true",{startsExpr:!0}),_false:a("false",{startsExpr:!0}),_in:a("in",{beforeExpr:r,binop:8}),_instanceof:a("instanceof",{beforeExpr:r,binop:8}),_typeof:a("typeof",{beforeExpr:r,prefix:!0,startsExpr:!0}),_void:a("void",{beforeExpr:r,prefix:!0,startsExpr:!0}),_delete:a("delete",{beforeExpr:r,prefix:!0,startsExpr:!0})},l=0,h=1,c=2,p=4,d=8,f=16,y=32,v=64,m=128,g=256,x=h|c|512;function b(t,e){return c|(t?p:0)|(e?d:0)}const w=1,P=2,E=4,_=8,k=16,A=128,T=256,S=512,C=1024,M=w|P|_|A,N=0|w|_|0,j=0|w|E|0,O=0|w|k|0,L=0|P|A,R=0|P,I=w|P|_|T,D=0|C,F=64,B=64|w,q=I|S,U=0|C;function V(t){return null!=t&&"Property"===t.type&&"init"===t.kind&&!1===t.method}const z=/\r\n?|[\n\u2028\u2029]/,H=new RegExp(z.source,"g");function J(t){switch(t){case 10:case 13:case 8232:case 8233:return!0;default:return!1}}const W=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g;function K(t){switch(t){case 9:case 11:case 12:case 32:case 160:case 5760:case 8192:case 8193:case 8194:case 8195:case 8196:case 8197:case 8198:case 8199:case 8200:case 8201:case 8202:case 8239:case 8287:case 12288:case 65279:return!0;default:return!1}}class G{constructor(t,e,s,r){this.token=t,this.isExpr=!!e,this.preserveSpace=!!s,this.override=r}}const $={braceStatement:new G("{",!1),braceExpression:new G("{",!0),templateQuasi:new G("${",!1),parenStatement:new G("(",!1),parenExpression:new G("(",!0),template:new G("`",!0,!0,t=>t.readTmplToken()),functionExpression:new G("function",!0),functionStatement:new G("function",!1)};u.parenR.updateContext=u.braceR.updateContext=function(){if(1===this.state.context.length)return void(this.state.exprAllowed=!0);let t=this.state.context.pop();t===$.braceStatement&&"function"===this.curContext().token&&(t=this.state.context.pop()),this.state.exprAllowed=!t.isExpr},u.name.updateContext=function(t){let e=!1;t!==u.dot&&("of"===this.state.value&&!this.state.exprAllowed||"yield"===this.state.value&&this.scope.inGenerator)&&(e=!0),this.state.exprAllowed=e,this.state.isIterator&&(this.state.isIterator=!1)},u.braceL.updateContext=function(t){this.state.context.push(this.braceIsBlock(t)?$.braceStatement:$.braceExpression),this.state.exprAllowed=!0},u.dollarBraceL.updateContext=function(){this.state.context.push($.templateQuasi),this.state.exprAllowed=!0},u.parenL.updateContext=function(t){const e=t===u._if||t===u._for||t===u._with||t===u._while;this.state.context.push(e?$.parenStatement:$.parenExpression),this.state.exprAllowed=!0},u.incDec.updateContext=function(){},u._function.updateContext=u._class.updateContext=function(t){!t.beforeExpr||t===u.semi||t===u._else||t===u._return&&z.test(this.input.slice(this.state.lastTokEnd,this.state.start))||(t===u.colon||t===u.braceL)&&this.curContext()===$.b_stat?this.state.context.push($.functionStatement):this.state.context.push($.functionExpression),this.state.exprAllowed=!1},u.backQuote.updateContext=function(){this.curContext()===$.template?this.state.context.pop():this.state.context.push($.template),this.state.exprAllowed=!1};const X={strict:["implements","interface","let","package","private","protected","public","static","yield"],strictBind:["eval","arguments"]},Y=new Set(X.strict),Q=new Set(X.strict.concat(X.strictBind)),Z=(t,e)=>e&&"await"===t||"enum"===t;function tt(t,e){return Z(t,e)||Y.has(t)}function et(t,e){return Z(t,e)||Q.has(t)}function st(t){return i.has(t)}const rt=/^in(stanceof)?$/;let nt="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࢠ-ࢴࢶ-ࢽऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿯ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞿꟂ-Ᶎꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭧꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",it="‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࣓-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ංඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷹᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_";const at=new RegExp("["+nt+"]"),ot=new RegExp("["+nt+it+"]");nt=it=null;const ut=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,477,28,11,0,9,21,155,22,13,52,76,44,33,24,27,35,30,0,12,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,0,33,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,0,161,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,270,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,754,9486,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42710,42,4148,12,221,3,5761,15,7472,3104,541],lt=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,525,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,4,9,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,232,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,19723,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,792487,239];function ht(t,e){let s=65536;for(let r=0,n=e.length;r<n;r+=2){if((s+=e[r])>t)return!1;if((s+=e[r+1])>=t)return!0}return!1}function ct(t){return t<65?36===t:t<=90||(t<97?95===t:t<=122||(t<=65535?t>=170&&at.test(String.fromCharCode(t)):ht(t,ut)))}function pt(t){return t<48?36===t:t<58||!(t<65)&&(t<=90||(t<97?95===t:t<=122||(t<=65535?t>=170&&ot.test(String.fromCharCode(t)):ht(t,ut)||ht(t,lt))))}const dt=["any","bool","boolean","empty","false","mixed","null","number","static","string","true","typeof","void","interface","extends","_"];function ft(t){return"type"===t.importKind||"typeof"===t.importKind}function yt(t){return(t.type===u.name||!!t.type.keyword)&&"from"!==t.value}const vt={const:"declare export var",let:"declare export var",type:"export type",interface:"export interface"};const mt=/\*?\s*@((?:no)?flow)\b/;const gt={quot:'"',amp:"&",apos:"'",lt:"<",gt:">",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",frasl:"⁄",euro:"€",image:"ℑ",weierp:"℘",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",lang:"〈",rang:"〉",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦"},xt=/^[\da-fA-F]+$/,bt=/^\d+$/;function wt(t){return!!t&&("JSXOpeningFragment"===t.type||"JSXClosingFragment"===t.type)}function Pt(t){if("JSXIdentifier"===t.type)return t.name;if("JSXNamespacedName"===t.type)return t.namespace.name+":"+t.name.name;if("JSXMemberExpression"===t.type)return Pt(t.object)+"."+Pt(t.property);throw new Error("Node had unexpected type: "+t.type)}$.j_oTag=new G("<tag",!1),$.j_cTag=new G("</tag",!1),$.j_expr=new G("<tag>...</tag>",!0,!0),u.jsxName=new n("jsxName"),u.jsxText=new n("jsxText",{beforeExpr:!0}),u.jsxTagStart=new n("jsxTagStart",{startsExpr:!0}),u.jsxTagEnd=new n("jsxTagEnd"),u.jsxTagStart.updateContext=function(){this.state.context.push($.j_expr),this.state.context.push($.j_oTag),this.state.exprAllowed=!1},u.jsxTagEnd.updateContext=function(t){const e=this.state.context.pop();e===$.j_oTag&&t===u.slash||e===$.j_cTag?(this.state.context.pop(),this.state.exprAllowed=this.curContext()===$.j_expr):this.state.exprAllowed=!0};class Et{constructor(t){this.var=[],this.lexical=[],this.functions=[],this.flags=t}}class _t{constructor(t,e){this.scopeStack=[],this.undefinedExports=new Map,this.raise=t,this.inModule=e}get inFunction(){return(this.currentVarScope().flags&c)>0}get inGenerator(){return(this.currentVarScope().flags&d)>0}get inAsync(){return(this.currentVarScope().flags&p)>0}get allowSuper(){return(this.currentThisScope().flags&v)>0}get allowDirectSuper(){return(this.currentThisScope().flags&m)>0}get inNonArrowFunction(){return(this.currentThisScope().flags&c)>0}get treatFunctionsAsVar(){return this.treatFunctionsAsVarInScope(this.currentScope())}createScope(t){return new Et(t)}enter(t){this.scopeStack.push(this.createScope(t))}exit(){this.scopeStack.pop()}treatFunctionsAsVarInScope(t){return!!(t.flags&c||!this.inModule&&t.flags&h)}declareName(t,e,s){let r=this.currentScope();if(e&_||e&k)this.checkRedeclarationInScope(r,t,e,s),e&k?r.functions.push(t):r.lexical.push(t),e&_&&this.maybeExportDefined(r,t);else if(e&E)for(let n=this.scopeStack.length-1;n>=0&&(r=this.scopeStack[n],this.checkRedeclarationInScope(r,t,e,s),r.var.push(t),this.maybeExportDefined(r,t),!(r.flags&x));--n);this.inModule&&r.flags&h&&this.undefinedExports.delete(t)}maybeExportDefined(t,e){this.inModule&&t.flags&h&&this.undefinedExports.delete(e)}checkRedeclarationInScope(t,e,s,r){this.isRedeclaredInScope(t,e,s)&&this.raise(r,`Identifier '${e}' has already been declared`)}isRedeclaredInScope(t,e,s){return!!(s&w)&&(s&_?t.lexical.indexOf(e)>-1||t.functions.indexOf(e)>-1||t.var.indexOf(e)>-1:s&k?t.lexical.indexOf(e)>-1||!this.treatFunctionsAsVarInScope(t)&&t.var.indexOf(e)>-1:t.lexical.indexOf(e)>-1&&!(t.flags&y&&t.lexical[0]===e)||!this.treatFunctionsAsVarInScope(t)&&t.functions.indexOf(e)>-1)}checkLocalExport(t){-1===this.scopeStack[0].lexical.indexOf(t.name)&&-1===this.scopeStack[0].var.indexOf(t.name)&&-1===this.scopeStack[0].functions.indexOf(t.name)&&this.undefinedExports.set(t.name,t.start)}currentScope(){return this.scopeStack[this.scopeStack.length-1]}currentVarScope(){for(let t=this.scopeStack.length-1;;t--){const e=this.scopeStack[t];if(e.flags&x)return e}}currentThisScope(){for(let t=this.scopeStack.length-1;;t--){const e=this.scopeStack[t];if((e.flags&x||e.flags&g)&&!(e.flags&f))return e}}}class kt extends Et{constructor(...t){super(...t),this.types=[],this.enums=[],this.constEnums=[],this.classes=[],this.exportOnlyBindings=[]}}class At extends _t{createScope(t){return new kt(t)}declareName(t,e,s){const r=this.currentScope();if(e&C)return this.maybeExportDefined(r,t),void r.exportOnlyBindings.push(t);super.declareName(...arguments),e&P&&(e&w||(this.checkRedeclarationInScope(r,t,e,s),this.maybeExportDefined(r,t)),r.types.push(t)),e&T&&r.enums.push(t),e&S&&r.constEnums.push(t),e&A&&r.classes.push(t)}isRedeclaredInScope(t,e,s){if(t.enums.indexOf(e)>-1){if(s&T){return!!(s&S)!==t.constEnums.indexOf(e)>-1}return!0}return s&A&&t.classes.indexOf(e)>-1?t.lexical.indexOf(e)>-1&&!!(s&w):!!(s&P&&t.types.indexOf(e)>-1)||super.isRedeclaredInScope(...arguments)}checkLocalExport(t){-1===this.scopeStack[0].types.indexOf(t.name)&&-1===this.scopeStack[0].exportOnlyBindings.indexOf(t.name)&&super.checkLocalExport(t)}}function Tt(t){if(null==t)throw new Error(`Unexpected ${t} value.`);return t}function St(t){if(!t)throw new Error("Assert fail")}u.placeholder=new n("%%",{startsExpr:!0});function Ct(t,e){return t.some(t=>Array.isArray(t)?t[0]===e:t===e)}function Mt(t,e,s){const r=t.find(t=>Array.isArray(t)?t[0]===e:t===e);return r&&Array.isArray(r)?r[1][s]:null}const Nt=["minimal","smart","fsharp"];const jt={estree:t=>(class extends t{estreeParseRegExpLiteral({pattern:t,flags:e}){let s=null;try{s=new RegExp(t,e)}catch(t){}const r=this.estreeParseLiteral(s);return r.regex={pattern:t,flags:e},r}estreeParseLiteral(t){return this.parseLiteral(t,"Literal")}directiveToStmt(t){const e=t.value,s=this.startNodeAt(t.start,t.loc.start),r=this.startNodeAt(e.start,e.loc.start);return r.value=e.value,r.raw=e.extra.raw,s.expression=this.finishNodeAt(r,"Literal",e.end,e.loc.end),s.directive=e.extra.raw.slice(1,-1),this.finishNodeAt(s,"ExpressionStatement",t.end,t.loc.end)}initFunction(t,e){super.initFunction(t,e),t.expression=!1}checkDeclaration(t){V(t)?this.checkDeclaration(t.value):super.checkDeclaration(t)}checkGetterSetterParams(t){const e=t,s="get"===e.kind?0:1,r=e.start;e.value.params.length!==s&&("get"===e.kind?this.raise(r,"getter must not have any formal parameters"):this.raise(r,"setter must have exactly one formal parameter")),"set"===e.kind&&"RestElement"===e.value.params[0].type&&this.raise(r,"setter function argument must not be a rest parameter")}checkLVal(t,e=F,s,r){switch(t.type){case"ObjectPattern":t.properties.forEach(t=>{this.checkLVal("Property"===t.type?t.value:t,e,s,"object destructuring pattern")});break;default:super.checkLVal(t,e,s,r)}}checkPropClash(t,e){if("SpreadElement"===t.type||t.computed||t.method||t.shorthand)return;const s=t.key;"__proto__"===("Identifier"===s.type?s.name:String(s.value))&&"init"===t.kind&&(e.proto&&this.raise(s.start,"Redefinition of __proto__ property"),e.proto=!0)}isStrictBody(t){if("BlockStatement"===t.body.type&&t.body.body.length>0)for(let e=0,s=t.body.body;e<s.length;e++){const t=s[e];if("ExpressionStatement"!==t.type||"Literal"!==t.expression.type)break;if("use strict"===t.expression.value)return!0}return!1}isValidDirective(t){return!("ExpressionStatement"!==t.type||"Literal"!==t.expression.type||"string"!=typeof t.expression.value||t.expression.extra&&t.expression.extra.parenthesized)}stmtToDirective(t){const e=super.stmtToDirective(t),s=t.expression.value;return e.value.value=s,e}parseBlockBody(t,e,s,r){super.parseBlockBody(t,e,s,r);const n=t.directives.map(t=>this.directiveToStmt(t));t.body=n.concat(t.body),delete t.directives}pushClassMethod(t,e,s,r,n,i){this.parseMethod(e,s,r,n,i,"ClassMethod",!0),e.typeParameters&&(e.value.typeParameters=e.typeParameters,delete e.typeParameters),t.body.push(e)}parseExprAtom(t){switch(this.state.type){case u.regexp:return this.estreeParseRegExpLiteral(this.state.value);case u.num:case u.string:return this.estreeParseLiteral(this.state.value);case u._null:return this.estreeParseLiteral(null);case u._true:return this.estreeParseLiteral(!0);case u._false:return this.estreeParseLiteral(!1);default:return super.parseExprAtom(t)}}parseLiteral(t,e,s,r){const n=super.parseLiteral(t,e,s,r);return n.raw=n.extra.raw,delete n.extra,n}parseFunctionBody(t,e,s=!1){super.parseFunctionBody(t,e,s),t.expression="BlockStatement"!==t.body.type}parseMethod(t,e,s,r,n,i,a=!1){let o=this.startNode();return o.kind=t.kind,(o=super.parseMethod(o,e,s,r,n,i,a)).type="FunctionExpression",delete o.kind,t.value=o,i="ClassMethod"===i?"MethodDefinition":i,this.finishNode(t,i)}parseObjectMethod(t,e,s,r,n){const i=super.parseObjectMethod(t,e,s,r,n);return i&&(i.type="Property","method"===i.kind&&(i.kind="init"),i.shorthand=!1),i}parseObjectProperty(t,e,s,r,n){const i=super.parseObjectProperty(t,e,s,r,n);return i&&(i.kind="init",i.type="Property"),i}toAssignable(t,e,s){return V(t)?(this.toAssignable(t.value,e,s),t):super.toAssignable(t,e,s)}toAssignableObjectExpressionProp(t,e,s){"get"===t.kind||"set"===t.kind?this.raise(t.key.start,"Object pattern can't contain getter or setter"):t.method?this.raise(t.key.start,"Object pattern can't contain methods"):super.toAssignableObjectExpressionProp(t,e,s)}}),jsx:t=>(class extends t{jsxReadToken(){let t="",e=this.state.pos;for(;;){this.state.pos>=this.length&&this.raise(this.state.start,"Unterminated JSX contents");const s=this.input.charCodeAt(this.state.pos);switch(s){case 60:case 123:return this.state.pos===this.state.start?60===s&&this.state.exprAllowed?(++this.state.pos,this.finishToken(u.jsxTagStart)):super.getTokenFromCode(s):(t+=this.input.slice(e,this.state.pos),this.finishToken(u.jsxText,t));case 38:t+=this.input.slice(e,this.state.pos),t+=this.jsxReadEntity(),e=this.state.pos;break;default:J(s)?(t+=this.input.slice(e,this.state.pos),t+=this.jsxReadNewLine(!0),e=this.state.pos):++this.state.pos}}}jsxReadNewLine(t){const e=this.input.charCodeAt(this.state.pos);let s;return++this.state.pos,13===e&&10===this.input.charCodeAt(this.state.pos)?(++this.state.pos,s=t?"\n":"\r\n"):s=String.fromCharCode(e),++this.state.curLine,this.state.lineStart=this.state.pos,s}jsxReadString(t){let e="",s=++this.state.pos;for(;;){this.state.pos>=this.length&&this.raise(this.state.start,"Unterminated string constant");const r=this.input.charCodeAt(this.state.pos);if(r===t)break;38===r?(e+=this.input.slice(s,this.state.pos),e+=this.jsxReadEntity(),s=this.state.pos):J(r)?(e+=this.input.slice(s,this.state.pos),e+=this.jsxReadNewLine(!1),s=this.state.pos):++this.state.pos}return e+=this.input.slice(s,this.state.pos++),this.finishToken(u.string,e)}jsxReadEntity(){let t,e="",s=0,r=this.input[this.state.pos];const n=++this.state.pos;for(;this.state.pos<this.length&&s++<10;){if(";"===(r=this.input[this.state.pos++])){"#"===e[0]?"x"===e[1]?(e=e.substr(2),xt.test(e)&&(t=String.fromCodePoint(parseInt(e,16)))):(e=e.substr(1),bt.test(e)&&(t=String.fromCodePoint(parseInt(e,10)))):t=gt[e];break}e+=r}return t||(this.state.pos=n,"&")}jsxReadWord(){let t;const e=this.state.pos;do{t=this.input.charCodeAt(++this.state.pos)}while(pt(t)||45===t);return this.finishToken(u.jsxName,this.input.slice(e,this.state.pos))}jsxParseIdentifier(){const t=this.startNode();return this.match(u.jsxName)?t.name=this.state.value:this.state.type.keyword?t.name=this.state.type.keyword:this.unexpected(),this.next(),this.finishNode(t,"JSXIdentifier")}jsxParseNamespacedName(){const t=this.state.start,e=this.state.startLoc,s=this.jsxParseIdentifier();if(!this.eat(u.colon))return s;const r=this.startNodeAt(t,e);return r.namespace=s,r.name=this.jsxParseIdentifier(),this.finishNode(r,"JSXNamespacedName")}jsxParseElementName(){const t=this.state.start,e=this.state.startLoc;let s=this.jsxParseNamespacedName();if("JSXNamespacedName"===s.type)return s;for(;this.eat(u.dot);){const r=this.startNodeAt(t,e);r.object=s,r.property=this.jsxParseIdentifier(),s=this.finishNode(r,"JSXMemberExpression")}return s}jsxParseAttributeValue(){let t;switch(this.state.type){case u.braceL:if(t=this.startNode(),this.next(),"JSXEmptyExpression"===(t=this.jsxParseExpressionContainer(t)).expression.type)throw this.raise(t.start,"JSX attributes must only be assigned a non-empty expression");return t;case u.jsxTagStart:case u.string:return this.parseExprAtom();default:throw this.raise(this.state.start,"JSX value should be either an expression or a quoted JSX text")}}jsxParseEmptyExpression(){const t=this.startNodeAt(this.state.lastTokEnd,this.state.lastTokEndLoc);return this.finishNodeAt(t,"JSXEmptyExpression",this.state.start,this.state.startLoc)}jsxParseSpreadChild(t){return this.next(),t.expression=this.parseExpression(),this.expect(u.braceR),this.finishNode(t,"JSXSpreadChild")}jsxParseExpressionContainer(t){return this.match(u.braceR)?t.expression=this.jsxParseEmptyExpression():t.expression=this.parseExpression(),this.expect(u.braceR),this.finishNode(t,"JSXExpressionContainer")}jsxParseAttribute(){const t=this.startNode();return this.eat(u.braceL)?(this.expect(u.ellipsis),t.argument=this.parseMaybeAssign(),this.expect(u.braceR),this.finishNode(t,"JSXSpreadAttribute")):(t.name=this.jsxParseNamespacedName(),t.value=this.eat(u.eq)?this.jsxParseAttributeValue():null,this.finishNode(t,"JSXAttribute"))}jsxParseOpeningElementAt(t,e){const s=this.startNodeAt(t,e);return this.match(u.jsxTagEnd)?(this.expect(u.jsxTagEnd),this.finishNode(s,"JSXOpeningFragment")):(s.name=this.jsxParseElementName(),this.jsxParseOpeningElementAfterName(s))}jsxParseOpeningElementAfterName(t){const e=[];for(;!this.match(u.slash)&&!this.match(u.jsxTagEnd);)e.push(this.jsxParseAttribute());return t.attributes=e,t.selfClosing=this.eat(u.slash),this.expect(u.jsxTagEnd),this.finishNode(t,"JSXOpeningElement")}jsxParseClosingElementAt(t,e){const s=this.startNodeAt(t,e);return this.match(u.jsxTagEnd)?(this.expect(u.jsxTagEnd),this.finishNode(s,"JSXClosingFragment")):(s.name=this.jsxParseElementName(),this.expect(u.jsxTagEnd),this.finishNode(s,"JSXClosingElement"))}jsxParseElementAt(t,e){const s=this.startNodeAt(t,e),r=[],n=this.jsxParseOpeningElementAt(t,e);let i=null;if(!n.selfClosing){t:for(;;)switch(this.state.type){case u.jsxTagStart:if(t=this.state.start,e=this.state.startLoc,this.next(),this.eat(u.slash)){i=this.jsxParseClosingElementAt(t,e);break t}r.push(this.jsxParseElementAt(t,e));break;case u.jsxText:r.push(this.parseExprAtom());break;case u.braceL:{const t=this.startNode();this.next(),this.match(u.ellipsis)?r.push(this.jsxParseSpreadChild(t)):r.push(this.jsxParseExpressionContainer(t));break}default:throw this.unexpected()}wt(n)&&!wt(i)?this.raise(i.start,"Expected corresponding JSX closing tag for <>"):!wt(n)&&wt(i)?this.raise(i.start,"Expected corresponding JSX closing tag for <"+Pt(n.name)+">"):wt(n)||wt(i)||Pt(i.name)!==Pt(n.name)&&this.raise(i.start,"Expected corresponding JSX closing tag for <"+Pt(n.name)+">")}return wt(n)?(s.openingFragment=n,s.closingFragment=i):(s.openingElement=n,s.closingElement=i),s.children=r,this.match(u.relational)&&"<"===this.state.value&&this.raise(this.state.start,"Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...</>?"),wt(n)?this.finishNode(s,"JSXFragment"):this.finishNode(s,"JSXElement")}jsxParseElement(){const t=this.state.start,e=this.state.startLoc;return this.next(),this.jsxParseElementAt(t,e)}parseExprAtom(t){return this.match(u.jsxText)?this.parseLiteral(this.state.value,"JSXText"):this.match(u.jsxTagStart)?this.jsxParseElement():this.isRelational("<")&&33!==this.input.charCodeAt(this.state.pos)?(this.finishToken(u.jsxTagStart),this.jsxParseElement()):super.parseExprAtom(t)}getTokenFromCode(t){if(this.state.inPropertyName)return super.getTokenFromCode(t);const e=this.curContext();if(e===$.j_expr)return this.jsxReadToken();if(e===$.j_oTag||e===$.j_cTag){if(ct(t))return this.jsxReadWord();if(62===t)return++this.state.pos,this.finishToken(u.jsxTagEnd);if((34===t||39===t)&&e===$.j_oTag)return this.jsxReadString(t)}return 60===t&&this.state.exprAllowed&&33!==this.input.charCodeAt(this.state.pos+1)?(++this.state.pos,this.finishToken(u.jsxTagStart)):super.getTokenFromCode(t)}updateContext(t){if(this.match(u.braceL)){const e=this.curContext();e===$.j_oTag?this.state.context.push($.braceExpression):e===$.j_expr?this.state.context.push($.templateQuasi):super.updateContext(t),this.state.exprAllowed=!0}else{if(!this.match(u.slash)||t!==u.jsxTagStart)return super.updateContext(t);this.state.context.length-=2,this.state.context.push($.j_cTag),this.state.exprAllowed=!1}}}),flow:t=>(class extends t{constructor(t,e){super(t,e),this.flowPragma=void 0}shouldParseTypes(){return this.getPluginOption("flow","all")||"flow"===this.flowPragma}finishToken(t,e){return t!==u.string&&t!==u.semi&&t!==u.interpreterDirective&&void 0===this.flowPragma&&(this.flowPragma=null),super.finishToken(t,e)}addComment(t){if(void 0===this.flowPragma){const e=mt.exec(t.value);if(e)if("flow"===e[1])this.flowPragma="flow";else{if("noflow"!==e[1])throw new Error("Unexpected flow pragma");this.flowPragma="noflow"}}return super.addComment(t)}flowParseTypeInitialiser(t){const e=this.state.inType;this.state.inType=!0,this.expect(t||u.colon);const s=this.flowParseType();return this.state.inType=e,s}flowParsePredicate(){const t=this.startNode(),e=this.state.startLoc,s=this.state.start;this.expect(u.modulo);const r=this.state.startLoc;return this.expectContextual("checks"),e.line===r.line&&e.column===r.column-1||this.raise(s,"Spaces between ´%´ and ´checks´ are not allowed here."),this.eat(u.parenL)?(t.value=this.parseExpression(),this.expect(u.parenR),this.finishNode(t,"DeclaredPredicate")):this.finishNode(t,"InferredPredicate")}flowParseTypeAndPredicateInitialiser(){const t=this.state.inType;this.state.inType=!0,this.expect(u.colon);let e=null,s=null;return this.match(u.modulo)?(this.state.inType=t,s=this.flowParsePredicate()):(e=this.flowParseType(),this.state.inType=t,this.match(u.modulo)&&(s=this.flowParsePredicate())),[e,s]}flowParseDeclareClass(t){return this.next(),this.flowParseInterfaceish(t,!0),this.finishNode(t,"DeclareClass")}flowParseDeclareFunction(t){this.next();const e=t.id=this.parseIdentifier(),s=this.startNode(),r=this.startNode();this.isRelational("<")?s.typeParameters=this.flowParseTypeParameterDeclaration():s.typeParameters=null,this.expect(u.parenL);const n=this.flowParseFunctionTypeParams();return s.params=n.params,s.rest=n.rest,this.expect(u.parenR),[s.returnType,t.predicate]=this.flowParseTypeAndPredicateInitialiser(),r.typeAnnotation=this.finishNode(s,"FunctionTypeAnnotation"),e.typeAnnotation=this.finishNode(r,"TypeAnnotation"),this.resetEndLocation(e),this.semicolon(),this.finishNode(t,"DeclareFunction")}flowParseDeclare(t,e){if(this.match(u._class))return this.flowParseDeclareClass(t);if(this.match(u._function))return this.flowParseDeclareFunction(t);if(this.match(u._var))return this.flowParseDeclareVariable(t);if(this.eatContextual("module"))return this.match(u.dot)?this.flowParseDeclareModuleExports(t):(e&&this.unexpected(this.state.lastTokStart,"`declare module` cannot be used inside another `declare module`"),this.flowParseDeclareModule(t));if(this.isContextual("type"))return this.flowParseDeclareTypeAlias(t);if(this.isContextual("opaque"))return this.flowParseDeclareOpaqueType(t);if(this.isContextual("interface"))return this.flowParseDeclareInterface(t);if(this.match(u._export))return this.flowParseDeclareExportDeclaration(t,e);throw this.unexpected()}flowParseDeclareVariable(t){return this.next(),t.id=this.flowParseTypeAnnotatableIdentifier(!0),this.scope.declareName(t.id.name,j,t.id.start),this.semicolon(),this.finishNode(t,"DeclareVariable")}flowParseDeclareModule(t){this.scope.enter(l),this.match(u.string)?t.id=this.parseExprAtom():t.id=this.parseIdentifier();const e=t.body=this.startNode(),s=e.body=[];for(this.expect(u.braceL);!this.match(u.braceR);){let t=this.startNode();this.match(u._import)?(this.next(),this.isContextual("type")||this.match(u._typeof)||this.unexpected(this.state.lastTokStart,"Imports within a `declare module` body must always be `import type` or `import typeof`"),this.parseImport(t)):(this.expectContextual("declare","Only declares and type imports are allowed inside declare module"),t=this.flowParseDeclare(t,!0)),s.push(t)}this.scope.exit(),this.expect(u.braceR),this.finishNode(e,"BlockStatement");let r=null,n=!1;const i="Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module";var a;return s.forEach(t=>{"DeclareExportAllDeclaration"===(t=t).type||"DeclareExportDeclaration"===t.type&&(!t.declaration||"TypeAlias"!==t.declaration.type&&"InterfaceDeclaration"!==t.declaration.type)?("CommonJS"===r&&this.unexpected(t.start,i),r="ES"):"DeclareModuleExports"===t.type&&(n&&this.unexpected(t.start,"Duplicate `declare module.exports` statement"),"ES"===r&&this.unexpected(t.start,i),r="CommonJS",n=!0)}),t.kind=r||"CommonJS",this.finishNode(t,"DeclareModule")}flowParseDeclareExportDeclaration(t,e){if(this.expect(u._export),this.eat(u._default))return this.match(u._function)||this.match(u._class)?t.declaration=this.flowParseDeclare(this.startNode()):(t.declaration=this.flowParseType(),this.semicolon()),t.default=!0,this.finishNode(t,"DeclareExportDeclaration");if(this.match(u._const)||this.isLet()||(this.isContextual("type")||this.isContextual("interface"))&&!e){const t=this.state.value,e=vt[t];this.unexpected(this.state.start,`\`declare export ${t}\` is not supported. Use \`${e}\` instead`)}if(this.match(u._var)||this.match(u._function)||this.match(u._class)||this.isContextual("opaque"))return t.declaration=this.flowParseDeclare(this.startNode()),t.default=!1,this.finishNode(t,"DeclareExportDeclaration");if(this.match(u.star)||this.match(u.braceL)||this.isContextual("interface")||this.isContextual("type")||this.isContextual("opaque"))return"ExportNamedDeclaration"===(t=this.parseExport(t)).type&&(t.type="ExportDeclaration",t.default=!1,delete t.exportKind),t.type="Declare"+t.type,t;throw this.unexpected()}flowParseDeclareModuleExports(t){return this.next(),this.expectContextual("exports"),t.typeAnnotation=this.flowParseTypeAnnotation(),this.semicolon(),this.finishNode(t,"DeclareModuleExports")}flowParseDeclareTypeAlias(t){return this.next(),this.flowParseTypeAlias(t),t.type="DeclareTypeAlias",t}flowParseDeclareOpaqueType(t){return this.next(),this.flowParseOpaqueType(t,!0),t.type="DeclareOpaqueType",t}flowParseDeclareInterface(t){return this.next(),this.flowParseInterfaceish(t),this.finishNode(t,"DeclareInterface")}flowParseInterfaceish(t,e=!1){if(t.id=this.flowParseRestrictedIdentifier(!e),this.scope.declareName(t.id.name,e?O:N,t.id.start),this.isRelational("<")?t.typeParameters=this.flowParseTypeParameterDeclaration():t.typeParameters=null,t.extends=[],t.implements=[],t.mixins=[],this.eat(u._extends))do{t.extends.push(this.flowParseInterfaceExtends())}while(!e&&this.eat(u.comma));if(this.isContextual("mixins")){this.next();do{t.mixins.push(this.flowParseInterfaceExtends())}while(this.eat(u.comma))}if(this.isContextual("implements")){this.next();do{t.implements.push(this.flowParseInterfaceExtends())}while(this.eat(u.comma))}t.body=this.flowParseObjectType({allowStatic:e,allowExact:!1,allowSpread:!1,allowProto:e,allowInexact:!1})}flowParseInterfaceExtends(){const t=this.startNode();return t.id=this.flowParseQualifiedTypeIdentifier(),this.isRelational("<")?t.typeParameters=this.flowParseTypeParameterInstantiation():t.typeParameters=null,this.finishNode(t,"InterfaceExtends")}flowParseInterface(t){return this.flowParseInterfaceish(t),this.finishNode(t,"InterfaceDeclaration")}checkNotUnderscore(t){if("_"===t)throw this.unexpected(null,"`_` is only allowed as a type argument to call or new")}checkReservedType(t,e){dt.indexOf(t)>-1&&this.raise(e,`Cannot overwrite reserved type ${t}`)}flowParseRestrictedIdentifier(t){return this.checkReservedType(this.state.value,this.state.start),this.parseIdentifier(t)}flowParseTypeAlias(t){return t.id=this.flowParseRestrictedIdentifier(),this.scope.declareName(t.id.name,N,t.id.start),this.isRelational("<")?t.typeParameters=this.flowParseTypeParameterDeclaration():t.typeParameters=null,t.right=this.flowParseTypeInitialiser(u.eq),this.semicolon(),this.finishNode(t,"TypeAlias")}flowParseOpaqueType(t,e){return this.expectContextual("type"),t.id=this.flowParseRestrictedIdentifier(!0),this.scope.declareName(t.id.name,N,t.id.start),this.isRelational("<")?t.typeParameters=this.flowParseTypeParameterDeclaration():t.typeParameters=null,t.supertype=null,this.match(u.colon)&&(t.supertype=this.flowParseTypeInitialiser(u.colon)),t.impltype=null,e||(t.impltype=this.flowParseTypeInitialiser(u.eq)),this.semicolon(),this.finishNode(t,"OpaqueType")}flowParseTypeParameter(t=!1){const e=this.state.start,s=this.startNode(),r=this.flowParseVariance(),n=this.flowParseTypeAnnotatableIdentifier();return s.name=n.name,s.variance=r,s.bound=n.typeAnnotation,this.match(u.eq)?(this.eat(u.eq),s.default=this.flowParseType()):t&&this.unexpected(e,"Type parameter declaration needs a default, since a preceding type parameter declaration has a default."),this.finishNode(s,"TypeParameter")}flowParseTypeParameterDeclaration(){const t=this.state.inType,e=this.startNode();e.params=[],this.state.inType=!0,this.isRelational("<")||this.match(u.jsxTagStart)?this.next():this.unexpected();let s=!1;do{const t=this.flowParseTypeParameter(s);e.params.push(t),t.default&&(s=!0),this.isRelational(">")||this.expect(u.comma)}while(!this.isRelational(">"));return this.expectRelational(">"),this.state.inType=t,this.finishNode(e,"TypeParameterDeclaration")}flowParseTypeParameterInstantiation(){const t=this.startNode(),e=this.state.inType;t.params=[],this.state.inType=!0,this.expectRelational("<");const s=this.state.noAnonFunctionType;for(this.state.noAnonFunctionType=!1;!this.isRelational(">");)t.params.push(this.flowParseType()),this.isRelational(">")||this.expect(u.comma);return this.state.noAnonFunctionType=s,this.expectRelational(">"),this.state.inType=e,this.finishNode(t,"TypeParameterInstantiation")}flowParseTypeParameterInstantiationCallOrNew(){const t=this.startNode(),e=this.state.inType;for(t.params=[],this.state.inType=!0,this.expectRelational("<");!this.isRelational(">");)t.params.push(this.flowParseTypeOrImplicitInstantiation()),this.isRelational(">")||this.expect(u.comma);return this.expectRelational(">"),this.state.inType=e,this.finishNode(t,"TypeParameterInstantiation")}flowParseInterfaceType(){const t=this.startNode();if(this.expectContextual("interface"),t.extends=[],this.eat(u._extends))do{t.extends.push(this.flowParseInterfaceExtends())}while(this.eat(u.comma));return t.body=this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!1,allowProto:!1,allowInexact:!1}),this.finishNode(t,"InterfaceTypeAnnotation")}flowParseObjectPropertyKey(){return this.match(u.num)||this.match(u.string)?this.parseExprAtom():this.parseIdentifier(!0)}flowParseObjectTypeIndexer(t,e,s){return t.static=e,this.lookahead().type===u.colon?(t.id=this.flowParseObjectPropertyKey(),t.key=this.flowParseTypeInitialiser()):(t.id=null,t.key=this.flowParseType()),this.expect(u.bracketR),t.value=this.flowParseTypeInitialiser(),t.variance=s,this.finishNode(t,"ObjectTypeIndexer")}flowParseObjectTypeInternalSlot(t,e){return t.static=e,t.id=this.flowParseObjectPropertyKey(),this.expect(u.bracketR),this.expect(u.bracketR),this.isRelational("<")||this.match(u.parenL)?(t.method=!0,t.optional=!1,t.value=this.flowParseObjectTypeMethodish(this.startNodeAt(t.start,t.loc.start))):(t.method=!1,this.eat(u.question)&&(t.optional=!0),t.value=this.flowParseTypeInitialiser()),this.finishNode(t,"ObjectTypeInternalSlot")}flowParseObjectTypeMethodish(t){for(t.params=[],t.rest=null,t.typeParameters=null,this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),this.expect(u.parenL);!this.match(u.parenR)&&!this.match(u.ellipsis);)t.params.push(this.flowParseFunctionTypeParam()),this.match(u.parenR)||this.expect(u.comma);return this.eat(u.ellipsis)&&(t.rest=this.flowParseFunctionTypeParam()),this.expect(u.parenR),t.returnType=this.flowParseTypeInitialiser(),this.finishNode(t,"FunctionTypeAnnotation")}flowParseObjectTypeCallProperty(t,e){const s=this.startNode();return t.static=e,t.value=this.flowParseObjectTypeMethodish(s),this.finishNode(t,"ObjectTypeCallProperty")}flowParseObjectType({allowStatic:t,allowExact:e,allowSpread:s,allowProto:r,allowInexact:n}){const i=this.state.inType;this.state.inType=!0;const a=this.startNode();let o,l;a.callProperties=[],a.properties=[],a.indexers=[],a.internalSlots=[];let h=!1;for(e&&this.match(u.braceBarL)?(this.expect(u.braceBarL),o=u.braceBarR,l=!0):(this.expect(u.braceL),o=u.braceR,l=!1),a.exact=l;!this.match(o);){let e=!1,i=null;const o=this.startNode();if(r&&this.isContextual("proto")){const e=this.lookahead();e.type!==u.colon&&e.type!==u.question&&(this.next(),i=this.state.start,t=!1)}if(t&&this.isContextual("static")){const t=this.lookahead();t.type!==u.colon&&t.type!==u.question&&(this.next(),e=!0)}const l=this.flowParseVariance();if(this.eat(u.bracketL))null!=i&&this.unexpected(i),this.eat(u.bracketL)?(l&&this.unexpected(l.start),a.internalSlots.push(this.flowParseObjectTypeInternalSlot(o,e))):a.indexers.push(this.flowParseObjectTypeIndexer(o,e,l));else if(this.match(u.parenL)||this.isRelational("<"))null!=i&&this.unexpected(i),l&&this.unexpected(l.start),a.callProperties.push(this.flowParseObjectTypeCallProperty(o,e));else{let t="init";if(this.isContextual("get")||this.isContextual("set")){const e=this.lookahead();e.type!==u.name&&e.type!==u.string&&e.type!==u.num||(t=this.state.value,this.next())}const r=this.flowParseObjectTypeProperty(o,e,i,l,t,s,n);null===r?h=!0:a.properties.push(r)}this.flowObjectTypeSemicolon()}this.expect(o),s&&(a.inexact=h);const c=this.finishNode(a,"ObjectTypeAnnotation");return this.state.inType=i,c}flowParseObjectTypeProperty(t,e,s,r,n,i,a){if(this.match(u.ellipsis)){i||this.unexpected(null,"Spread operator cannot appear in class or interface definitions"),null!=s&&this.unexpected(s),r&&this.unexpected(r.start,"Spread properties cannot have variance"),this.expect(u.ellipsis);const e=this.eat(u.comma)||this.eat(u.semi);if(this.match(u.braceR)){if(a)return null;this.unexpected(null,"Explicit inexact syntax is only allowed inside inexact objects")}return this.match(u.braceBarR)&&this.unexpected(null,"Explicit inexact syntax cannot appear inside an explicit exact object type"),e&&this.unexpected(null,"Explicit inexact syntax must appear at the end of an inexact object"),t.argument=this.flowParseType(),this.finishNode(t,"ObjectTypeSpreadProperty")}{t.key=this.flowParseObjectPropertyKey(),t.static=e,t.proto=null!=s,t.kind=n;let i=!1;return this.isRelational("<")||this.match(u.parenL)?(t.method=!0,null!=s&&this.unexpected(s),r&&this.unexpected(r.start),t.value=this.flowParseObjectTypeMethodish(this.startNodeAt(t.start,t.loc.start)),"get"!==n&&"set"!==n||this.flowCheckGetterSetterParams(t)):("init"!==n&&this.unexpected(),t.method=!1,this.eat(u.question)&&(i=!0),t.value=this.flowParseTypeInitialiser(),t.variance=r),t.optional=i,this.finishNode(t,"ObjectTypeProperty")}}flowCheckGetterSetterParams(t){const e="get"===t.kind?0:1,s=t.start;t.value.params.length+(t.value.rest?1:0)!==e&&("get"===t.kind?this.raise(s,"getter must not have any formal parameters"):this.raise(s,"setter must have exactly one formal parameter")),"set"===t.kind&&t.value.rest&&this.raise(s,"setter function argument must not be a rest parameter")}flowObjectTypeSemicolon(){this.eat(u.semi)||this.eat(u.comma)||this.match(u.braceR)||this.match(u.braceBarR)||this.unexpected()}flowParseQualifiedTypeIdentifier(t,e,s){t=t||this.state.start,e=e||this.state.startLoc;let r=s||this.parseIdentifier();for(;this.eat(u.dot);){const s=this.startNodeAt(t,e);s.qualification=r,s.id=this.parseIdentifier(),r=this.finishNode(s,"QualifiedTypeIdentifier")}return r}flowParseGenericType(t,e,s){const r=this.startNodeAt(t,e);return r.typeParameters=null,r.id=this.flowParseQualifiedTypeIdentifier(t,e,s),this.isRelational("<")&&(r.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(r,"GenericTypeAnnotation")}flowParseTypeofType(){const t=this.startNode();return this.expect(u._typeof),t.argument=this.flowParsePrimaryType(),this.finishNode(t,"TypeofTypeAnnotation")}flowParseTupleType(){const t=this.startNode();for(t.types=[],this.expect(u.bracketL);this.state.pos<this.length&&!this.match(u.bracketR)&&(t.types.push(this.flowParseType()),!this.match(u.bracketR));)this.expect(u.comma);return this.expect(u.bracketR),this.finishNode(t,"TupleTypeAnnotation")}flowParseFunctionTypeParam(){let t=null,e=!1,s=null;const r=this.startNode(),n=this.lookahead();return n.type===u.colon||n.type===u.question?(t=this.parseIdentifier(),this.eat(u.question)&&(e=!0),s=this.flowParseTypeInitialiser()):s=this.flowParseType(),r.name=t,r.optional=e,r.typeAnnotation=s,this.finishNode(r,"FunctionTypeParam")}reinterpretTypeAsFunctionTypeParam(t){const e=this.startNodeAt(t.start,t.loc.start);return e.name=null,e.optional=!1,e.typeAnnotation=t,this.finishNode(e,"FunctionTypeParam")}flowParseFunctionTypeParams(t=[]){let e=null;for(;!this.match(u.parenR)&&!this.match(u.ellipsis);)t.push(this.flowParseFunctionTypeParam()),this.match(u.parenR)||this.expect(u.comma);return this.eat(u.ellipsis)&&(e=this.flowParseFunctionTypeParam()),{params:t,rest:e}}flowIdentToTypeAnnotation(t,e,s,r){switch(r.name){case"any":return this.finishNode(s,"AnyTypeAnnotation");case"bool":case"boolean":return this.finishNode(s,"BooleanTypeAnnotation");case"mixed":return this.finishNode(s,"MixedTypeAnnotation");case"empty":return this.finishNode(s,"EmptyTypeAnnotation");case"number":return this.finishNode(s,"NumberTypeAnnotation");case"string":return this.finishNode(s,"StringTypeAnnotation");default:return this.checkNotUnderscore(r.name),this.flowParseGenericType(t,e,r)}}flowParsePrimaryType(){const t=this.state.start,e=this.state.startLoc,s=this.startNode();let r,n,i=!1;const a=this.state.noAnonFunctionType;switch(this.state.type){case u.name:return this.isContextual("interface")?this.flowParseInterfaceType():this.flowIdentToTypeAnnotation(t,e,s,this.parseIdentifier());case u.braceL:return this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!0,allowProto:!1,allowInexact:!0});case u.braceBarL:return this.flowParseObjectType({allowStatic:!1,allowExact:!0,allowSpread:!0,allowProto:!1,allowInexact:!1});case u.bracketL:return this.state.noAnonFunctionType=!1,n=this.flowParseTupleType(),this.state.noAnonFunctionType=a,n;case u.relational:if("<"===this.state.value)return s.typeParameters=this.flowParseTypeParameterDeclaration(),this.expect(u.parenL),r=this.flowParseFunctionTypeParams(),s.params=r.params,s.rest=r.rest,this.expect(u.parenR),this.expect(u.arrow),s.returnType=this.flowParseType(),this.finishNode(s,"FunctionTypeAnnotation");break;case u.parenL:if(this.next(),!this.match(u.parenR)&&!this.match(u.ellipsis))if(this.match(u.name)){const t=this.lookahead().type;i=t!==u.question&&t!==u.colon}else i=!0;if(i){if(this.state.noAnonFunctionType=!1,n=this.flowParseType(),this.state.noAnonFunctionType=a,this.state.noAnonFunctionType||!(this.match(u.comma)||this.match(u.parenR)&&this.lookahead().type===u.arrow))return this.expect(u.parenR),n;this.eat(u.comma)}return r=n?this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(n)]):this.flowParseFunctionTypeParams(),s.params=r.params,s.rest=r.rest,this.expect(u.parenR),this.expect(u.arrow),s.returnType=this.flowParseType(),s.typeParameters=null,this.finishNode(s,"FunctionTypeAnnotation");case u.string:return this.parseLiteral(this.state.value,"StringLiteralTypeAnnotation");case u._true:case u._false:return s.value=this.match(u._true),this.next(),this.finishNode(s,"BooleanLiteralTypeAnnotation");case u.plusMin:if("-"===this.state.value){if(this.next(),this.match(u.num))return this.parseLiteral(-this.state.value,"NumberLiteralTypeAnnotation",s.start,s.loc.start);if(this.match(u.bigint))return this.parseLiteral(-this.state.value,"BigIntLiteralTypeAnnotation",s.start,s.loc.start);this.unexpected(null,'Unexpected token, expected "number" or "bigint"')}this.unexpected();case u.num:return this.parseLiteral(this.state.value,"NumberLiteralTypeAnnotation");case u.bigint:return this.parseLiteral(this.state.value,"BigIntLiteralTypeAnnotation");case u._void:return this.next(),this.finishNode(s,"VoidTypeAnnotation");case u._null:return this.next(),this.finishNode(s,"NullLiteralTypeAnnotation");case u._this:return this.next(),this.finishNode(s,"ThisTypeAnnotation");case u.star:return this.next(),this.finishNode(s,"ExistsTypeAnnotation");default:if("typeof"===this.state.type.keyword)return this.flowParseTypeofType();if(this.state.type.keyword){const t=this.state.type.label;return this.next(),super.createIdentifier(s,t)}}throw this.unexpected()}flowParsePostfixType(){const t=this.state.start,e=this.state.startLoc;let s=this.flowParsePrimaryType();for(;this.match(u.bracketL)&&!this.canInsertSemicolon();){const r=this.startNodeAt(t,e);r.elementType=s,this.expect(u.bracketL),this.expect(u.bracketR),s=this.finishNode(r,"ArrayTypeAnnotation")}return s}flowParsePrefixType(){const t=this.startNode();return this.eat(u.question)?(t.typeAnnotation=this.flowParsePrefixType(),this.finishNode(t,"NullableTypeAnnotation")):this.flowParsePostfixType()}flowParseAnonFunctionWithoutParens(){const t=this.flowParsePrefixType();if(!this.state.noAnonFunctionType&&this.eat(u.arrow)){const e=this.startNodeAt(t.start,t.loc.start);return e.params=[this.reinterpretTypeAsFunctionTypeParam(t)],e.rest=null,e.returnType=this.flowParseType(),e.typeParameters=null,this.finishNode(e,"FunctionTypeAnnotation")}return t}flowParseIntersectionType(){const t=this.startNode();this.eat(u.bitwiseAND);const e=this.flowParseAnonFunctionWithoutParens();for(t.types=[e];this.eat(u.bitwiseAND);)t.types.push(this.flowParseAnonFunctionWithoutParens());return 1===t.types.length?e:this.finishNode(t,"IntersectionTypeAnnotation")}flowParseUnionType(){const t=this.startNode();this.eat(u.bitwiseOR);const e=this.flowParseIntersectionType();for(t.types=[e];this.eat(u.bitwiseOR);)t.types.push(this.flowParseIntersectionType());return 1===t.types.length?e:this.finishNode(t,"UnionTypeAnnotation")}flowParseType(){const t=this.state.inType;this.state.inType=!0;const e=this.flowParseUnionType();return this.state.inType=t,this.state.exprAllowed=this.state.exprAllowed||this.state.noAnonFunctionType,e}flowParseTypeOrImplicitInstantiation(){if(this.state.type===u.name&&"_"===this.state.value){const t=this.state.start,e=this.state.startLoc,s=this.parseIdentifier();return this.flowParseGenericType(t,e,s)}return this.flowParseType()}flowParseTypeAnnotation(){const t=this.startNode();return t.typeAnnotation=this.flowParseTypeInitialiser(),this.finishNode(t,"TypeAnnotation")}flowParseTypeAnnotatableIdentifier(t){const e=t?this.parseIdentifier():this.flowParseRestrictedIdentifier();return this.match(u.colon)&&(e.typeAnnotation=this.flowParseTypeAnnotation(),this.resetEndLocation(e)),e}typeCastToParameter(t){return t.expression.typeAnnotation=t.typeAnnotation,this.resetEndLocation(t.expression,t.typeAnnotation.end,t.typeAnnotation.loc.end),t.expression}flowParseVariance(){let t=null;return this.match(u.plusMin)&&(t=this.startNode(),"+"===this.state.value?t.kind="plus":t.kind="minus",this.next(),this.finishNode(t,"Variance")),t}parseFunctionBody(t,e,s=!1){return e?this.forwardNoArrowParamsConversionAt(t,()=>super.parseFunctionBody(t,!0,s)):super.parseFunctionBody(t,!1,s)}parseFunctionBodyAndFinish(t,e,s=!1){if(this.match(u.colon)){const e=this.startNode();[e.typeAnnotation,t.predicate]=this.flowParseTypeAndPredicateInitialiser(),t.returnType=e.typeAnnotation?this.finishNode(e,"TypeAnnotation"):null}super.parseFunctionBodyAndFinish(t,e,s)}parseStatement(t,e){if(this.state.strict&&this.match(u.name)&&"interface"===this.state.value){const t=this.startNode();return this.next(),this.flowParseInterface(t)}{const s=super.parseStatement(t,e);return void 0!==this.flowPragma||this.isValidDirective(s)||(this.flowPragma=null),s}}parseExpressionStatement(t,e){if("Identifier"===e.type)if("declare"===e.name){if(this.match(u._class)||this.match(u.name)||this.match(u._function)||this.match(u._var)||this.match(u._export))return this.flowParseDeclare(t)}else if(this.match(u.name)){if("interface"===e.name)return this.flowParseInterface(t);if("type"===e.name)return this.flowParseTypeAlias(t);if("opaque"===e.name)return this.flowParseOpaqueType(t,!1)}return super.parseExpressionStatement(t,e)}shouldParseExportDeclaration(){return this.isContextual("type")||this.isContextual("interface")||this.isContextual("opaque")||super.shouldParseExportDeclaration()}isExportDefaultSpecifier(){return(!this.match(u.name)||"type"!==this.state.value&&"interface"!==this.state.value&&"opaque"!==this.state.value)&&super.isExportDefaultSpecifier()}parseConditional(t,e,s,r,n){if(!this.match(u.question))return t;if(n){const i=this.state.clone();try{return super.parseConditional(t,e,s,r)}catch(e){if(e instanceof SyntaxError)return this.state=i,n.start=e.pos||this.state.start,t;throw e}}this.expect(u.question);const i=this.state.clone(),a=this.state.noArrowAt,o=this.startNodeAt(s,r);let{consequent:l,failed:h}=this.tryParseConditionalConsequent(),[c,p]=this.getArrowLikeExpressions(l);if(h||p.length>0){const t=[...a];if(p.length>0){this.state=i,this.state.noArrowAt=t;for(let e=0;e<p.length;e++)t.push(p[e].start);({consequent:l,failed:h}=this.tryParseConditionalConsequent()),[c,p]=this.getArrowLikeExpressions(l)}h&&c.length>1&&this.raise(i.start,"Ambiguous expression: wrap the arrow functions in parentheses to disambiguate."),h&&1===c.length&&(this.state=i,this.state.noArrowAt=t.concat(c[0].start),({consequent:l,failed:h}=this.tryParseConditionalConsequent())),this.getArrowLikeExpressions(l,!0)}return this.state.noArrowAt=a,this.expect(u.colon),o.test=t,o.consequent=l,o.alternate=this.forwardNoArrowParamsConversionAt(o,()=>this.parseMaybeAssign(e,void 0,void 0,void 0)),this.finishNode(o,"ConditionalExpression")}tryParseConditionalConsequent(){this.state.noArrowParamsConversionAt.push(this.state.start);const t=this.parseMaybeAssign(),e=!this.match(u.colon);return this.state.noArrowParamsConversionAt.pop(),{consequent:t,failed:e}}getArrowLikeExpressions(t,e){const s=[t],r=[];for(;0!==s.length;){const t=s.pop();var n;if("ArrowFunctionExpression"===t.type)t.typeParameters||!t.returnType?(this.toAssignableList(t.params,!0,"arrow function parameters",null===(n=t.extra)||void 0===n?void 0:n.trailingComma),this.scope.enter(b(!1,!1)|f),super.checkParams(t,!1,!0),this.scope.exit()):r.push(t),s.push(t.body);else"ConditionalExpression"===t.type&&(s.push(t.consequent),s.push(t.alternate))}if(e){for(let e=0;e<r.length;e++){var i;this.toAssignableList(t.params,!0,"arrow function parameters",null===(i=t.extra)||void 0===i?void 0:i.trailingComma)}return[r,[]]}return function(t,e){const s=[],r=[];for(let n=0;n<t.length;n++)(e(t[n],n,t)?s:r).push(t[n]);return[s,r]}(r,t=>{try{var e;return this.toAssignableList(t.params,!0,"arrow function parameters",null===(e=t.extra)||void 0===e?void 0:e.trailingComma),!0}catch(t){return!1}})}forwardNoArrowParamsConversionAt(t,e){let s;return-1!==this.state.noArrowParamsConversionAt.indexOf(t.start)?(this.state.noArrowParamsConversionAt.push(this.state.start),s=e(),this.state.noArrowParamsConversionAt.pop()):s=e(),s}parseParenItem(t,e,s){if(t=super.parseParenItem(t,e,s),this.eat(u.question)&&(t.optional=!0,this.resetEndLocation(t)),this.match(u.colon)){const r=this.startNodeAt(e,s);return r.expression=t,r.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(r,"TypeCastExpression")}return t}assertModuleNodeAllowed(t){"ImportDeclaration"===t.type&&("type"===t.importKind||"typeof"===t.importKind)||"ExportNamedDeclaration"===t.type&&"type"===t.exportKind||"ExportAllDeclaration"===t.type&&"type"===t.exportKind||super.assertModuleNodeAllowed(t)}parseExport(t){const e=super.parseExport(t);return"ExportNamedDeclaration"!==e.type&&"ExportAllDeclaration"!==e.type||(e.exportKind=e.exportKind||"value"),e}parseExportDeclaration(t){if(this.isContextual("type")){t.exportKind="type";const e=this.startNode();return this.next(),this.match(u.braceL)?(t.specifiers=this.parseExportSpecifiers(),this.parseExportFrom(t),null):this.flowParseTypeAlias(e)}if(this.isContextual("opaque")){t.exportKind="type";const e=this.startNode();return this.next(),this.flowParseOpaqueType(e,!1)}if(this.isContextual("interface")){t.exportKind="type";const e=this.startNode();return this.next(),this.flowParseInterface(e)}return super.parseExportDeclaration(t)}eatExportStar(t){return!!super.eatExportStar(...arguments)||!(!this.isContextual("type")||this.lookahead().type!==u.star)&&(t.exportKind="type",this.next(),this.next(),!0)}maybeParseExportNamespaceSpecifier(t){const e=this.state.start,s=super.maybeParseExportNamespaceSpecifier(t);return s&&"type"===t.exportKind&&this.unexpected(e),s}parseClassId(t,e,s){super.parseClassId(t,e,s),this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration())}getTokenFromCode(t){const e=this.input.charCodeAt(this.state.pos+1);return 123===t&&124===e?this.finishOp(u.braceBarL,2):!this.state.inType||62!==t&&60!==t?function(t,e){return 64===t&&64===e}(t,e)?(this.state.isIterator=!0,super.readWord()):super.getTokenFromCode(t):this.finishOp(u.relational,1)}toAssignable(t,e,s){return"TypeCastExpression"===t.type?super.toAssignable(this.typeCastToParameter(t),e,s):super.toAssignable(t,e,s)}toAssignableList(t,e,s,r){for(let e=0;e<t.length;e++){const s=t[e];s&&"TypeCastExpression"===s.type&&(t[e]=this.typeCastToParameter(s))}return super.toAssignableList(t,e,s,r)}toReferencedList(t,e){for(let s=0;s<t.length;s++){const r=t[s];!r||"TypeCastExpression"!==r.type||r.extra&&r.extra.parenthesized||!(t.length>1)&&e||this.raise(r.typeAnnotation.start,"The type cast expression is expected to be wrapped with parenthesis")}return t}checkLVal(t,e=F,s,r){if("TypeCastExpression"!==t.type)return super.checkLVal(t,e,s,r)}parseClassProperty(t){return this.match(u.colon)&&(t.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassProperty(t)}parseClassPrivateProperty(t){return this.match(u.colon)&&(t.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassPrivateProperty(t)}isClassMethod(){return this.isRelational("<")||super.isClassMethod()}isClassProperty(){return this.match(u.colon)||super.isClassProperty()}isNonstaticConstructor(t){return!this.match(u.colon)&&super.isNonstaticConstructor(t)}pushClassMethod(t,e,s,r,n,i){e.variance&&this.unexpected(e.variance.start),delete e.variance,this.isRelational("<")&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassMethod(t,e,s,r,n,i)}pushClassPrivateMethod(t,e,s,r){e.variance&&this.unexpected(e.variance.start),delete e.variance,this.isRelational("<")&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassPrivateMethod(t,e,s,r)}parseClassSuper(t){if(super.parseClassSuper(t),t.superClass&&this.isRelational("<")&&(t.superTypeParameters=this.flowParseTypeParameterInstantiation()),this.isContextual("implements")){this.next();const e=t.implements=[];do{const t=this.startNode();t.id=this.flowParseRestrictedIdentifier(!0),this.isRelational("<")?t.typeParameters=this.flowParseTypeParameterInstantiation():t.typeParameters=null,e.push(this.finishNode(t,"ClassImplements"))}while(this.eat(u.comma))}}parsePropertyName(t){const e=this.flowParseVariance(),s=super.parsePropertyName(t);return t.variance=e,s}parseObjPropValue(t,e,s,r,n,i,a,o){let l;t.variance&&this.unexpected(t.variance.start),delete t.variance,this.isRelational("<")&&(l=this.flowParseTypeParameterDeclaration(),this.match(u.parenL)||this.unexpected()),super.parseObjPropValue(t,e,s,r,n,i,a,o),l&&((t.value||t).typeParameters=l)}parseAssignableListItemTypes(t){if(this.eat(u.question)){if("Identifier"!==t.type)throw this.raise(t.start,"A binding pattern parameter cannot be optional in an implementation signature.");t.optional=!0}return this.match(u.colon)&&(t.typeAnnotation=this.flowParseTypeAnnotation()),this.resetEndLocation(t),t}parseMaybeDefault(t,e,s){const r=super.parseMaybeDefault(t,e,s);return"AssignmentPattern"===r.type&&r.typeAnnotation&&r.right.start<r.typeAnnotation.start&&this.raise(r.typeAnnotation.start,"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`"),r}shouldParseDefaultImport(t){return ft(t)?yt(this.state):super.shouldParseDefaultImport(t)}parseImportSpecifierLocal(t,e,s,r){e.local=ft(t)?this.flowParseRestrictedIdentifier(!0):this.parseIdentifier(),this.checkLVal(e.local,N,void 0,r),t.specifiers.push(this.finishNode(e,s))}maybeParseDefaultImportSpecifier(t){t.importKind="value";let e=null;if(this.match(u._typeof)?e="typeof":this.isContextual("type")&&(e="type"),e){const s=this.lookahead();"type"===e&&s.type===u.star&&this.unexpected(s.start),(yt(s)||s.type===u.braceL||s.type===u.star)&&(this.next(),t.importKind=e)}return super.maybeParseDefaultImportSpecifier(t)}parseImportSpecifier(t){const e=this.startNode(),s=this.state.start,r=this.parseIdentifier(!0);let n=null;"type"===r.name?n="type":"typeof"===r.name&&(n="typeof");let i=!1;if(this.isContextual("as")&&!this.isLookaheadContextual("as")){const t=this.parseIdentifier(!0);null===n||this.match(u.name)||this.state.type.keyword?(e.imported=r,e.importKind=null,e.local=this.parseIdentifier()):(e.imported=t,e.importKind=n,e.local=t.__clone())}else null!==n&&(this.match(u.name)||this.state.type.keyword)?(e.imported=this.parseIdentifier(!0),e.importKind=n,this.eatContextual("as")?e.local=this.parseIdentifier():(i=!0,e.local=e.imported.__clone())):(i=!0,e.imported=r,e.importKind=null,e.local=e.imported.__clone());const a=ft(t),o=ft(e);a&&o&&this.raise(s,"The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements"),(a||o)&&this.checkReservedType(e.local.name,e.local.start),!i||a||o||this.checkReservedWord(e.local.name,e.start,!0,!0),this.checkLVal(e.local,N,void 0,"import specifier"),t.specifiers.push(this.finishNode(e,"ImportSpecifier"))}parseFunctionParams(t,e){const s=t.kind;"get"!==s&&"set"!==s&&this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),super.parseFunctionParams(t,e)}parseVarId(t,e){super.parseVarId(t,e),this.match(u.colon)&&(t.id.typeAnnotation=this.flowParseTypeAnnotation(),this.resetEndLocation(t.id))}parseAsyncArrowFromCallExpression(t,e){if(this.match(u.colon)){const e=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0,t.returnType=this.flowParseTypeAnnotation(),this.state.noAnonFunctionType=e}return super.parseAsyncArrowFromCallExpression(t,e)}shouldParseAsyncArrow(){return this.match(u.colon)||super.shouldParseAsyncArrow()}parseMaybeAssign(t,e,s,r){let n=null;if(this.hasPlugin("jsx")&&(this.match(u.jsxTagStart)||this.isRelational("<"))){const i=this.state.clone();try{return super.parseMaybeAssign(t,e,s,r)}catch(t){if(!(t instanceof SyntaxError))throw t;{this.state=i;const e=this.state.context.length;this.state.context[e-1]===$.j_oTag&&(this.state.context.length-=2),n=t}}}if(null!=n||this.isRelational("<")){let i,a;try{a=this.flowParseTypeParameterDeclaration(),(i=this.forwardNoArrowParamsConversionAt(a,()=>super.parseMaybeAssign(t,e,s,r))).typeParameters=a,this.resetStartLocationFromNode(i,a)}catch(t){throw n||t}if("ArrowFunctionExpression"===i.type)return i;if(null!=n)throw n;this.raise(a.start,"Expected an arrow function after this type parameter declaration")}return super.parseMaybeAssign(t,e,s,r)}parseArrow(t){if(this.match(u.colon)){const e=this.state.clone();try{const s=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0;const r=this.startNode();[r.typeAnnotation,t.predicate]=this.flowParseTypeAndPredicateInitialiser(),this.state.noAnonFunctionType=s,this.canInsertSemicolon()&&this.unexpected(),this.match(u.arrow)||this.unexpected(),t.returnType=r.typeAnnotation?this.finishNode(r,"TypeAnnotation"):null}catch(t){if(!(t instanceof SyntaxError))throw t;this.state=e}}return super.parseArrow(t)}shouldParseArrow(){return this.match(u.colon)||super.shouldParseArrow()}setArrowFunctionParameters(t,e){-1!==this.state.noArrowParamsConversionAt.indexOf(t.start)?t.params=e:super.setArrowFunctionParameters(t,e)}checkParams(t,e,s){if(!s||-1===this.state.noArrowParamsConversionAt.indexOf(t.start))return super.checkParams(t,e,s)}parseParenAndDistinguishExpression(t){return super.parseParenAndDistinguishExpression(t&&-1===this.state.noArrowAt.indexOf(this.state.start))}parseSubscripts(t,e,s,r){if("Identifier"===t.type&&"async"===t.name&&-1!==this.state.noArrowAt.indexOf(e)){this.next();const r=this.startNodeAt(e,s);r.callee=t,r.arguments=this.parseCallExpressionArguments(u.parenR,!1),t=this.finishNode(r,"CallExpression")}else if("Identifier"===t.type&&"async"===t.name&&this.isRelational("<")){const n=this.state.clone();let i;try{const t=this.parseAsyncArrowWithTypeParameters(e,s);if(t)return t}catch(t){i=t}this.state=n;try{return super.parseSubscripts(t,e,s,r)}catch(t){throw i||t}}return super.parseSubscripts(t,e,s,r)}parseSubscript(t,e,s,r,n){if(this.match(u.questionDot)&&this.isLookaheadRelational("<")){if(this.expectPlugin("optionalChaining"),n.optionalChainMember=!0,r)return n.stop=!0,t;this.next();const i=this.startNodeAt(e,s);return i.callee=t,i.typeArguments=this.flowParseTypeParameterInstantiation(),this.expect(u.parenL),i.arguments=this.parseCallExpressionArguments(u.parenR,!1),i.optional=!0,this.finishNode(i,"OptionalCallExpression")}if(!r&&this.shouldParseTypes()&&this.isRelational("<")){const r=this.startNodeAt(e,s);r.callee=t;const i=this.state.clone();try{return r.typeArguments=this.flowParseTypeParameterInstantiationCallOrNew(),this.expect(u.parenL),r.arguments=this.parseCallExpressionArguments(u.parenR,!1),n.optionalChainMember?(r.optional=!1,this.finishNode(r,"OptionalCallExpression")):this.finishNode(r,"CallExpression")}catch(t){if(!(t instanceof SyntaxError))throw t;this.state=i}}return super.parseSubscript(t,e,s,r,n)}parseNewArguments(t){let e=null;if(this.shouldParseTypes()&&this.isRelational("<")){const t=this.state.clone();try{e=this.flowParseTypeParameterInstantiationCallOrNew()}catch(e){if(!(e instanceof SyntaxError))throw e;this.state=t}}t.typeArguments=e,super.parseNewArguments(t)}parseAsyncArrowWithTypeParameters(t,e){const s=this.startNodeAt(t,e);if(this.parseFunctionParams(s),this.parseArrow(s))return this.parseArrowExpression(s,void 0,!0)}readToken_mult_modulo(t){const e=this.input.charCodeAt(this.state.pos+1);if(42===t&&47===e&&this.state.hasFlowComment)return this.state.hasFlowComment=!1,this.state.pos+=2,void this.nextToken();super.readToken_mult_modulo(t)}readToken_pipe_amp(t){const e=this.input.charCodeAt(this.state.pos+1);124!==t||125!==e?super.readToken_pipe_amp(t):this.finishOp(u.braceBarR,2)}parseTopLevel(t,e){const s=super.parseTopLevel(t,e);return this.state.hasFlowComment&&this.unexpected(null,"Unterminated flow-comment"),s}skipBlockComment(){if(this.hasPlugin("flowComments")&&this.skipFlowComment())return this.state.hasFlowComment&&this.unexpected(null,"Cannot have a flow comment inside another flow comment"),this.hasFlowCommentCompletion(),this.state.pos+=this.skipFlowComment(),void(this.state.hasFlowComment=!0);if(this.state.hasFlowComment){const t=this.input.indexOf("*-/",this.state.pos+=2);return-1===t&&this.raise(this.state.pos-2,"Unterminated comment"),void(this.state.pos=t+3)}super.skipBlockComment()}skipFlowComment(){const{pos:t}=this.state;let e=2;for(;[32,9].includes(this.input.charCodeAt(t+e));)e++;const s=this.input.charCodeAt(e+t),r=this.input.charCodeAt(e+t+1);return 58===s&&58===r?e+2:"flow-include"===this.input.slice(e+t,e+t+12)?e+12:58===s&&58!==r&&e}hasFlowCommentCompletion(){-1===this.input.indexOf("*/",this.state.pos)&&this.raise(this.state.pos,"Unterminated comment")}}),typescript:t=>(class extends t{getScopeHandler(){return At}tsIsIdentifier(){return this.match(u.name)}tsNextTokenCanFollowModifier(){return this.next(),!(this.hasPrecedingLineBreak()||this.match(u.parenL)||this.match(u.parenR)||this.match(u.colon)||this.match(u.eq)||this.match(u.question)||this.match(u.bang))}tsParseModifier(t){if(!this.match(u.name))return;const e=this.state.value;return-1!==t.indexOf(e)&&this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this))?e:void 0}tsIsListTerminator(t){switch(t){case"EnumMembers":case"TypeMembers":return this.match(u.braceR);case"HeritageClauseElement":return this.match(u.braceL);case"TupleElementTypes":return this.match(u.bracketR);case"TypeParametersOrArguments":return this.isRelational(">")}throw new Error("Unreachable")}tsParseList(t,e){const s=[];for(;!this.tsIsListTerminator(t);)s.push(e());return s}tsParseDelimitedList(t,e){return Tt(this.tsParseDelimitedListWorker(t,e,!0))}tsParseDelimitedListWorker(t,e,s){const r=[];for(;!this.tsIsListTerminator(t);){const n=e();if(null==n)return;if(r.push(n),!this.eat(u.comma)){if(this.tsIsListTerminator(t))break;return void(s&&this.expect(u.comma))}}return r}tsParseBracketedList(t,e,s,r){r||(s?this.expect(u.bracketL):this.expectRelational("<"));const n=this.tsParseDelimitedList(t,e);return s?this.expect(u.bracketR):this.expectRelational(">"),n}tsParseImportType(){const t=this.startNode();if(this.expect(u._import),this.expect(u.parenL),!this.match(u.string))throw this.unexpected(null,"Argument in a type import must be a string literal");return t.argument=this.parseExprAtom(),this.expect(u.parenR),this.eat(u.dot)&&(t.qualifier=this.tsParseEntityName(!0)),this.isRelational("<")&&(t.typeParameters=this.tsParseTypeArguments()),this.finishNode(t,"TSImportType")}tsParseEntityName(t){let e=this.parseIdentifier();for(;this.eat(u.dot);){const s=this.startNodeAtNode(e);s.left=e,s.right=this.parseIdentifier(t),e=this.finishNode(s,"TSQualifiedName")}return e}tsParseTypeReference(){const t=this.startNode();return t.typeName=this.tsParseEntityName(!1),!this.hasPrecedingLineBreak()&&this.isRelational("<")&&(t.typeParameters=this.tsParseTypeArguments()),this.finishNode(t,"TSTypeReference")}tsParseThisTypePredicate(t){this.next();const e=this.startNodeAtNode(t);return e.parameterName=t,e.typeAnnotation=this.tsParseTypeAnnotation(!1),this.finishNode(e,"TSTypePredicate")}tsParseThisTypeNode(){const t=this.startNode();return this.next(),this.finishNode(t,"TSThisType")}tsParseTypeQuery(){const t=this.startNode();return this.expect(u._typeof),this.match(u._import)?t.exprName=this.tsParseImportType():t.exprName=this.tsParseEntityName(!0),this.finishNode(t,"TSTypeQuery")}tsParseTypeParameter(){const t=this.startNode();return t.name=this.parseIdentifierName(t.start),t.constraint=this.tsEatThenParseType(u._extends),t.default=this.tsEatThenParseType(u.eq),this.finishNode(t,"TSTypeParameter")}tsTryParseTypeParameters(){if(this.isRelational("<"))return this.tsParseTypeParameters()}tsParseTypeParameters(){const t=this.startNode();return this.isRelational("<")||this.match(u.jsxTagStart)?this.next():this.unexpected(),t.params=this.tsParseBracketedList("TypeParametersOrArguments",this.tsParseTypeParameter.bind(this),!1,!0),this.finishNode(t,"TSTypeParameterDeclaration")}tsTryNextParseConstantContext(){return this.lookahead().type===u._const?(this.next(),this.tsParseTypeReference()):null}tsFillSignature(t,e){const s=t===u.arrow;e.typeParameters=this.tsTryParseTypeParameters(),this.expect(u.parenL),e.parameters=this.tsParseBindingListForSignature(),s?e.typeAnnotation=this.tsParseTypeOrTypePredicateAnnotation(t):this.match(t)&&(e.typeAnnotation=this.tsParseTypeOrTypePredicateAnnotation(t))}tsParseBindingListForSignature(){return this.parseBindingList(u.parenR,41).map(t=>{if("Identifier"!==t.type&&"RestElement"!==t.type&&"ObjectPattern"!==t.type&&"ArrayPattern"!==t.type)throw this.unexpected(t.start,"Name in a signature must be an Identifier, ObjectPattern or ArrayPattern,"+`instead got ${t.type}`);return t})}tsParseTypeMemberSemicolon(){this.eat(u.comma)||this.semicolon()}tsParseSignatureMember(t,e){return this.tsFillSignature(u.colon,e),this.tsParseTypeMemberSemicolon(),this.finishNode(e,t)}tsIsUnambiguouslyIndexSignature(){return this.next(),this.eat(u.name)&&this.match(u.colon)}tsTryParseIndexSignature(t){if(!this.match(u.bracketL)||!this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))return;this.expect(u.bracketL);const e=this.parseIdentifier();e.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(e),this.expect(u.bracketR),t.parameters=[e];const s=this.tsTryParseTypeAnnotation();return s&&(t.typeAnnotation=s),this.tsParseTypeMemberSemicolon(),this.finishNode(t,"TSIndexSignature")}tsParsePropertyOrMethodSignature(t,e){this.eat(u.question)&&(t.optional=!0);const s=t;if(e||!this.match(u.parenL)&&!this.isRelational("<")){const t=s;e&&(t.readonly=!0);const r=this.tsTryParseTypeAnnotation();return r&&(t.typeAnnotation=r),this.tsParseTypeMemberSemicolon(),this.finishNode(t,"TSPropertySignature")}{const t=s;return this.tsFillSignature(u.colon,t),this.tsParseTypeMemberSemicolon(),this.finishNode(t,"TSMethodSignature")}}tsParseTypeMember(){const t=this.startNode();if(this.match(u.parenL)||this.isRelational("<"))return this.tsParseSignatureMember("TSCallSignatureDeclaration",t);if(this.match(u._new)){const e=this.startNode();return this.next(),this.match(u.parenL)||this.isRelational("<")?this.tsParseSignatureMember("TSConstructSignatureDeclaration",t):(t.key=this.createIdentifier(e,"new"),this.tsParsePropertyOrMethodSignature(t,!1))}const e=!!this.tsParseModifier(["readonly"]),s=this.tsTryParseIndexSignature(t);return s?(e&&(t.readonly=!0),s):(this.parsePropertyName(t),this.tsParsePropertyOrMethodSignature(t,e))}tsParseTypeLiteral(){const t=this.startNode();return t.members=this.tsParseObjectTypeMembers(),this.finishNode(t,"TSTypeLiteral")}tsParseObjectTypeMembers(){this.expect(u.braceL);const t=this.tsParseList("TypeMembers",this.tsParseTypeMember.bind(this));return this.expect(u.braceR),t}tsIsStartOfMappedType(){return this.next(),this.eat(u.plusMin)?this.isContextual("readonly"):(this.isContextual("readonly")&&this.next(),!!this.match(u.bracketL)&&(this.next(),!!this.tsIsIdentifier()&&(this.next(),this.match(u._in))))}tsParseMappedTypeParameter(){const t=this.startNode();return t.name=this.parseIdentifierName(t.start),t.constraint=this.tsExpectThenParseType(u._in),this.finishNode(t,"TSTypeParameter")}tsParseMappedType(){const t=this.startNode();return this.expect(u.braceL),this.match(u.plusMin)?(t.readonly=this.state.value,this.next(),this.expectContextual("readonly")):this.eatContextual("readonly")&&(t.readonly=!0),this.expect(u.bracketL),t.typeParameter=this.tsParseMappedTypeParameter(),this.expect(u.bracketR),this.match(u.plusMin)?(t.optional=this.state.value,this.next(),this.expect(u.question)):this.eat(u.question)&&(t.optional=!0),t.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(u.braceR),this.finishNode(t,"TSMappedType")}tsParseTupleType(){const t=this.startNode();t.elementTypes=this.tsParseBracketedList("TupleElementTypes",this.tsParseTupleElementType.bind(this),!0,!1);let e=!1;return t.elementTypes.forEach(t=>{"TSOptionalType"===t.type?e=!0:e&&"TSRestType"!==t.type&&this.raise(t.start,"A required element cannot follow an optional element.")}),this.finishNode(t,"TSTupleType")}tsParseTupleElementType(){if(this.match(u.ellipsis)){const t=this.startNode();return this.next(),t.typeAnnotation=this.tsParseType(),this.checkCommaAfterRest(93),this.finishNode(t,"TSRestType")}const t=this.tsParseType();if(this.eat(u.question)){const e=this.startNodeAtNode(t);return e.typeAnnotation=t,this.finishNode(e,"TSOptionalType")}return t}tsParseParenthesizedType(){const t=this.startNode();return this.expect(u.parenL),t.typeAnnotation=this.tsParseType(),this.expect(u.parenR),this.finishNode(t,"TSParenthesizedType")}tsParseFunctionOrConstructorType(t){const e=this.startNode();return"TSConstructorType"===t&&this.expect(u._new),this.tsFillSignature(u.arrow,e),this.finishNode(e,t)}tsParseLiteralTypeNode(){const t=this.startNode();return t.literal=(()=>{switch(this.state.type){case u.num:case u.string:case u._true:case u._false:return this.parseExprAtom();default:throw this.unexpected()}})(),this.finishNode(t,"TSLiteralType")}tsParseTemplateLiteralType(){const t=this.startNode(),e=this.parseTemplate(!1);if(e.expressions.length>0)throw this.raise(e.expressions[0].start,"Template literal types cannot have any substitution");return t.literal=e,this.finishNode(t,"TSLiteralType")}tsParseNonArrayType(){switch(this.state.type){case u.name:case u._void:case u._null:{const t=this.match(u._void)?"TSVoidKeyword":this.match(u._null)?"TSNullKeyword":function(t){switch(t){case"any":return"TSAnyKeyword";case"boolean":return"TSBooleanKeyword";case"bigint":return"TSBigIntKeyword";case"never":return"TSNeverKeyword";case"number":return"TSNumberKeyword";case"object":return"TSObjectKeyword";case"string":return"TSStringKeyword";case"symbol":return"TSSymbolKeyword";case"undefined":return"TSUndefinedKeyword";case"unknown":return"TSUnknownKeyword";default:return}}(this.state.value);if(void 0!==t&&46!==this.lookaheadCharCode()){const e=this.startNode();return this.next(),this.finishNode(e,t)}return this.tsParseTypeReference()}case u.string:case u.num:case u._true:case u._false:return this.tsParseLiteralTypeNode();case u.plusMin:if("-"===this.state.value){const t=this.startNode();if(this.lookahead().type!==u.num)throw this.unexpected();return t.literal=this.parseMaybeUnary(),this.finishNode(t,"TSLiteralType")}break;case u._this:{const t=this.tsParseThisTypeNode();return this.isContextual("is")&&!this.hasPrecedingLineBreak()?this.tsParseThisTypePredicate(t):t}case u._typeof:return this.tsParseTypeQuery();case u._import:return this.tsParseImportType();case u.braceL:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case u.bracketL:return this.tsParseTupleType();case u.parenL:return this.tsParseParenthesizedType();case u.backQuote:return this.tsParseTemplateLiteralType()}throw this.unexpected()}tsParseArrayTypeOrHigher(){let t=this.tsParseNonArrayType();for(;!this.hasPrecedingLineBreak()&&this.eat(u.bracketL);)if(this.match(u.bracketR)){const e=this.startNodeAtNode(t);e.elementType=t,this.expect(u.bracketR),t=this.finishNode(e,"TSArrayType")}else{const e=this.startNodeAtNode(t);e.objectType=t,e.indexType=this.tsParseType(),this.expect(u.bracketR),t=this.finishNode(e,"TSIndexedAccessType")}return t}tsParseTypeOperator(t){const e=this.startNode();return this.expectContextual(t),e.operator=t,e.typeAnnotation=this.tsParseTypeOperatorOrHigher(),"readonly"===t&&this.tsCheckTypeAnnotationForReadOnly(e),this.finishNode(e,"TSTypeOperator")}tsCheckTypeAnnotationForReadOnly(t){switch(t.typeAnnotation.type){case"TSTupleType":case"TSArrayType":return;default:this.raise(t.start,"'readonly' type modifier is only permitted on array and tuple literal types.")}}tsParseInferType(){const t=this.startNode();this.expectContextual("infer");const e=this.startNode();return e.name=this.parseIdentifierName(e.start),t.typeParameter=this.finishNode(e,"TSTypeParameter"),this.finishNode(t,"TSInferType")}tsParseTypeOperatorOrHigher(){const t=["keyof","unique","readonly"].find(t=>this.isContextual(t));return t?this.tsParseTypeOperator(t):this.isContextual("infer")?this.tsParseInferType():this.tsParseArrayTypeOrHigher()}tsParseUnionOrIntersectionType(t,e,s){this.eat(s);let r=e();if(this.match(s)){const n=[r];for(;this.eat(s);)n.push(e());const i=this.startNodeAtNode(r);i.types=n,r=this.finishNode(i,t)}return r}tsParseIntersectionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSIntersectionType",this.tsParseTypeOperatorOrHigher.bind(this),u.bitwiseAND)}tsParseUnionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSUnionType",this.tsParseIntersectionTypeOrHigher.bind(this),u.bitwiseOR)}tsIsStartOfFunctionType(){return!!this.isRelational("<")||this.match(u.parenL)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))}tsSkipParameterStart(){if(this.match(u.name)||this.match(u._this))return this.next(),!0;if(this.match(u.braceL)){let t=1;for(this.next();t>0;)this.match(u.braceL)?++t:this.match(u.braceR)&&--t,this.next();return!0}if(this.match(u.bracketL)){let t=1;for(this.next();t>0;)this.match(u.bracketL)?++t:this.match(u.bracketR)&&--t,this.next();return!0}return!1}tsIsUnambiguouslyStartOfFunctionType(){if(this.next(),this.match(u.parenR)||this.match(u.ellipsis))return!0;if(this.tsSkipParameterStart()){if(this.match(u.colon)||this.match(u.comma)||this.match(u.question)||this.match(u.eq))return!0;if(this.match(u.parenR)&&(this.next(),this.match(u.arrow)))return!0}return!1}tsParseTypeOrTypePredicateAnnotation(t){return this.tsInType(()=>{const e=this.startNode();this.expect(t);const s=this.tsIsIdentifier()&&this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));if(!s)return this.tsParseTypeAnnotation(!1,e);const r=this.tsParseTypeAnnotation(!1),n=this.startNodeAtNode(s);return n.parameterName=s,n.typeAnnotation=r,e.typeAnnotation=this.finishNode(n,"TSTypePredicate"),this.finishNode(e,"TSTypeAnnotation")})}tsTryParseTypeOrTypePredicateAnnotation(){return this.match(u.colon)?this.tsParseTypeOrTypePredicateAnnotation(u.colon):void 0}tsTryParseTypeAnnotation(){return this.match(u.colon)?this.tsParseTypeAnnotation():void 0}tsTryParseType(){return this.tsEatThenParseType(u.colon)}tsParseTypePredicatePrefix(){const t=this.parseIdentifier();if(this.isContextual("is")&&!this.hasPrecedingLineBreak())return this.next(),t}tsParseTypeAnnotation(t=!0,e=this.startNode()){return this.tsInType(()=>{t&&this.expect(u.colon),e.typeAnnotation=this.tsParseType()}),this.finishNode(e,"TSTypeAnnotation")}tsParseType(){St(this.state.inType);const t=this.tsParseNonConditionalType();if(this.hasPrecedingLineBreak()||!this.eat(u._extends))return t;const e=this.startNodeAtNode(t);return e.checkType=t,e.extendsType=this.tsParseNonConditionalType(),this.expect(u.question),e.trueType=this.tsParseType(),this.expect(u.colon),e.falseType=this.tsParseType(),this.finishNode(e,"TSConditionalType")}tsParseNonConditionalType(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType("TSFunctionType"):this.match(u._new)?this.tsParseFunctionOrConstructorType("TSConstructorType"):this.tsParseUnionTypeOrHigher()}tsParseTypeAssertion(){const t=this.startNode(),e=this.tsTryNextParseConstantContext();return t.typeAnnotation=e||this.tsNextThenParseType(),this.expectRelational(">"),t.expression=this.parseMaybeUnary(),this.finishNode(t,"TSTypeAssertion")}tsParseHeritageClause(t){const e=this.state.start,s=this.tsParseDelimitedList("HeritageClauseElement",this.tsParseExpressionWithTypeArguments.bind(this));return s.length||this.raise(e,`'${t}' list cannot be empty.`),s}tsParseExpressionWithTypeArguments(){const t=this.startNode();return t.expression=this.tsParseEntityName(!1),this.isRelational("<")&&(t.typeParameters=this.tsParseTypeArguments()),this.finishNode(t,"TSExpressionWithTypeArguments")}tsParseInterfaceDeclaration(t){t.id=this.parseIdentifier(),this.checkLVal(t.id,L,void 0,"typescript interface declaration"),t.typeParameters=this.tsTryParseTypeParameters(),this.eat(u._extends)&&(t.extends=this.tsParseHeritageClause("extends"));const e=this.startNode();return e.body=this.tsInType(this.tsParseObjectTypeMembers.bind(this)),t.body=this.finishNode(e,"TSInterfaceBody"),this.finishNode(t,"TSInterfaceDeclaration")}tsParseTypeAliasDeclaration(t){return t.id=this.parseIdentifier(),this.checkLVal(t.id,R,void 0,"typescript type alias"),t.typeParameters=this.tsTryParseTypeParameters(),t.typeAnnotation=this.tsExpectThenParseType(u.eq),this.semicolon(),this.finishNode(t,"TSTypeAliasDeclaration")}tsInNoContext(t){const e=this.state.context;this.state.context=[e[0]];try{return t()}finally{this.state.context=e}}tsInType(t){const e=this.state.inType;this.state.inType=!0;try{return t()}finally{this.state.inType=e}}tsEatThenParseType(t){return this.match(t)?this.tsNextThenParseType():void 0}tsExpectThenParseType(t){return this.tsDoThenParseType(()=>this.expect(t))}tsNextThenParseType(){return this.tsDoThenParseType(()=>this.next())}tsDoThenParseType(t){return this.tsInType(()=>(t(),this.tsParseType()))}tsParseEnumMember(){const t=this.startNode();return t.id=this.match(u.string)?this.parseExprAtom():this.parseIdentifier(!0),this.eat(u.eq)&&(t.initializer=this.parseMaybeAssign()),this.finishNode(t,"TSEnumMember")}tsParseEnumDeclaration(t,e){return e&&(t.const=!0),t.id=this.parseIdentifier(),this.checkLVal(t.id,e?q:I,void 0,"typescript enum declaration"),this.expect(u.braceL),t.members=this.tsParseDelimitedList("EnumMembers",this.tsParseEnumMember.bind(this)),this.expect(u.braceR),this.finishNode(t,"TSEnumDeclaration")}tsParseModuleBlock(){const t=this.startNode();return this.scope.enter(l),this.expect(u.braceL),this.parseBlockOrModuleBlockBody(t.body=[],void 0,!0,u.braceR),this.scope.exit(),this.finishNode(t,"TSModuleBlock")}tsParseModuleOrNamespaceDeclaration(t,e=!1){if(t.id=this.parseIdentifier(),e||this.checkLVal(t.id,U,null,"module or namespace declaration"),this.eat(u.dot)){const e=this.startNode();this.tsParseModuleOrNamespaceDeclaration(e,!0),t.body=e}else this.scope.enter(512),t.body=this.tsParseModuleBlock(),this.scope.exit();return this.finishNode(t,"TSModuleDeclaration")}tsParseAmbientExternalModuleDeclaration(t){return this.isContextual("global")?(t.global=!0,t.id=this.parseIdentifier()):this.match(u.string)?t.id=this.parseExprAtom():this.unexpected(),this.match(u.braceL)?(this.scope.enter(512),t.body=this.tsParseModuleBlock(),this.scope.exit()):this.semicolon(),this.finishNode(t,"TSModuleDeclaration")}tsParseImportEqualsDeclaration(t,e){return t.isExport=e||!1,t.id=this.parseIdentifier(),this.expect(u.eq),t.moduleReference=this.tsParseModuleReference(),this.semicolon(),this.finishNode(t,"TSImportEqualsDeclaration")}tsIsExternalModuleReference(){return this.isContextual("require")&&40===this.lookaheadCharCode()}tsParseModuleReference(){return this.tsIsExternalModuleReference()?this.tsParseExternalModuleReference():this.tsParseEntityName(!1)}tsParseExternalModuleReference(){const t=this.startNode();if(this.expectContextual("require"),this.expect(u.parenL),!this.match(u.string))throw this.unexpected();return t.expression=this.parseExprAtom(),this.expect(u.parenR),this.finishNode(t,"TSExternalModuleReference")}tsLookAhead(t){const e=this.state.clone(),s=t();return this.state=e,s}tsTryParseAndCatch(t){const e=this.state.clone();try{return t()}catch(t){if(t instanceof SyntaxError)return void(this.state=e);throw t}}tsTryParse(t){const e=this.state.clone(),s=t();return void 0!==s&&!1!==s?s:void(this.state=e)}tsTryParseDeclare(t){if(this.isLineTerminator())return;let e,s=this.state.type;switch(this.isContextual("let")&&(s=u._var,e="let"),s){case u._function:return this.parseFunctionStatement(t,!1,!0);case u._class:return t.declare=!0,this.parseClass(t,!0,!1);case u._const:if(this.match(u._const)&&this.isLookaheadContextual("enum"))return this.expect(u._const),this.expectContextual("enum"),this.tsParseEnumDeclaration(t,!0);case u._var:return e=e||this.state.value,this.parseVarStatement(t,e);case u.name:{const e=this.state.value;return"global"===e?this.tsParseAmbientExternalModuleDeclaration(t):this.tsParseDeclaration(t,e,!0)}}}tsTryParseExportDeclaration(){return this.tsParseDeclaration(this.startNode(),this.state.value,!0)}tsParseExpressionStatement(t,e){switch(e.name){case"declare":{const e=this.tsTryParseDeclare(t);if(e)return e.declare=!0,e;break}case"global":if(this.match(u.braceL)){this.scope.enter(512);const s=t;return s.global=!0,s.id=e,s.body=this.tsParseModuleBlock(),this.scope.exit(),this.finishNode(s,"TSModuleDeclaration")}break;default:return this.tsParseDeclaration(t,e.name,!1)}}tsParseDeclaration(t,e,s){switch(e){case"abstract":if(this.tsCheckLineTerminatorAndMatch(u._class,s)){const e=t;return e.abstract=!0,s&&(this.next(),this.match(u._class)||this.unexpected(null,u._class)),this.parseClass(e,!0,!1)}break;case"enum":if(s||this.match(u.name))return s&&this.next(),this.tsParseEnumDeclaration(t,!1);break;case"interface":if(this.tsCheckLineTerminatorAndMatch(u.name,s))return s&&this.next(),this.tsParseInterfaceDeclaration(t);break;case"module":if(s&&this.next(),this.match(u.string))return this.tsParseAmbientExternalModuleDeclaration(t);if(this.tsCheckLineTerminatorAndMatch(u.name,s))return this.tsParseModuleOrNamespaceDeclaration(t);break;case"namespace":if(this.tsCheckLineTerminatorAndMatch(u.name,s))return s&&this.next(),this.tsParseModuleOrNamespaceDeclaration(t);break;case"type":if(this.tsCheckLineTerminatorAndMatch(u.name,s))return s&&this.next(),this.tsParseTypeAliasDeclaration(t)}}tsCheckLineTerminatorAndMatch(t,e){return(e||this.match(t))&&!this.isLineTerminator()}tsTryParseGenericAsyncArrowFunction(t,e){if(!this.isRelational("<"))return;const s=this.tsTryParseAndCatch(()=>{const s=this.startNodeAt(t,e);return s.typeParameters=this.tsParseTypeParameters(),super.parseFunctionParams(s),s.returnType=this.tsTryParseTypeOrTypePredicateAnnotation(),this.expect(u.arrow),s});return s?this.parseArrowExpression(s,null,!0):void 0}tsParseTypeArguments(){const t=this.startNode();return t.params=this.tsInType(()=>this.tsInNoContext(()=>(this.expectRelational("<"),this.tsParseDelimitedList("TypeParametersOrArguments",this.tsParseType.bind(this))))),this.state.exprAllowed=!1,this.expectRelational(">"),this.finishNode(t,"TSTypeParameterInstantiation")}tsIsDeclarationStart(){if(this.match(u.name))switch(this.state.value){case"abstract":case"declare":case"enum":case"interface":case"module":case"namespace":case"type":return!0}return!1}isExportDefaultSpecifier(){return!this.tsIsDeclarationStart()&&super.isExportDefaultSpecifier()}parseAssignableListItem(t,e){const s=this.state.start,r=this.state.startLoc;let n,i=!1;t&&(n=this.parseAccessModifier(),i=!!this.tsParseModifier(["readonly"]));const a=this.parseMaybeDefault();this.parseAssignableListItemTypes(a);const o=this.parseMaybeDefault(a.start,a.loc.start,a);if(n||i){const t=this.startNodeAt(s,r);if(e.length&&(t.decorators=e),n&&(t.accessibility=n),i&&(t.readonly=i),"Identifier"!==o.type&&"AssignmentPattern"!==o.type)throw this.raise(t.start,"A parameter property may not be declared using a binding pattern.");return t.parameter=o,this.finishNode(t,"TSParameterProperty")}return e.length&&(a.decorators=e),o}parseFunctionBodyAndFinish(t,e,s=!1){this.match(u.colon)&&(t.returnType=this.tsParseTypeOrTypePredicateAnnotation(u.colon));const r="FunctionDeclaration"===e?"TSDeclareFunction":"ClassMethod"===e?"TSDeclareMethod":void 0;r&&!this.match(u.braceL)&&this.isLineTerminator()?this.finishNode(t,r):super.parseFunctionBodyAndFinish(t,e,s)}checkFunctionStatementId(t){!t.body&&t.id?this.checkLVal(t.id,D,null,"function name"):super.checkFunctionStatementId(...arguments)}parseSubscript(t,e,s,r,n){if(!this.hasPrecedingLineBreak()&&this.match(u.bang)){this.state.exprAllowed=!1,this.next();const r=this.startNodeAt(e,s);return r.expression=t,this.finishNode(r,"TSNonNullExpression")}if(this.isRelational("<")){const i=this.tsTryParseAndCatch(()=>{if(!r&&this.atPossibleAsync(t)){const t=this.tsTryParseGenericAsyncArrowFunction(e,s);if(t)return t}const i=this.startNodeAt(e,s);i.callee=t;const a=this.tsParseTypeArguments();if(a){if(!r&&this.eat(u.parenL))return i.arguments=this.parseCallExpressionArguments(u.parenR,!1),i.typeParameters=a,this.finishCallExpression(i);if(this.match(u.backQuote))return this.parseTaggedTemplateExpression(e,s,t,n,a)}this.unexpected()});if(i)return i}return super.parseSubscript(t,e,s,r,n)}parseNewArguments(t){if(this.isRelational("<")){const e=this.tsTryParseAndCatch(()=>{const t=this.tsParseTypeArguments();return this.match(u.parenL)||this.unexpected(),t});e&&(t.typeParameters=e)}super.parseNewArguments(t)}parseExprOp(t,e,s,r,n){if(Tt(u._in.binop)>r&&!this.hasPrecedingLineBreak()&&this.isContextual("as")){const i=this.startNodeAt(e,s);i.expression=t;const a=this.tsTryNextParseConstantContext();return i.typeAnnotation=a||this.tsNextThenParseType(),this.finishNode(i,"TSAsExpression"),this.parseExprOp(i,e,s,r,n)}return super.parseExprOp(t,e,s,r,n)}checkReservedWord(t,e,s,r){}checkDuplicateExports(){}parseImport(t){return this.match(u.name)&&this.lookahead().type===u.eq?this.tsParseImportEqualsDeclaration(t):super.parseImport(t)}parseExport(t){if(this.match(u._import))return this.expect(u._import),this.tsParseImportEqualsDeclaration(t,!0);if(this.eat(u.eq)){const e=t;return e.expression=this.parseExpression(),this.semicolon(),this.finishNode(e,"TSExportAssignment")}if(this.eatContextual("as")){const e=t;return this.expectContextual("namespace"),e.id=this.parseIdentifier(),this.semicolon(),this.finishNode(e,"TSNamespaceExportDeclaration")}return super.parseExport(t)}isAbstractClass(){return this.isContextual("abstract")&&this.lookahead().type===u._class}parseExportDefaultExpression(){if(this.isAbstractClass()){const t=this.startNode();return this.next(),this.parseClass(t,!0,!0),t.abstract=!0,t}if("interface"===this.state.value){const t=this.tsParseDeclaration(this.startNode(),this.state.value,!0);if(t)return t}return super.parseExportDefaultExpression()}parseStatementContent(t,e){if(this.state.type===u._const){const t=this.lookahead();if(t.type===u.name&&"enum"===t.value){const t=this.startNode();return this.expect(u._const),this.expectContextual("enum"),this.tsParseEnumDeclaration(t,!0)}}return super.parseStatementContent(t,e)}parseAccessModifier(){return this.tsParseModifier(["public","protected","private"])}parseClassMember(t,e,s,r){const n=this.parseAccessModifier();n&&(e.accessibility=n),super.parseClassMember(t,e,s,r)}parseClassMemberWithIsStatic(t,e,s,r,n){const i=e,a=e,o=e;let u=!1,l=!1;switch(this.tsParseModifier(["abstract","readonly"])){case"readonly":l=!0,u=!!this.tsParseModifier(["abstract"]);break;case"abstract":u=!0,l=!!this.tsParseModifier(["readonly"])}if(u&&(i.abstract=!0),l&&(o.readonly=!0),!u&&!r&&!i.accessibility){const s=this.tsTryParseIndexSignature(e);if(s)return void t.body.push(s)}if(l)return i.static=r,this.parseClassPropertyName(a),this.parsePostMemberNameModifiers(i),void this.pushClassProperty(t,a);super.parseClassMemberWithIsStatic(t,e,s,r,n)}parsePostMemberNameModifiers(t){this.eat(u.question)&&(t.optional=!0)}parseExpressionStatement(t,e){return("Identifier"===e.type?this.tsParseExpressionStatement(t,e):void 0)||super.parseExpressionStatement(t,e)}shouldParseExportDeclaration(){return!!this.tsIsDeclarationStart()||super.shouldParseExportDeclaration()}parseConditional(t,e,s,r,n){if(!n||!this.match(u.question))return super.parseConditional(t,e,s,r,n);const i=this.state.clone();try{return super.parseConditional(t,e,s,r)}catch(e){if(!(e instanceof SyntaxError))throw e;return this.state=i,n.start=e.pos||this.state.start,t}}parseParenItem(t,e,s){if(t=super.parseParenItem(t,e,s),this.eat(u.question)&&(t.optional=!0,this.resetEndLocation(t)),this.match(u.colon)){const r=this.startNodeAt(e,s);return r.expression=t,r.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(r,"TSTypeCastExpression")}return t}parseExportDeclaration(t){const e=this.state.start,s=this.state.startLoc,r=this.eatContextual("declare");let n;return this.match(u.name)&&(n=this.tsTryParseExportDeclaration()),n||(n=super.parseExportDeclaration(t)),n&&r&&(this.resetStartLocation(n,e,s),n.declare=!0),n}parseClassId(t,e,s){if((!e||s)&&this.isContextual("implements"))return;super.parseClassId(t,e,s,t.declare?D:M);const r=this.tsTryParseTypeParameters();r&&(t.typeParameters=r)}parseClassProperty(t){!t.optional&&this.eat(u.bang)&&(t.definite=!0);const e=this.tsTryParseTypeAnnotation();return e&&(t.typeAnnotation=e),super.parseClassProperty(t)}pushClassMethod(t,e,s,r,n,i){const a=this.tsTryParseTypeParameters();a&&(e.typeParameters=a),super.pushClassMethod(t,e,s,r,n,i)}pushClassPrivateMethod(t,e,s,r){const n=this.tsTryParseTypeParameters();n&&(e.typeParameters=n),super.pushClassPrivateMethod(t,e,s,r)}parseClassSuper(t){super.parseClassSuper(t),t.superClass&&this.isRelational("<")&&(t.superTypeParameters=this.tsParseTypeArguments()),this.eatContextual("implements")&&(t.implements=this.tsParseHeritageClause("implements"))}parseObjPropValue(t,...e){const s=this.tsTryParseTypeParameters();s&&(t.typeParameters=s),super.parseObjPropValue(t,...e)}parseFunctionParams(t,e){const s=this.tsTryParseTypeParameters();s&&(t.typeParameters=s),super.parseFunctionParams(t,e)}parseVarId(t,e){super.parseVarId(t,e),"Identifier"===t.id.type&&this.eat(u.bang)&&(t.definite=!0);const s=this.tsTryParseTypeAnnotation();s&&(t.id.typeAnnotation=s,this.resetEndLocation(t.id))}parseAsyncArrowFromCallExpression(t,e){return this.match(u.colon)&&(t.returnType=this.tsParseTypeAnnotation()),super.parseAsyncArrowFromCallExpression(t,e)}parseMaybeAssign(...t){let e,s,r;if(this.match(u.jsxTagStart)){St(this.curContext()===$.j_oTag),St(this.state.context[this.state.context.length-2]===$.j_expr);const s=this.state.clone();try{return super.parseMaybeAssign(...t)}catch(t){if(!(t instanceof SyntaxError))throw t;this.state=s,St(this.curContext()===$.j_oTag),this.state.context.pop(),St(this.curContext()===$.j_expr),this.state.context.pop(),e=t}}if(void 0===e&&!this.isRelational("<"))return super.parseMaybeAssign(...t);const n=this.state.clone();try{r=this.tsParseTypeParameters(),("ArrowFunctionExpression"!==(s=super.parseMaybeAssign(...t)).type||s.extra&&s.extra.parenthesized)&&this.unexpected()}catch(s){if(!(s instanceof SyntaxError))throw s;if(e)throw e;return St(!this.hasPlugin("jsx")),this.state=n,super.parseMaybeAssign(...t)}return r&&0!==r.params.length&&this.resetStartLocationFromNode(s,r),s.typeParameters=r,s}parseMaybeUnary(t){return!this.hasPlugin("jsx")&&this.isRelational("<")?this.tsParseTypeAssertion():super.parseMaybeUnary(t)}parseArrow(t){if(this.match(u.colon)){const e=this.state.clone();try{const s=this.tsParseTypeOrTypePredicateAnnotation(u.colon);if(this.canInsertSemicolon()||!this.match(u.arrow))return void(this.state=e);t.returnType=s}catch(t){if(!(t instanceof SyntaxError))throw t;this.state=e}}return super.parseArrow(t)}parseAssignableListItemTypes(t){if(this.eat(u.question)){if("Identifier"!==t.type)throw this.raise(t.start,"A binding pattern parameter cannot be optional in an implementation signature.");t.optional=!0}const e=this.tsTryParseTypeAnnotation();return e&&(t.typeAnnotation=e),this.resetEndLocation(t),t}toAssignable(t,e,s){switch(t.type){case"TSTypeCastExpression":return super.toAssignable(this.typeCastToParameter(t),e,s);case"TSParameterProperty":return super.toAssignable(t,e,s);case"TSAsExpression":case"TSNonNullExpression":case"TSTypeAssertion":return t.expression=this.toAssignable(t.expression,e,s),t;default:return super.toAssignable(t,e,s)}}checkLVal(t,e=F,s,r){switch(t.type){case"TSTypeCastExpression":return;case"TSParameterProperty":return void this.checkLVal(t.parameter,e,s,"parameter property");case"TSAsExpression":case"TSNonNullExpression":case"TSTypeAssertion":return void this.checkLVal(t.expression,e,s,r);default:return void super.checkLVal(t,e,s,r)}}parseBindingAtom(){switch(this.state.type){case u._this:return this.parseIdentifier(!0);default:return super.parseBindingAtom()}}parseMaybeDecoratorArguments(t){if(this.isRelational("<")){const e=this.tsParseTypeArguments();if(this.match(u.parenL)){const s=super.parseMaybeDecoratorArguments(t);return s.typeParameters=e,s}this.unexpected(this.state.start,u.parenL)}return super.parseMaybeDecoratorArguments(t)}isClassMethod(){return this.isRelational("<")||super.isClassMethod()}isClassProperty(){return this.match(u.bang)||this.match(u.colon)||super.isClassProperty()}parseMaybeDefault(...t){const e=super.parseMaybeDefault(...t);return"AssignmentPattern"===e.type&&e.typeAnnotation&&e.right.start<e.typeAnnotation.start&&this.raise(e.typeAnnotation.start,"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`"),e}getTokenFromCode(t){return!this.state.inType||62!==t&&60!==t?super.getTokenFromCode(t):this.finishOp(u.relational,1)}toAssignableList(t){for(let e=0;e<t.length;e++){const s=t[e];if(s)switch(s.type){case"TSTypeCastExpression":t[e]=this.typeCastToParameter(s);break;case"TSAsExpression":case"TSTypeAssertion":this.raise(s.start,"Unexpected type cast in parameter position.")}}return super.toAssignableList(...arguments)}typeCastToParameter(t){return t.expression.typeAnnotation=t.typeAnnotation,this.resetEndLocation(t.expression,t.typeAnnotation.end,t.typeAnnotation.loc.end),t.expression}toReferencedList(t,e){for(let e=0;e<t.length;e++){const s=t[e];s&&s._exprListItem&&"TsTypeCastExpression"===s.type&&this.raise(s.start,"Did not expect a type annotation here.")}return t}shouldParseArrow(){return this.match(u.colon)||super.shouldParseArrow()}shouldParseAsyncArrow(){return this.match(u.colon)||super.shouldParseAsyncArrow()}canHaveLeadingDecorator(){return super.canHaveLeadingDecorator()||this.isAbstractClass()}jsxParseOpeningElementAfterName(t){if(this.isRelational("<")){const e=this.tsTryParseAndCatch(()=>this.tsParseTypeArguments());e&&(t.typeParameters=e)}return super.jsxParseOpeningElementAfterName(t)}getGetterSetterExpectedParamCount(t){const e=super.getGetterSetterExpectedParamCount(t),s=t.params[0];return s&&"Identifier"===s.type&&"this"===s.name?e+1:e}}),v8intrinsic:t=>(class extends t{parseV8Intrinsic(){if(this.match(u.modulo)){const t=this.state.start,e=this.startNode();if(this.eat(u.modulo),this.match(u.name)){const t=this.parseIdentifierName(this.state.start),s=this.createIdentifier(e,t);if(s.type="V8IntrinsicIdentifier",this.match(u.parenL))return s}this.unexpected(t)}}parseExprAtom(){return this.parseV8Intrinsic()||super.parseExprAtom(...arguments)}}),placeholders:t=>(class extends t{parsePlaceholder(t){if(this.match(u.placeholder)){const e=this.startNode();return this.next(),this.assertNoSpace("Unexpected space in placeholder."),e.name=super.parseIdentifier(!0),this.assertNoSpace("Unexpected space in placeholder."),this.expect(u.placeholder),this.finishPlaceholder(e,t)}}finishPlaceholder(t,e){const s=!(!t.expectedNode||"Placeholder"!==t.type);return t.expectedNode=e,s?t:this.finishNode(t,"Placeholder")}getTokenFromCode(t){return 37===t&&37===this.input.charCodeAt(this.state.pos+1)?this.finishOp(u.placeholder,2):super.getTokenFromCode(...arguments)}parseExprAtom(){return this.parsePlaceholder("Expression")||super.parseExprAtom(...arguments)}parseIdentifier(){return this.parsePlaceholder("Identifier")||super.parseIdentifier(...arguments)}checkReservedWord(t){void 0!==t&&super.checkReservedWord(...arguments)}parseBindingAtom(){return this.parsePlaceholder("Pattern")||super.parseBindingAtom(...arguments)}checkLVal(t){"Placeholder"!==t.type&&super.checkLVal(...arguments)}toAssignable(t){return t&&"Placeholder"===t.type&&"Expression"===t.expectedNode?(t.expectedNode="Pattern",t):super.toAssignable(...arguments)}verifyBreakContinue(t){t.label&&"Placeholder"===t.label.type||super.verifyBreakContinue(...arguments)}parseExpressionStatement(t,e){if("Placeholder"!==e.type||e.extra&&e.extra.parenthesized)return super.parseExpressionStatement(...arguments);if(this.match(u.colon)){const s=t;return s.label=this.finishPlaceholder(e,"Identifier"),this.next(),s.body=this.parseStatement("label"),this.finishNode(s,"LabeledStatement")}return this.semicolon(),t.name=e.name,this.finishPlaceholder(t,"Statement")}parseBlock(){return this.parsePlaceholder("BlockStatement")||super.parseBlock(...arguments)}parseFunctionId(){return this.parsePlaceholder("Identifier")||super.parseFunctionId(...arguments)}parseClass(t,e,s){const r=e?"ClassDeclaration":"ClassExpression";this.next(),this.takeDecorators(t);const n=this.parsePlaceholder("Identifier");if(n)if(this.match(u._extends)||this.match(u.placeholder)||this.match(u.braceL))t.id=n;else{if(s||!e)return t.id=null,t.body=this.finishPlaceholder(n,"ClassBody"),this.finishNode(t,r);this.unexpected(null,"A class name is required")}else this.parseClassId(t,e,s);return this.parseClassSuper(t),t.body=this.parsePlaceholder("ClassBody")||this.parseClassBody(!!t.superClass),this.finishNode(t,r)}parseExport(t){const e=this.parsePlaceholder("Identifier");if(!e)return super.parseExport(...arguments);if(!this.isContextual("from")&&!this.match(u.comma))return t.specifiers=[],t.source=null,t.declaration=this.finishPlaceholder(e,"Declaration"),this.finishNode(t,"ExportNamedDeclaration");this.expectPlugin("exportDefaultFrom");const s=this.startNode();return s.exported=e,t.specifiers=[this.finishNode(s,"ExportDefaultSpecifier")],super.parseExport(t)}maybeParseExportDefaultSpecifier(t){return!!(t.specifiers&&t.specifiers.length>0)||super.maybeParseExportDefaultSpecifier(...arguments)}checkExport(t){const{specifiers:e}=t;e&&e.length&&(t.specifiers=e.filter(t=>"Placeholder"===t.exported.type)),super.checkExport(t),t.specifiers=e}parseImport(t){const e=this.parsePlaceholder("Identifier");if(!e)return super.parseImport(...arguments);if(t.specifiers=[],!this.isContextual("from")&&!this.match(u.comma))return t.source=this.finishPlaceholder(e,"StringLiteral"),this.semicolon(),this.finishNode(t,"ImportDeclaration");const s=this.startNodeAtNode(e);return s.local=e,this.finishNode(s,"ImportDefaultSpecifier"),t.specifiers.push(s),this.eat(u.comma)&&(this.maybeParseStarImportSpecifier(t)||this.parseNamedImportSpecifiers(t)),this.expectContextual("from"),t.source=this.parseImportSource(),this.semicolon(),this.finishNode(t,"ImportDeclaration")}parseImportSource(){return this.parsePlaceholder("StringLiteral")||super.parseImportSource(...arguments)}})},Ot=Object.keys(jt),Lt={sourceType:"script",sourceFilename:void 0,startLine:1,allowAwaitOutsideFunction:!1,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowSuperOutsideMethod:!1,allowUndeclaredExports:!1,plugins:[],strictMode:null,ranges:!1,tokens:!1,createParenthesizedExpressions:!1};class Rt{constructor(t,e){this.line=t,this.column=e}}class It{constructor(t,e){this.start=t,this.end=e}}class Dt{constructor(){this.sawUnambiguousESM=!1}hasPlugin(t){return this.plugins.has(t)}getPluginOption(t,e){if(this.hasPlugin(t))return this.plugins.get(t)[e]}}function Ft(t){return t[t.length-1]}class Bt extends Dt{addComment(t){this.filename&&(t.loc.filename=this.filename),this.state.trailingComments.push(t),this.state.leadingComments.push(t)}adjustCommentsAfterTrailingComma(t,e,s){if(0===this.state.leadingComments.length)return;let r=null,n=e.length;for(;null===r&&n>0;)r=e[--n];if(null===r)return;for(let t=0;t<this.state.leadingComments.length;t++)this.state.leadingComments[t].end<this.state.commentPreviousNode.end&&(this.state.leadingComments.splice(t,1),t--);const i=[];for(let e=0;e<this.state.leadingComments.length;e++){const r=this.state.leadingComments[e];r.end<t.end?(i.push(r),s||(this.state.leadingComments.splice(e,1),e--)):(void 0===t.trailingComments&&(t.trailingComments=[]),t.trailingComments.push(r))}s&&(this.state.leadingComments=[]),i.length>0?r.trailingComments=i:void 0!==r.trailingComments&&(r.trailingComments=[])}processComment(t){if("Program"===t.type&&t.body.length>0)return;const e=this.state.commentStack;let s,r,n,i,a;if(this.state.trailingComments.length>0)this.state.trailingComments[0].start>=t.end?(n=this.state.trailingComments,this.state.trailingComments=[]):this.state.trailingComments.length=0;else if(e.length>0){const s=Ft(e);s.trailingComments&&s.trailingComments[0].start>=t.end&&(n=s.trailingComments,delete s.trailingComments)}for(e.length>0&&Ft(e).start>=t.start&&(s=e.pop());e.length>0&&Ft(e).start>=t.start;)r=e.pop();if(!r&&s&&(r=s),s)switch(t.type){case"ObjectExpression":this.adjustCommentsAfterTrailingComma(t,t.properties);break;case"ObjectPattern":this.adjustCommentsAfterTrailingComma(t,t.properties,!0);break;case"CallExpression":this.adjustCommentsAfterTrailingComma(t,t.arguments);break;case"ArrayExpression":this.adjustCommentsAfterTrailingComma(t,t.elements);break;case"ArrayPattern":this.adjustCommentsAfterTrailingComma(t,t.elements,!0)}else this.state.commentPreviousNode&&("ImportSpecifier"===this.state.commentPreviousNode.type&&"ImportSpecifier"!==t.type||"ExportSpecifier"===this.state.commentPreviousNode.type&&"ExportSpecifier"!==t.type)&&this.adjustCommentsAfterTrailingComma(t,[this.state.commentPreviousNode],!0);if(r){if(r.leadingComments)if(r!==t&&r.leadingComments.length>0&&Ft(r.leadingComments).end<=t.start)t.leadingComments=r.leadingComments,delete r.leadingComments;else for(i=r.leadingComments.length-2;i>=0;--i)if(r.leadingComments[i].end<=t.start){t.leadingComments=r.leadingComments.splice(0,i+1);break}}else if(this.state.leadingComments.length>0)if(Ft(this.state.leadingComments).end<=t.start){if(this.state.commentPreviousNode)for(a=0;a<this.state.leadingComments.length;a++)this.state.leadingComments[a].end<this.state.commentPreviousNode.end&&(this.state.leadingComments.splice(a,1),a--);this.state.leadingComments.length>0&&(t.leadingComments=this.state.leadingComments,this.state.leadingComments=[])}else{for(i=0;i<this.state.leadingComments.length&&!(this.state.leadingComments[i].end>t.start);i++);const e=this.state.leadingComments.slice(0,i);e.length&&(t.leadingComments=e),0===(n=this.state.leadingComments.slice(i)).length&&(n=null)}this.state.commentPreviousNode=t,n&&(n.length&&n[0].start>=t.start&&Ft(n).end<=t.end?t.innerComments=n:t.trailingComments=n),e.push(t)}}class qt extends Bt{getLocationForPosition(t){let e;return e=t===this.state.start?this.state.startLoc:t===this.state.lastTokStart?this.state.lastTokStartLoc:t===this.state.end?this.state.endLoc:t===this.state.lastTokEnd?this.state.lastTokEndLoc:function(t,e){let s,r=1,n=0;for(H.lastIndex=0;(s=H.exec(t))&&s.index<e;)r++,n=H.lastIndex;return new Rt(r,e-n)}(this.input,t)}raise(t,e,{missingPluginNames:s,code:r}={}){const n=this.getLocationForPosition(t);e+=` (${n.line}:${n.column})`;const i=new SyntaxError(e);throw i.pos=t,i.loc=n,s&&(i.missingPlugin=s),void 0!==r&&(i.code=r),i}}class Ut{constructor(){this.potentialArrowAt=-1,this.noArrowAt=[],this.noArrowParamsConversionAt=[],this.inParameters=!1,this.maybeInArrowParameters=!1,this.inPipeline=!1,this.inType=!1,this.noAnonFunctionType=!1,this.inPropertyName=!1,this.inClassProperty=!1,this.hasFlowComment=!1,this.isIterator=!1,this.topicContext={maxNumOfResolvableTopics:0,maxTopicIndex:null},this.soloAwait=!1,this.inFSharpPipelineDirectBody=!1,this.classLevel=0,this.labels=[],this.decoratorStack=[[]],this.yieldPos=-1,this.awaitPos=-1,this.tokens=[],this.comments=[],this.trailingComments=[],this.leadingComments=[],this.commentStack=[],this.commentPreviousNode=null,this.pos=0,this.lineStart=0,this.type=u.eof,this.value=null,this.start=0,this.end=0,this.lastTokEndLoc=null,this.lastTokStartLoc=null,this.lastTokStart=0,this.lastTokEnd=0,this.context=[$.braceStatement],this.exprAllowed=!0,this.containsEsc=!1,this.containsOctal=!1,this.octalPosition=null,this.exportedIdentifiers=[],this.invalidTemplateEscapePosition=null}init(t){this.strict=!1!==t.strictMode&&"module"===t.sourceType,this.curLine=t.startLine,this.startLoc=this.endLoc=this.curPosition()}curPosition(){return new Rt(this.curLine,this.pos-this.lineStart)}clone(t){const e=new Ut,s=Object.keys(this);for(let r=0,n=s.length;r<n;r++){const n=s[r];let i=this[n];!t&&Array.isArray(i)&&(i=i.slice()),e[n]=i}return e}}var Vt=function(t){return t>=48&&t<=57};const zt=new Set(["g","m","s","i","y","u"]),Ht={decBinOct:[46,66,69,79,95,98,101,111],hex:[46,88,95,120]},Jt={bin:[48,49]};Jt.oct=[...Jt.bin,50,51,52,53,54,55],Jt.dec=[...Jt.oct,56,57],Jt.hex=[...Jt.dec,65,66,67,68,69,70,97,98,99,100,101,102];class Wt{constructor(t){this.type=t.type,this.value=t.value,this.start=t.start,this.end=t.end,this.loc=new It(t.startLoc,t.endLoc)}}class Kt extends qt{constructor(t,e){super(),this.state=new Ut,this.state.init(t),this.input=e,this.length=e.length,this.isLookahead=!1}next(){this.options.tokens&&!this.isLookahead&&this.state.tokens.push(new Wt(this.state)),this.state.lastTokEnd=this.state.end,this.state.lastTokStart=this.state.start,this.state.lastTokEndLoc=this.state.endLoc,this.state.lastTokStartLoc=this.state.startLoc,this.nextToken()}eat(t){return!!this.match(t)&&(this.next(),!0)}match(t){return this.state.type===t}lookahead(){const t=this.state;this.state=t.clone(!0),this.isLookahead=!0,this.next(),this.isLookahead=!1;const e=this.state;return this.state=t,e}nextTokenStart(){const t=this.state.pos;return W.lastIndex=t,t+W.exec(this.input)[0].length}lookaheadCharCode(){return this.input.charCodeAt(this.nextTokenStart())}setStrict(t){if(this.state.strict=t,this.match(u.num)||this.match(u.string)){for(this.state.pos=this.state.start;this.state.pos<this.state.lineStart;)this.state.lineStart=this.input.lastIndexOf("\n",this.state.lineStart-2)+1,--this.state.curLine;this.nextToken()}}curContext(){return this.state.context[this.state.context.length-1]}nextToken(){const t=this.curContext();t&&t.preserveSpace||this.skipSpace(),this.state.containsOctal=!1,this.state.octalPosition=null,this.state.start=this.state.pos,this.state.startLoc=this.state.curPosition(),this.state.pos>=this.length?this.finishToken(u.eof):t.override?t.override(this):this.getTokenFromCode(this.input.codePointAt(this.state.pos))}pushComment(t,e,s,r,n,i){const a={type:t?"CommentBlock":"CommentLine",value:e,start:s,end:r,loc:new It(n,i)};this.options.tokens&&this.state.tokens.push(a),this.state.comments.push(a),this.addComment(a)}skipBlockComment(){const t=this.state.curPosition(),e=this.state.pos,s=this.input.indexOf("*/",this.state.pos+2);let r;for(-1===s&&this.raise(e,"Unterminated comment"),this.state.pos=s+2,H.lastIndex=e;(r=H.exec(this.input))&&r.index<this.state.pos;)++this.state.curLine,this.state.lineStart=r.index+r[0].length;this.isLookahead||this.pushComment(!0,this.input.slice(e+2,s),e,this.state.pos,t,this.state.curPosition())}skipLineComment(t){const e=this.state.pos,s=this.state.curPosition();let r=this.input.charCodeAt(this.state.pos+=t);if(this.state.pos<this.length)for(;!J(r)&&++this.state.pos<this.length;)r=this.input.charCodeAt(this.state.pos);this.isLookahead||this.pushComment(!1,this.input.slice(e+t,this.state.pos),e,this.state.pos,s,this.state.curPosition())}skipSpace(){t:for(;this.state.pos<this.length;){const t=this.input.charCodeAt(this.state.pos);switch(t){case 32:case 160:case 9:++this.state.pos;break;case 13:10===this.input.charCodeAt(this.state.pos+1)&&++this.state.pos;case 10:case 8232:case 8233:++this.state.pos,++this.state.curLine,this.state.lineStart=this.state.pos;break;case 47:switch(this.input.charCodeAt(this.state.pos+1)){case 42:this.skipBlockComment();break;case 47:this.skipLineComment(2);break;default:break t}break;default:if(!K(t))break t;++this.state.pos}}}finishToken(t,e){this.state.end=this.state.pos,this.state.endLoc=this.state.curPosition();const s=this.state.type;this.state.type=t,this.state.value=e,this.isLookahead||this.updateContext(s)}readToken_numberSign(){if(0===this.state.pos&&this.readToken_interpreter())return;const t=this.state.pos+1,e=this.input.charCodeAt(t);if(e>=48&&e<=57&&this.raise(this.state.pos,"Unexpected digit after hash token"),(this.hasPlugin("classPrivateProperties")||this.hasPlugin("classPrivateMethods"))&&this.state.classLevel>0)return++this.state.pos,void this.finishToken(u.hash);"smart"===this.getPluginOption("pipelineOperator","proposal")?this.finishOp(u.hash,1):this.raise(this.state.pos,"Unexpected character '#'")}readToken_dot(){const t=this.input.charCodeAt(this.state.pos+1);t>=48&&t<=57?this.readNumber(!0):46===t&&46===this.input.charCodeAt(this.state.pos+2)?(this.state.pos+=3,this.finishToken(u.ellipsis)):(++this.state.pos,this.finishToken(u.dot))}readToken_slash(){if(this.state.exprAllowed&&!this.state.inType)return++this.state.pos,void this.readRegexp();61===this.input.charCodeAt(this.state.pos+1)?this.finishOp(u.assign,2):this.finishOp(u.slash,1)}readToken_interpreter(){if(0!==this.state.pos||this.length<2)return!1;const t=this.state.pos;this.state.pos+=1;let e=this.input.charCodeAt(this.state.pos);if(33!==e)return!1;for(;!J(e)&&++this.state.pos<this.length;)e=this.input.charCodeAt(this.state.pos);const s=this.input.slice(t+2,this.state.pos);return this.finishToken(u.interpreterDirective,s),!0}readToken_mult_modulo(t){let e=42===t?u.star:u.modulo,s=1,r=this.input.charCodeAt(this.state.pos+1);const n=this.state.exprAllowed;42===t&&42===r&&(s++,r=this.input.charCodeAt(this.state.pos+2),e=u.exponent),61!==r||n||(s++,e=u.assign),this.finishOp(e,s)}readToken_pipe_amp(t){const e=this.input.charCodeAt(this.state.pos+1);e!==t?124!==t||62!==e?61!==e?this.finishOp(124===t?u.bitwiseOR:u.bitwiseAND,1):this.finishOp(u.assign,2):this.finishOp(u.pipeline,2):61===this.input.charCodeAt(this.state.pos+2)?this.finishOp(u.assign,3):this.finishOp(124===t?u.logicalOR:u.logicalAND,2)}readToken_caret(){61===this.input.charCodeAt(this.state.pos+1)?this.finishOp(u.assign,2):this.finishOp(u.bitwiseXOR,1)}readToken_plus_min(t){const e=this.input.charCodeAt(this.state.pos+1);if(e===t)return 45!==e||this.inModule||62!==this.input.charCodeAt(this.state.pos+2)||0!==this.state.lastTokEnd&&!z.test(this.input.slice(this.state.lastTokEnd,this.state.pos))?void this.finishOp(u.incDec,2):(this.skipLineComment(3),this.skipSpace(),void this.nextToken());61===e?this.finishOp(u.assign,2):this.finishOp(u.plusMin,1)}readToken_lt_gt(t){const e=this.input.charCodeAt(this.state.pos+1);let s=1;return e===t?(s=62===t&&62===this.input.charCodeAt(this.state.pos+2)?3:2,61===this.input.charCodeAt(this.state.pos+s)?void this.finishOp(u.assign,s+1):void this.finishOp(u.bitShift,s)):33!==e||60!==t||this.inModule||45!==this.input.charCodeAt(this.state.pos+2)||45!==this.input.charCodeAt(this.state.pos+3)?(61===e&&(s=2),void this.finishOp(u.relational,s)):(this.skipLineComment(4),this.skipSpace(),void this.nextToken())}readToken_eq_excl(t){const e=this.input.charCodeAt(this.state.pos+1);if(61!==e)return 61===t&&62===e?(this.state.pos+=2,void this.finishToken(u.arrow)):void this.finishOp(61===t?u.eq:u.bang,1);this.finishOp(u.equality,61===this.input.charCodeAt(this.state.pos+2)?3:2)}readToken_question(){const t=this.input.charCodeAt(this.state.pos+1),e=this.input.charCodeAt(this.state.pos+2);63!==t||this.state.inType?46!==t||e>=48&&e<=57?(++this.state.pos,this.finishToken(u.question)):(this.state.pos+=2,this.finishToken(u.questionDot)):61===e?this.finishOp(u.assign,3):this.finishOp(u.nullishCoalescing,2)}getTokenFromCode(t){switch(t){case 46:return void this.readToken_dot();case 40:return++this.state.pos,void this.finishToken(u.parenL);case 41:return++this.state.pos,void this.finishToken(u.parenR);case 59:return++this.state.pos,void this.finishToken(u.semi);case 44:return++this.state.pos,void this.finishToken(u.comma);case 91:return++this.state.pos,void this.finishToken(u.bracketL);case 93:return++this.state.pos,void this.finishToken(u.bracketR);case 123:return++this.state.pos,void this.finishToken(u.braceL);case 125:return++this.state.pos,void this.finishToken(u.braceR);case 58:return void(this.hasPlugin("functionBind")&&58===this.input.charCodeAt(this.state.pos+1)?this.finishOp(u.doubleColon,2):(++this.state.pos,this.finishToken(u.colon)));case 63:return void this.readToken_question();case 96:return++this.state.pos,void this.finishToken(u.backQuote);case 48:{const t=this.input.charCodeAt(this.state.pos+1);if(120===t||88===t)return void this.readRadixNumber(16);if(111===t||79===t)return void this.readRadixNumber(8);if(98===t||66===t)return void this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return void this.readNumber(!1);case 34:case 39:return void this.readString(t);case 47:return void this.readToken_slash();case 37:case 42:return void this.readToken_mult_modulo(t);case 124:case 38:return void this.readToken_pipe_amp(t);case 94:return void this.readToken_caret();case 43:case 45:return void this.readToken_plus_min(t);case 60:case 62:return void this.readToken_lt_gt(t);case 61:case 33:return void this.readToken_eq_excl(t);case 126:return void this.finishOp(u.tilde,1);case 64:return++this.state.pos,void this.finishToken(u.at);case 35:return void this.readToken_numberSign();case 92:return void this.readWord();default:if(ct(t))return void this.readWord()}this.raise(this.state.pos,`Unexpected character '${String.fromCodePoint(t)}'`)}finishOp(t,e){const s=this.input.slice(this.state.pos,this.state.pos+e);this.state.pos+=e,this.finishToken(t,s)}readRegexp(){const t=this.state.pos;let e,s;for(;;){this.state.pos>=this.length&&this.raise(t,"Unterminated regular expression");const r=this.input.charAt(this.state.pos);if(z.test(r)&&this.raise(t,"Unterminated regular expression"),e)e=!1;else{if("["===r)s=!0;else if("]"===r&&s)s=!1;else if("/"===r&&!s)break;e="\\"===r}++this.state.pos}const r=this.input.slice(t,this.state.pos);++this.state.pos;let n="";for(;this.state.pos<this.length;){const t=this.input[this.state.pos],e=this.input.codePointAt(this.state.pos);if(zt.has(t))n.indexOf(t)>-1&&this.raise(this.state.pos+1,"Duplicate regular expression flag"),++this.state.pos,n+=t;else{if(!pt(e)&&92!==e)break;this.raise(this.state.pos+1,"Invalid regular expression flag")}}this.finishToken(u.regexp,{pattern:r,flags:n})}readInt(t,e,s=!0){const r=this.state.pos,n=16===t?Ht.hex:Ht.decBinOct,i=16===t?Jt.hex:10===t?Jt.dec:8===t?Jt.oct:Jt.bin;let a=0;for(let r=0,o=null==e?1/0:e;r<o;++r){const e=this.input.charCodeAt(this.state.pos);let r;if(this.hasPlugin("numericSeparator")&&95===e){const t=this.input.charCodeAt(this.state.pos-1),e=this.input.charCodeAt(this.state.pos+1);-1===i.indexOf(e)&&this.raise(this.state.pos,"Invalid or unexpected token"),(n.indexOf(t)>-1||n.indexOf(e)>-1||Number.isNaN(e))&&this.raise(this.state.pos,"Invalid or unexpected token"),s||this.raise(this.state.pos,"Numeric separators are not allowed inside unicode escape sequences or hex escape sequences"),++this.state.pos}else{if((r=e>=97?e-97+10:e>=65?e-65+10:Vt(e)?e-48:1/0)>=t)break;++this.state.pos,a=a*t+r}}return this.state.pos===r||null!=e&&this.state.pos-r!==e?null:a}readRadixNumber(t){const e=this.state.pos;let s=!1;this.state.pos+=2;const r=this.readInt(t);if(null==r&&this.raise(this.state.start+2,"Expected number in radix "+t),this.hasPlugin("bigInt")&&110===this.input.charCodeAt(this.state.pos)&&(++this.state.pos,s=!0),ct(this.input.codePointAt(this.state.pos))&&this.raise(this.state.pos,"Identifier directly after number"),s){const t=this.input.slice(e,this.state.pos).replace(/[_n]/g,"");this.finishToken(u.bigint,t)}else this.finishToken(u.num,r)}readNumber(t){const e=this.state.pos;let s=!1,r=!1,n=!1;t||null!==this.readInt(10)||this.raise(e,"Invalid number");let i=this.state.pos-e>=2&&48===this.input.charCodeAt(e);i&&(this.state.strict&&this.raise(e,"Legacy octal literals are not allowed in strict mode"),/[89]/.test(this.input.slice(e,this.state.pos))&&(i=!1,n=!0));let a=this.input.charCodeAt(this.state.pos);if(46!==a||i||(++this.state.pos,this.readInt(10),s=!0,a=this.input.charCodeAt(this.state.pos)),69!==a&&101!==a||i||(43!==(a=this.input.charCodeAt(++this.state.pos))&&45!==a||++this.state.pos,null===this.readInt(10)&&this.raise(e,"Invalid number"),s=!0,a=this.input.charCodeAt(this.state.pos)),this.hasPlugin("numericSeparator")&&(i||n)){const t=this.input.slice(e,this.state.pos).indexOf("_");t>0&&this.raise(t+e,"Numeric separator can not be used after leading 0")}this.hasPlugin("bigInt")&&110===a&&((s||i||n)&&this.raise(e,"Invalid BigIntLiteral"),++this.state.pos,r=!0),ct(this.input.codePointAt(this.state.pos))&&this.raise(this.state.pos,"Identifier directly after number");const o=this.input.slice(e,this.state.pos).replace(/[_n]/g,"");if(r)return void this.finishToken(u.bigint,o);const l=i?parseInt(o,8):parseFloat(o);this.finishToken(u.num,l)}readCodePoint(t){let e;if(123===this.input.charCodeAt(this.state.pos)){const s=++this.state.pos;if(e=this.readHexChar(this.input.indexOf("}",this.state.pos)-this.state.pos,t),++this.state.pos,null===e)--this.state.invalidTemplateEscapePosition;else if(e>1114111){if(!t)return this.state.invalidTemplateEscapePosition=s-2,null;this.raise(s,"Code point out of bounds")}}else e=this.readHexChar(4,t);return e}readString(t){let e="",s=++this.state.pos;for(;;){this.state.pos>=this.length&&this.raise(this.state.start,"Unterminated string constant");const r=this.input.charCodeAt(this.state.pos);if(r===t)break;92===r?(e+=this.input.slice(s,this.state.pos),e+=this.readEscapedChar(!1),s=this.state.pos):8232===r||8233===r?(++this.state.pos,++this.state.curLine):J(r)?this.raise(this.state.start,"Unterminated string constant"):++this.state.pos}e+=this.input.slice(s,this.state.pos++),this.finishToken(u.string,e)}readTmplToken(){let t="",e=this.state.pos,s=!1;for(;;){this.state.pos>=this.length&&this.raise(this.state.start,"Unterminated template");const r=this.input.charCodeAt(this.state.pos);if(96===r||36===r&&123===this.input.charCodeAt(this.state.pos+1))return this.state.pos===this.state.start&&this.match(u.template)?36===r?(this.state.pos+=2,void this.finishToken(u.dollarBraceL)):(++this.state.pos,void this.finishToken(u.backQuote)):(t+=this.input.slice(e,this.state.pos),void this.finishToken(u.template,s?null:t));if(92===r){t+=this.input.slice(e,this.state.pos);const r=this.readEscapedChar(!0);null===r?s=!0:t+=r,e=this.state.pos}else if(J(r)){switch(t+=this.input.slice(e,this.state.pos),++this.state.pos,r){case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:t+="\n";break;default:t+=String.fromCharCode(r)}++this.state.curLine,this.state.lineStart=this.state.pos,e=this.state.pos}else++this.state.pos}}readEscapedChar(t){const e=!t,s=this.input.charCodeAt(++this.state.pos);switch(++this.state.pos,s){case 110:return"\n";case 114:return"\r";case 120:{const t=this.readHexChar(2,e);return null===t?null:String.fromCharCode(t)}case 117:{const t=this.readCodePoint(e);return null===t?null:String.fromCodePoint(t)}case 116:return"\t";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:this.state.lineStart=this.state.pos,++this.state.curLine;case 8232:case 8233:return"";default:if(s>=48&&s<=55){const e=this.state.pos-1;let s=this.input.substr(this.state.pos-1,3).match(/^[0-7]+/)[0],r=parseInt(s,8);r>255&&(s=s.slice(0,-1),r=parseInt(s,8)),this.state.pos+=s.length-1;const n=this.input.charCodeAt(this.state.pos);if("0"!==s||56===n||57===n){if(t)return this.state.invalidTemplateEscapePosition=e,null;this.state.strict?this.raise(e,"Octal literal in strict mode"):this.state.containsOctal||(this.state.containsOctal=!0,this.state.octalPosition=e)}return String.fromCharCode(r)}return String.fromCharCode(s)}}readHexChar(t,e){const s=this.state.pos,r=this.readInt(16,t,!1);return null===r&&(e?this.raise(s,"Bad character escape sequence"):(this.state.pos=s-1,this.state.invalidTemplateEscapePosition=s-1)),r}readWord1(){let t="";this.state.containsEsc=!1;const e=this.state.pos;let s=this.state.pos;for(;this.state.pos<this.length;){const r=this.input.codePointAt(this.state.pos);if(pt(r))this.state.pos+=r<=65535?1:2;else if(this.state.isIterator&&64===r)++this.state.pos;else{if(92!==r)break;{this.state.containsEsc=!0,t+=this.input.slice(s,this.state.pos);const r=this.state.pos,n=this.state.pos===e?ct:pt;117!==this.input.charCodeAt(++this.state.pos)&&this.raise(this.state.pos,"Expecting Unicode escape sequence \\uXXXX"),++this.state.pos;const i=this.readCodePoint(!0);n(i,!0)||this.raise(r,"Invalid Unicode escape"),t+=String.fromCodePoint(i),s=this.state.pos}}}return t+this.input.slice(s,this.state.pos)}isIterator(t){return"@@iterator"===t||"@@asyncIterator"===t}readWord(){const t=this.readWord1(),e=!this.state.containsEsc&&i.get(t)||u.name;!this.state.isIterator||this.isIterator(t)&&this.state.inType||this.raise(this.state.pos,`Invalid identifier ${t}`),this.finishToken(e,t)}braceIsBlock(t){const e=this.curContext();return e===$.functionExpression||e===$.functionStatement||(t!==u.colon||e!==$.braceStatement&&e!==$.braceExpression?t===u._return||t===u.name&&this.state.exprAllowed?z.test(this.input.slice(this.state.lastTokEnd,this.state.start)):t===u._else||t===u.semi||t===u.eof||t===u.parenR||t===u.arrow||(t===u.braceL?e===$.braceStatement:t!==u._var&&t!==u._const&&t!==u.name&&(t===u.relational||!this.state.exprAllowed)):!e.isExpr)}updateContext(t){const e=this.state.type;let s;!e.keyword||t!==u.dot&&t!==u.questionDot?(s=e.updateContext)?s.call(this,t):this.state.exprAllowed=e.beforeExpr:this.state.exprAllowed=!1}}const Gt=/^('|")((?:\\?.)*?)\1/;class $t extends Kt{addExtra(t,e,s){if(!t)return;(t.extra=t.extra||{})[e]=s}isRelational(t){return this.match(u.relational)&&this.state.value===t}isLookaheadRelational(t){const e=this.nextTokenStart();if(this.input.charAt(e)===t){if(e+1===this.input.length)return!0;const s=this.input.charCodeAt(e+1);return s!==t.charCodeAt(0)&&61!==s}return!1}expectRelational(t){this.isRelational(t)?this.next():this.unexpected(null,u.relational)}eatRelational(t){return!!this.isRelational(t)&&(this.next(),!0)}isContextual(t){return this.match(u.name)&&this.state.value===t&&!this.state.containsEsc}isUnparsedContextual(t,e){const s=t+e.length;return this.input.slice(t,s)===e&&(s===this.input.length||!pt(this.input.charCodeAt(s)))}isLookaheadContextual(t){const e=this.nextTokenStart();return this.isUnparsedContextual(e,t)}eatContextual(t){return this.isContextual(t)&&this.eat(u.name)}expectContextual(t,e){this.eatContextual(t)||this.unexpected(null,e)}canInsertSemicolon(){return this.match(u.eof)||this.match(u.braceR)||this.hasPrecedingLineBreak()}hasPrecedingLineBreak(){return z.test(this.input.slice(this.state.lastTokEnd,this.state.start))}isLineTerminator(){return this.eat(u.semi)||this.canInsertSemicolon()}semicolon(){this.isLineTerminator()||this.unexpected(null,u.semi)}expect(t,e){this.eat(t)||this.unexpected(e,t)}assertNoSpace(t="Unexpected space."){this.state.start>this.state.lastTokEnd&&this.raise(this.state.lastTokEnd,t)}unexpected(t,e="Unexpected token"){throw"string"!=typeof e&&(e=`Unexpected token, expected "${e.label}"`),this.raise(null!=t?t:this.state.start,e)}expectPlugin(t,e){if(!this.hasPlugin(t))throw this.raise(null!=e?e:this.state.start,`This experimental syntax requires enabling the parser plugin: '${t}'`,{missingPluginNames:[t]});return!0}expectOnePlugin(t,e){if(!t.some(t=>this.hasPlugin(t)))throw this.raise(null!=e?e:this.state.start,`This experimental syntax requires enabling one of the following parser plugin(s): '${t.join(", ")}'`,{missingPluginNames:t})}checkYieldAwaitInDefaultParams(){-1!==this.state.yieldPos&&(-1===this.state.awaitPos||this.state.yieldPos<this.state.awaitPos)&&this.raise(this.state.yieldPos,"Yield cannot be used as name inside a generator function"),-1!==this.state.awaitPos&&this.raise(this.state.awaitPos,"Await cannot be used as name inside an async function")}strictDirective(t){for(;;){W.lastIndex=t,t+=W.exec(this.input)[0].length;const e=Gt.exec(this.input.slice(t));if(!e)break;if("use strict"===e[2])return!0;t+=e[0].length,W.lastIndex=t,t+=W.exec(this.input)[0].length,";"===this.input[t]&&t++}return!1}}class Xt{constructor(t,e,s){this.type="",this.start=e,this.end=0,this.loc=new It(s),t&&t.options.ranges&&(this.range=[e,0]),t&&t.filename&&(this.loc.filename=t.filename)}__clone(){const t=new Xt,e=Object.keys(this);for(let s=0,r=e.length;s<r;s++){const r=e[s];"leadingComments"!==r&&"trailingComments"!==r&&"innerComments"!==r&&(t[r]=this[r])}return t}}class Yt extends $t{startNode(){return new Xt(this,this.state.start,this.state.startLoc)}startNodeAt(t,e){return new Xt(this,t,e)}startNodeAtNode(t){return this.startNodeAt(t.start,t.loc.start)}finishNode(t,e){return this.finishNodeAt(t,e,this.state.lastTokEnd,this.state.lastTokEndLoc)}finishNodeAt(t,e,s,r){return t.type=e,t.end=s,t.loc.end=r,this.options.ranges&&(t.range[1]=s),this.processComment(t),t}resetStartLocation(t,e,s){t.start=e,t.loc.start=s,this.options.ranges&&(t.range[0]=e)}resetEndLocation(t,e=this.state.lastTokEnd,s=this.state.lastTokEndLoc){t.end=e,t.loc.end=s,this.options.ranges&&(t.range[1]=e)}resetStartLocationFromNode(t,e){this.resetStartLocation(t,e.start,e.loc.start)}}class Qt extends Yt{toAssignable(t,e,s){var r;if(t)switch(t.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":break;case"ObjectExpression":t.type="ObjectPattern";for(let s=0,r=t.properties.length,i=r-1;s<r;s++){var n;const r=t.properties[s],a=s===i;this.toAssignableObjectExpressionProp(r,e,a),a&&"RestElement"===r.type&&(null===(n=t.extra)||void 0===n?void 0:n.trailingComma)&&this.raiseRestNotLast(t.extra.trailingComma)}break;case"ObjectProperty":this.toAssignable(t.value,e,s);break;case"SpreadElement":{this.checkToRestConversion(t),t.type="RestElement";const r=t.argument;this.toAssignable(r,e,s);break}case"ArrayExpression":t.type="ArrayPattern",this.toAssignableList(t.elements,e,s,null===(r=t.extra)||void 0===r?void 0:r.trailingComma);break;case"AssignmentExpression":"="===t.operator?(t.type="AssignmentPattern",delete t.operator):this.raise(t.left.end,"Only '=' operator can be used for specifying default value.");break;case"ParenthesizedExpression":t.expression=this.toAssignable(t.expression,e,s);break;case"MemberExpression":if(!e)break;default:{const e="Invalid left-hand side"+(s?" in "+s:"expression");this.raise(t.start,e)}}return t}toAssignableObjectExpressionProp(t,e,s){if("ObjectMethod"===t.type){const e="get"===t.kind||"set"===t.kind?"Object pattern can't contain getter or setter":"Object pattern can't contain methods";this.raise(t.key.start,e)}else"SpreadElement"!==t.type||s?this.toAssignable(t,e,"object destructuring pattern"):this.raiseRestNotLast(t.start)}toAssignableList(t,e,s,r){let n=t.length;if(n){const i=t[n-1];if(i&&"RestElement"===i.type)--n;else if(i&&"SpreadElement"===i.type){i.type="RestElement";const t=i.argument;this.toAssignable(t,e,s),"Identifier"!==t.type&&"MemberExpression"!==t.type&&"ArrayPattern"!==t.type&&"ObjectPattern"!==t.type&&this.unexpected(t.start),r&&this.raiseTrailingCommaAfterRest(r),--n}}for(let r=0;r<n;r++){const n=t[r];n&&(this.toAssignable(n,e,s),"RestElement"===n.type&&this.raiseRestNotLast(n.start))}return t}toReferencedList(t,e){return t}toReferencedListDeep(t,e){this.toReferencedList(t,e);for(let e=0;e<t.length;e++){const s=t[e];s&&"ArrayExpression"===s.type&&this.toReferencedListDeep(s.elements)}return t}parseSpread(t,e){const s=this.startNode();return this.next(),s.argument=this.parseMaybeAssign(!1,t,void 0,e),this.finishNode(s,"SpreadElement")}parseRestBinding(){const t=this.startNode();return this.next(),t.argument=this.parseBindingAtom(),this.finishNode(t,"RestElement")}parseBindingAtom(){switch(this.state.type){case u.bracketL:{const t=this.startNode();return this.next(),t.elements=this.parseBindingList(u.bracketR,93,!0),this.finishNode(t,"ArrayPattern")}case u.braceL:return this.parseObj(!0)}return this.parseIdentifier()}parseBindingList(t,e,s,r){const n=[];let i=!0;for(;!this.eat(t);)if(i?i=!1:this.expect(u.comma),s&&this.match(u.comma))n.push(null);else{if(this.eat(t))break;if(this.match(u.ellipsis)){n.push(this.parseAssignableListItemTypes(this.parseRestBinding())),this.checkCommaAfterRest(e),this.expect(t);break}{const t=[];for(this.match(u.at)&&this.hasPlugin("decorators")&&this.raise(this.state.start,"Stage 2 decorators cannot be used to decorate parameters");this.match(u.at);)t.push(this.parseDecorator());n.push(this.parseAssignableListItem(r,t))}}return n}parseAssignableListItem(t,e){const s=this.parseMaybeDefault();this.parseAssignableListItemTypes(s);const r=this.parseMaybeDefault(s.start,s.loc.start,s);return e.length&&(s.decorators=e),r}parseAssignableListItemTypes(t){return t}parseMaybeDefault(t,e,s){if(e=e||this.state.startLoc,t=t||this.state.start,s=s||this.parseBindingAtom(),!this.eat(u.eq))return s;const r=this.startNodeAt(t,e);return r.left=s,r.right=this.parseMaybeAssign(),this.finishNode(r,"AssignmentPattern")}checkLVal(t,e=F,s,r){switch(t.type){case"Identifier":if(this.state.strict&&et(t.name,this.inModule)&&this.raise(t.start,`${e===F?"Assigning to":"Binding"} '${t.name}' in strict mode`),s){const e=`_${t.name}`;s[e]?this.raise(t.start,"Argument name clash"):s[e]=!0}e===N&&"let"===t.name&&this.raise(t.start,"'let' is not allowed to be used as a name in 'let' or 'const' declarations."),e&F||this.scope.declareName(t.name,e,t.start);break;case"MemberExpression":e!==F&&this.raise(t.start,"Binding member expression");break;case"ObjectPattern":for(let r=0,n=t.properties;r<n.length;r++){let t=n[r];"ObjectProperty"===t.type&&(t=t.value),this.checkLVal(t,e,s,"object destructuring pattern")}break;case"ArrayPattern":for(let r=0,n=t.elements;r<n.length;r++){const t=n[r];t&&this.checkLVal(t,e,s,"array destructuring pattern")}break;case"AssignmentPattern":this.checkLVal(t.left,e,s,"assignment pattern");break;case"RestElement":this.checkLVal(t.argument,e,s,"rest element");break;case"ParenthesizedExpression":this.checkLVal(t.expression,e,s,"parenthesized expression");break;default:{const s=(e===F?"Invalid":"Binding invalid")+" left-hand side"+(r?" in "+r:"expression");this.raise(t.start,s)}}}checkToRestConversion(t){"Identifier"!==t.argument.type&&"MemberExpression"!==t.argument.type&&this.raise(t.argument.start,"Invalid rest operator's argument")}checkCommaAfterRest(t){this.match(u.comma)&&(this.lookaheadCharCode()===t?this.raiseTrailingCommaAfterRest(this.state.start):this.raiseRestNotLast(this.state.start))}raiseRestNotLast(t){this.raise(t,"Rest element must be last element")}raiseTrailingCommaAfterRest(t){this.raise(t,"Unexpected trailing comma after rest element")}}const Zt=t=>"ParenthesizedExpression"===t.type?Zt(t.expression):t;class te extends Qt{checkPropClash(t,e){if("SpreadElement"===t.type||t.computed||t.kind||t.shorthand)return;const s=t.key;"__proto__"===("Identifier"===s.type?s.name:String(s.value))&&(e.proto&&this.raise(s.start,"Redefinition of __proto__ property"),e.proto=!0)}getExpression(){this.scope.enter(h),this.nextToken();const t=this.parseExpression();return this.match(u.eof)||this.unexpected(),t.comments=this.state.comments,t}parseExpression(t,e){const s=this.state.start,r=this.state.startLoc,n=this.parseMaybeAssign(t,e);if(this.match(u.comma)){const i=this.startNodeAt(s,r);for(i.expressions=[n];this.eat(u.comma);)i.expressions.push(this.parseMaybeAssign(t,e));return this.toReferencedList(i.expressions),this.finishNode(i,"SequenceExpression")}return n}parseMaybeAssign(t,e,s,r){const n=this.state.start,i=this.state.startLoc;if(this.isContextual("yield")){if(this.scope.inGenerator){let e=this.parseYield(t);return s&&(e=s.call(this,e,n,i)),e}this.state.exprAllowed=!1}let a;e?a=!1:(e={start:0},a=!0),(this.match(u.parenL)||this.match(u.name))&&(this.state.potentialArrowAt=this.state.start);let o=this.parseMaybeConditional(t,e,r);if(s&&(o=s.call(this,o,n,i)),this.state.type.isAssign){const s=this.startNodeAt(n,i),r=this.state.value;s.operator=r,"??="===r&&(this.expectPlugin("nullishCoalescingOperator"),this.expectPlugin("logicalAssignment")),"||="!==r&&"&&="!==r||this.expectPlugin("logicalAssignment"),s.left=this.match(u.eq)?this.toAssignable(o,void 0,"assignment expression"):o,e.start=0,this.checkLVal(o,void 0,void 0,"assignment expression");const a=Zt(o);let l;return"ObjectPattern"===a.type?l="`({a}) = 0` use `({a} = 0)`":"ArrayPattern"===a.type&&(l="`([a]) = 0` use `([a] = 0)`"),l&&(o.extra&&o.extra.parenthesized||"ParenthesizedExpression"===o.type)&&this.raise(a.start,`You're trying to assign to a parenthesized expression, eg. instead of ${l}`),this.next(),s.right=this.parseMaybeAssign(t),this.finishNode(s,"AssignmentExpression")}return a&&e.start&&this.unexpected(e.start),o}parseMaybeConditional(t,e,s){const r=this.state.start,n=this.state.startLoc,i=this.state.potentialArrowAt,a=this.parseExprOps(t,e);return"ArrowFunctionExpression"===a.type&&a.start===i?a:e&&e.start?a:this.parseConditional(a,t,r,n,s)}parseConditional(t,e,s,r,n){if(this.eat(u.question)){const n=this.startNodeAt(s,r);return n.test=t,n.consequent=this.parseMaybeAssign(),this.expect(u.colon),n.alternate=this.parseMaybeAssign(e),this.finishNode(n,"ConditionalExpression")}return t}parseExprOps(t,e){const s=this.state.start,r=this.state.startLoc,n=this.state.potentialArrowAt,i=this.parseMaybeUnary(e);return"ArrowFunctionExpression"===i.type&&i.start===n?i:e&&e.start?i:this.parseExprOp(i,s,r,-1,t)}parseExprOp(t,e,s,r,n){const i=this.state.type.binop;if(!(null==i||n&&this.match(u._in))&&i>r){const a=this.state.value;if("|>"===a&&this.state.inFSharpPipelineDirectBody)return t;const o=this.startNodeAt(e,s);o.left=t,o.operator=a,"**"!==a||"UnaryExpression"!==t.type||!this.options.createParenthesizedExpressions&&t.extra&&t.extra.parenthesized||this.raise(t.argument.start,"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.");const l=this.state.type;if(l===u.pipeline?(this.expectPlugin("pipelineOperator"),this.state.inPipeline=!0,this.checkPipelineAtInfixOperator(t,e)):l===u.nullishCoalescing&&this.expectPlugin("nullishCoalescingOperator"),this.next(),l===u.pipeline&&"minimal"===this.getPluginOption("pipelineOperator","proposal")&&this.match(u.name)&&"await"===this.state.value&&this.scope.inAsync)throw this.raise(this.state.start,'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal');if(o.right=this.parseExprOpRightExpr(l,i,n),l===u.nullishCoalescing){if(!("LogicalExpression"!==t.type||"??"===t.operator||t.extra&&t.extra.parenthesized))throw this.raise(t.start,"Nullish coalescing operator(??) requires parens when mixing with logical operators");if(!("LogicalExpression"!==o.right.type||"??"===o.right.operator||o.right.extra&&o.right.extra.parenthesized))throw this.raise(o.right.start,"Nullish coalescing operator(??) requires parens when mixing with logical operators")}return this.finishNode(o,l===u.logicalOR||l===u.logicalAND||l===u.nullishCoalescing?"LogicalExpression":"BinaryExpression"),this.parseExprOp(o,e,s,r,n)}return t}parseExprOpRightExpr(t,e,s){const r=this.state.start,n=this.state.startLoc;switch(t){case u.pipeline:switch(this.getPluginOption("pipelineOperator","proposal")){case"smart":return this.withTopicPermittingContext(()=>this.parseSmartPipelineBody(this.parseExprOpBaseRightExpr(t,e,s),r,n));case"fsharp":return this.withSoloAwaitPermittingContext(()=>this.parseFSharpPipelineBody(e,s))}default:return this.parseExprOpBaseRightExpr(t,e,s)}}parseExprOpBaseRightExpr(t,e,s){const r=this.state.start,n=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnary(),r,n,t.rightAssociative?e-1:e,s)}parseMaybeUnary(t){if(this.isContextual("await")&&this.isAwaitAllowed())return this.parseAwait();if(this.state.type.prefix){const e=this.startNode(),s=this.match(u.incDec);if(e.operator=this.state.value,e.prefix=!0,"throw"===e.operator&&this.expectPlugin("throwExpressions"),this.next(),e.argument=this.parseMaybeUnary(),t&&t.start&&this.unexpected(t.start),s)this.checkLVal(e.argument,void 0,void 0,"prefix operation");else if(this.state.strict&&"delete"===e.operator){const t=e.argument;"Identifier"===t.type?this.raise(e.start,"Deleting local variable in strict mode"):"MemberExpression"===t.type&&"PrivateName"===t.property.type&&this.raise(e.start,"Deleting a private field is not allowed")}return this.finishNode(e,s?"UpdateExpression":"UnaryExpression")}const e=this.state.start,s=this.state.startLoc;let r=this.parseExprSubscripts(t);if(t&&t.start)return r;for(;this.state.type.postfix&&!this.canInsertSemicolon();){const t=this.startNodeAt(e,s);t.operator=this.state.value,t.prefix=!1,t.argument=r,this.checkLVal(r,void 0,void 0,"postfix operation"),this.next(),r=this.finishNode(t,"UpdateExpression")}return r}parseExprSubscripts(t){const e=this.state.start,s=this.state.startLoc,r=this.state.potentialArrowAt,n=this.parseExprAtom(t);return"ArrowFunctionExpression"===n.type&&n.start===r?n:t&&t.start?n:this.parseSubscripts(n,e,s)}parseSubscripts(t,e,s,r){const n={optionalChainMember:!1,maybeAsyncArrow:this.atPossibleAsync(t),stop:!1};do{t=this.parseSubscript(t,e,s,r,n),n.maybeAsyncArrow=!1}while(!n.stop);return t}parseSubscript(t,e,s,r,n){if(!r&&this.eat(u.doubleColon)){const i=this.startNodeAt(e,s);return i.object=t,i.callee=this.parseNoCallExpr(),n.stop=!0,this.parseSubscripts(this.finishNode(i,"BindExpression"),e,s,r)}if(this.match(u.questionDot)){if(this.expectPlugin("optionalChaining"),n.optionalChainMember=!0,r&&40===this.lookaheadCharCode())return n.stop=!0,t;this.next();const i=this.startNodeAt(e,s);return this.eat(u.bracketL)?(i.object=t,i.property=this.parseExpression(),i.computed=!0,i.optional=!0,this.expect(u.bracketR),this.finishNode(i,"OptionalMemberExpression")):this.eat(u.parenL)?(i.callee=t,i.arguments=this.parseCallExpressionArguments(u.parenR,!1),i.optional=!0,this.finishNode(i,"OptionalCallExpression")):(i.object=t,i.property=this.parseIdentifier(!0),i.computed=!1,i.optional=!0,this.finishNode(i,"OptionalMemberExpression"))}if(this.eat(u.dot)){const r=this.startNodeAt(e,s);return r.object=t,r.property=this.parseMaybePrivateName(),r.computed=!1,"PrivateName"===r.property.type&&"Super"===r.object.type&&this.raise(e,"Private fields can't be accessed on super"),n.optionalChainMember?(r.optional=!1,this.finishNode(r,"OptionalMemberExpression")):this.finishNode(r,"MemberExpression")}if(this.eat(u.bracketL)){const r=this.startNodeAt(e,s);return r.object=t,r.property=this.parseExpression(),r.computed=!0,this.expect(u.bracketR),n.optionalChainMember?(r.optional=!1,this.finishNode(r,"OptionalMemberExpression")):this.finishNode(r,"MemberExpression")}if(!r&&this.match(u.parenL)){const r=this.state.maybeInArrowParameters,i=this.state.yieldPos,a=this.state.awaitPos;this.state.maybeInArrowParameters=!0,this.state.yieldPos=-1,this.state.awaitPos=-1,this.next();let o=this.startNodeAt(e,s);return o.callee=t,o.arguments=this.parseCallExpressionArguments(u.parenR,n.maybeAsyncArrow,"Import"===t.type,"Super"!==t.type,o),n.optionalChainMember?this.finishOptionalCallExpression(o):this.finishCallExpression(o),n.maybeAsyncArrow&&this.shouldParseAsyncArrow()?(n.stop=!0,o=this.parseAsyncArrowFromCallExpression(this.startNodeAt(e,s),o),this.checkYieldAwaitInDefaultParams(),this.state.yieldPos=i,this.state.awaitPos=a):(this.toReferencedListDeep(o.arguments),-1!==i&&(this.state.yieldPos=i),(this.isAwaitAllowed()||r)&&-1===a||(this.state.awaitPos=a)),this.state.maybeInArrowParameters=r,o}return this.match(u.backQuote)?this.parseTaggedTemplateExpression(e,s,t,n):(n.stop=!0,t)}parseTaggedTemplateExpression(t,e,s,r,n){const i=this.startNodeAt(t,e);return i.tag=s,i.quasi=this.parseTemplate(!0),n&&(i.typeParameters=n),r.optionalChainMember&&this.raise(t,"Tagged Template Literals are not allowed in optionalChain"),this.finishNode(i,"TaggedTemplateExpression")}atPossibleAsync(t){return"Identifier"===t.type&&"async"===t.name&&this.state.lastTokEnd===t.end&&!this.canInsertSemicolon()&&"async"===this.input.slice(t.start,t.end)}finishCallExpression(t){if("Import"===t.callee.type){1!==t.arguments.length&&this.raise(t.start,"import() requires exactly one argument");const e=t.arguments[0];e&&"SpreadElement"===e.type&&this.raise(e.start,"... is not allowed in import()")}return this.finishNode(t,"CallExpression")}finishOptionalCallExpression(t){if("Import"===t.callee.type){1!==t.arguments.length&&this.raise(t.start,"import() requires exactly one argument");const e=t.arguments[0];e&&"SpreadElement"===e.type&&this.raise(e.start,"... is not allowed in import()")}return this.finishNode(t,"OptionalCallExpression")}parseCallExpressionArguments(t,e,s,r,n){const i=[];let a,o=!0;const l=this.state.inFSharpPipelineDirectBody;for(this.state.inFSharpPipelineDirectBody=!1;!this.eat(t);){if(o)o=!1;else if(this.expect(u.comma),this.match(t)){s&&this.raise(this.state.lastTokStart,"Trailing comma is disallowed inside import(...) arguments"),n&&this.addExtra(n,"trailingComma",this.state.lastTokStart),this.next();break}this.match(u.parenL)&&!a&&(a=this.state.start),i.push(this.parseExprListItem(!1,e?{start:0}:void 0,e?{start:0}:void 0,r))}return e&&a&&this.shouldParseAsyncArrow()&&this.unexpected(),this.state.inFSharpPipelineDirectBody=l,i}shouldParseAsyncArrow(){return this.match(u.arrow)&&!this.canInsertSemicolon()}parseAsyncArrowFromCallExpression(t,e){var s;return this.expect(u.arrow),this.parseArrowExpression(t,e.arguments,!0,null===(s=e.extra)||void 0===s?void 0:s.trailingComma),t}parseNoCallExpr(){const t=this.state.start,e=this.state.startLoc;return this.parseSubscripts(this.parseExprAtom(),t,e,!0)}parseExprAtom(t){this.state.type===u.slash&&this.readRegexp();const e=this.state.potentialArrowAt===this.state.start;let s;switch(this.state.type){case u._super:return this.scope.allowSuper||this.options.allowSuperOutsideMethod||this.raise(this.state.start,"super is only allowed in object methods and classes"),s=this.startNode(),this.next(),!this.match(u.parenL)||this.scope.allowDirectSuper||this.options.allowSuperOutsideMethod||this.raise(s.start,"super() is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?"),this.match(u.parenL)||this.match(u.bracketL)||this.match(u.dot)||this.unexpected(),this.finishNode(s,"Super");case u._import:return s=this.startNode(),this.next(),this.match(u.dot)?this.parseImportMetaProperty(s):(this.expectPlugin("dynamicImport",s.start),this.match(u.parenL)||this.unexpected(null,u.parenL),this.finishNode(s,"Import"));case u._this:return s=this.startNode(),this.next(),this.finishNode(s,"ThisExpression");case u.name:{s=this.startNode();const t=this.state.containsEsc,r=this.parseIdentifier();if(!t&&"async"===r.name&&this.match(u._function)&&!this.canInsertSemicolon())return this.next(),this.parseFunction(s,void 0,!0);if(e&&!t&&"async"===r.name&&this.match(u.name)&&!this.canInsertSemicolon()){const t=[this.parseIdentifier()];return this.expect(u.arrow),this.parseArrowExpression(s,t,!0),s}return e&&this.match(u.arrow)&&!this.canInsertSemicolon()?(this.next(),this.parseArrowExpression(s,[r],!1),s):r}case u._do:{this.expectPlugin("doExpressions");const t=this.startNode();this.next();const e=this.state.labels;return this.state.labels=[],t.body=this.parseBlock(),this.state.labels=e,this.finishNode(t,"DoExpression")}case u.regexp:{const t=this.state.value;return(s=this.parseLiteral(t.value,"RegExpLiteral")).pattern=t.pattern,s.flags=t.flags,s}case u.num:return this.parseLiteral(this.state.value,"NumericLiteral");case u.bigint:return this.parseLiteral(this.state.value,"BigIntLiteral");case u.string:return this.parseLiteral(this.state.value,"StringLiteral");case u._null:return s=this.startNode(),this.next(),this.finishNode(s,"NullLiteral");case u._true:case u._false:return this.parseBooleanLiteral();case u.parenL:return this.parseParenAndDistinguishExpression(e);case u.bracketL:{const e=this.state.inFSharpPipelineDirectBody;return this.state.inFSharpPipelineDirectBody=!1,s=this.startNode(),this.next(),s.elements=this.parseExprList(u.bracketR,!0,t,s),this.state.maybeInArrowParameters||this.toReferencedList(s.elements),this.state.inFSharpPipelineDirectBody=e,this.finishNode(s,"ArrayExpression")}case u.braceL:{const e=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const s=this.parseObj(!1,t);return this.state.inFSharpPipelineDirectBody=e,s}case u._function:return this.parseFunctionExpression();case u.at:this.parseDecorators();case u._class:return s=this.startNode(),this.takeDecorators(s),this.parseClass(s,!1);case u._new:return this.parseNew();case u.backQuote:return this.parseTemplate(!1);case u.doubleColon:{s=this.startNode(),this.next(),s.object=null;const t=s.callee=this.parseNoCallExpr();if("MemberExpression"===t.type)return this.finishNode(s,"BindExpression");throw this.raise(t.start,"Binding should be performed on object property.")}case u.hash:if(this.state.inPipeline){if(s=this.startNode(),"smart"!==this.getPluginOption("pipelineOperator","proposal")&&this.raise(s.start,"Primary Topic Reference found but pipelineOperator not passed 'smart' for 'proposal' option."),this.next(),this.primaryTopicReferenceIsAllowedInCurrentTopicContext())return this.registerTopicReference(),this.finishNode(s,"PipelinePrimaryTopicReference");throw this.raise(s.start,"Topic reference was used in a lexical context without topic binding")}default:throw this.unexpected()}}parseBooleanLiteral(){const t=this.startNode();return t.value=this.match(u._true),this.next(),this.finishNode(t,"BooleanLiteral")}parseMaybePrivateName(){if(this.match(u.hash)){this.expectOnePlugin(["classPrivateProperties","classPrivateMethods"]);const t=this.startNode();return this.next(),this.assertNoSpace("Unexpected space between # and identifier"),t.id=this.parseIdentifier(!0),this.finishNode(t,"PrivateName")}return this.parseIdentifier(!0)}parseFunctionExpression(){const t=this.startNode();let e=this.startNode();return this.next(),e=this.createIdentifier(e,"function"),this.scope.inGenerator&&this.eat(u.dot)?this.parseMetaProperty(t,e,"sent"):this.parseFunction(t)}parseMetaProperty(t,e,s){t.meta=e,"function"===e.name&&"sent"===s&&(this.isContextual(s)?this.expectPlugin("functionSent"):this.hasPlugin("functionSent")||this.unexpected());const r=this.state.containsEsc;return t.property=this.parseIdentifier(!0),(t.property.name!==s||r)&&this.raise(t.property.start,`The only valid meta property for ${e.name} is ${e.name}.${s}`),this.finishNode(t,"MetaProperty")}parseImportMetaProperty(t){const e=this.createIdentifier(this.startNodeAtNode(t),"import");return this.expect(u.dot),this.isContextual("meta")?this.expectPlugin("importMeta"):this.hasPlugin("importMeta")||this.raise(e.start,"Dynamic imports require a parameter: import('a.js')"),this.inModule||this.raise(e.start,"import.meta may appear only with 'sourceType: \"module\"'",{code:"BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED"}),this.sawUnambiguousESM=!0,this.parseMetaProperty(t,e,"meta")}parseLiteral(t,e,s,r){s=s||this.state.start,r=r||this.state.startLoc;const n=this.startNodeAt(s,r);return this.addExtra(n,"rawValue",t),this.addExtra(n,"raw",this.input.slice(s,this.state.end)),n.value=t,this.next(),this.finishNode(n,e)}parseParenAndDistinguishExpression(t){const e=this.state.start,s=this.state.startLoc;let r;this.expect(u.parenL);const n=this.state.maybeInArrowParameters,i=this.state.yieldPos,a=this.state.awaitPos,o=this.state.inFSharpPipelineDirectBody;this.state.maybeInArrowParameters=!0,this.state.yieldPos=-1,this.state.awaitPos=-1,this.state.inFSharpPipelineDirectBody=!1;const l=this.state.start,h=this.state.startLoc,c=[],p={start:0},d={start:0};let f,y,v=!0;for(;!this.match(u.parenR);){if(v)v=!1;else if(this.expect(u.comma,d.start||null),this.match(u.parenR)){y=this.state.start;break}if(this.match(u.ellipsis)){const t=this.state.start,e=this.state.startLoc;f=this.state.start,c.push(this.parseParenItem(this.parseRestBinding(),t,e)),this.checkCommaAfterRest(41);break}c.push(this.parseMaybeAssign(!1,p,this.parseParenItem,d))}const m=this.state.start,g=this.state.startLoc;this.expect(u.parenR),this.state.maybeInArrowParameters=n,this.state.inFSharpPipelineDirectBody=o;let x=this.startNodeAt(e,s);if(t&&this.shouldParseArrow()&&(x=this.parseArrow(x))){this.checkYieldAwaitInDefaultParams(),this.state.yieldPos=i,this.state.awaitPos=a;for(let t=0;t<c.length;t++){const e=c[t];e.extra&&e.extra.parenthesized&&this.unexpected(e.extra.parenStart)}return this.parseArrowExpression(x,c,!1),x}if(-1!==i&&(this.state.yieldPos=i),-1!==a&&(this.state.awaitPos=a),c.length||this.unexpected(this.state.lastTokStart),y&&this.unexpected(y),f&&this.unexpected(f),p.start&&this.unexpected(p.start),d.start&&this.unexpected(d.start),this.toReferencedListDeep(c,!0),c.length>1?((r=this.startNodeAt(l,h)).expressions=c,this.finishNodeAt(r,"SequenceExpression",m,g)):r=c[0],!this.options.createParenthesizedExpressions)return this.addExtra(r,"parenthesized",!0),this.addExtra(r,"parenStart",e),r;const b=this.startNodeAt(e,s);return b.expression=r,this.finishNode(b,"ParenthesizedExpression"),b}shouldParseArrow(){return!this.canInsertSemicolon()}parseArrow(t){if(this.eat(u.arrow))return t}parseParenItem(t,e,s){return t}parseNew(){const t=this.startNode(),e=this.parseIdentifier(!0);if(this.eat(u.dot)){const s=this.parseMetaProperty(t,e,"target");if(!this.scope.inNonArrowFunction&&!this.state.inClassProperty){let t="new.target can only be used in functions";this.hasPlugin("classProperties")&&(t+=" or class properties"),this.raise(s.start,t)}return s}return t.callee=this.parseNoCallExpr(),"Import"===t.callee.type?this.raise(t.callee.start,"Cannot use new with import(...)"):"OptionalMemberExpression"===t.callee.type||"OptionalCallExpression"===t.callee.type?this.raise(this.state.lastTokEnd,"constructors in/after an Optional Chain are not allowed"):this.eat(u.questionDot)&&this.raise(this.state.start,"constructors in/after an Optional Chain are not allowed"),this.parseNewArguments(t),this.finishNode(t,"NewExpression")}parseNewArguments(t){if(this.eat(u.parenL)){const e=this.parseExprList(u.parenR);this.toReferencedList(e),t.arguments=e}else t.arguments=[]}parseTemplateElement(t){const e=this.startNode();return null===this.state.value&&(t?this.state.invalidTemplateEscapePosition=null:this.raise(this.state.invalidTemplateEscapePosition||0,"Invalid escape sequence in template")),e.value={raw:this.input.slice(this.state.start,this.state.end).replace(/\r\n?/g,"\n"),cooked:this.state.value},this.next(),e.tail=this.match(u.backQuote),this.finishNode(e,"TemplateElement")}parseTemplate(t){const e=this.startNode();this.next(),e.expressions=[];let s=this.parseTemplateElement(t);for(e.quasis=[s];!s.tail;)this.expect(u.dollarBraceL),e.expressions.push(this.parseExpression()),this.expect(u.braceR),e.quasis.push(s=this.parseTemplateElement(t));return this.next(),this.finishNode(e,"TemplateLiteral")}parseObj(t,e){const s=Object.create(null);let r=!0;const n=this.startNode();for(n.properties=[],this.next();!this.eat(u.braceR);){if(r)r=!1;else if(this.expect(u.comma),this.match(u.braceR)){this.addExtra(n,"trailingComma",this.state.lastTokStart),this.next();break}const i=this.parseObjectMember(t,e);t||this.checkPropClash(i,s),i.shorthand&&this.addExtra(i,"shorthand",!0),n.properties.push(i)}return this.finishNode(n,t?"ObjectPattern":"ObjectExpression")}isAsyncProp(t){return!t.computed&&"Identifier"===t.key.type&&"async"===t.key.name&&(this.match(u.name)||this.match(u.num)||this.match(u.string)||this.match(u.bracketL)||this.state.type.keyword||this.match(u.star))&&!this.hasPrecedingLineBreak()}parseObjectMember(t,e){let s=[];if(this.match(u.at))if(this.hasPlugin("decorators"))this.raise(this.state.start,"Stage 2 decorators disallow object literal property decorators");else for(;this.match(u.at);)s.push(this.parseDecorator());const r=this.startNode();let n,i,a=!1,o=!1;if(this.match(u.ellipsis))return s.length&&this.unexpected(),t?(this.next(),r.argument=this.parseIdentifier(),this.checkCommaAfterRest(125),this.finishNode(r,"RestElement")):this.parseSpread();s.length&&(r.decorators=s,s=[]),r.method=!1,(t||e)&&(n=this.state.start,i=this.state.startLoc),t||(a=this.eat(u.star));const l=this.state.containsEsc;return this.parsePropertyName(r),t||l||a||!this.isAsyncProp(r)?o=!1:(o=!0,a=this.eat(u.star),this.parsePropertyName(r)),this.parseObjPropValue(r,n,i,a,o,t,e,l),r}isGetterOrSetterMethod(t,e){return!e&&!t.computed&&"Identifier"===t.key.type&&("get"===t.key.name||"set"===t.key.name)&&(this.match(u.string)||this.match(u.num)||this.match(u.bracketL)||this.match(u.name)||!!this.state.type.keyword)}getGetterSetterExpectedParamCount(t){return"get"===t.kind?0:1}checkGetterSetterParams(t){const e=this.getGetterSetterExpectedParamCount(t),s=t.start;t.params.length!==e&&("get"===t.kind?this.raise(s,"getter must not have any formal parameters"):this.raise(s,"setter must have exactly one formal parameter")),"set"===t.kind&&"RestElement"===t.params[t.params.length-1].type&&this.raise(s,"setter function argument must not be a rest parameter")}parseObjectMethod(t,e,s,r,n){return s||e||this.match(u.parenL)?(r&&this.unexpected(),t.kind="method",t.method=!0,this.parseMethod(t,e,s,!1,!1,"ObjectMethod")):!n&&this.isGetterOrSetterMethod(t,r)?((e||s)&&this.unexpected(),t.kind=t.key.name,this.parsePropertyName(t),this.parseMethod(t,!1,!1,!1,!1,"ObjectMethod"),this.checkGetterSetterParams(t),t):void 0}parseObjectProperty(t,e,s,r,n){return t.shorthand=!1,this.eat(u.colon)?(t.value=r?this.parseMaybeDefault(this.state.start,this.state.startLoc):this.parseMaybeAssign(!1,n),this.finishNode(t,"ObjectProperty")):t.computed||"Identifier"!==t.key.type?void 0:(this.checkReservedWord(t.key.name,t.key.start,!0,!0),r?t.value=this.parseMaybeDefault(e,s,t.key.__clone()):this.match(u.eq)&&n?(n.start||(n.start=this.state.start),t.value=this.parseMaybeDefault(e,s,t.key.__clone())):t.value=t.key.__clone(),t.shorthand=!0,this.finishNode(t,"ObjectProperty"))}parseObjPropValue(t,e,s,r,n,i,a,o){const u=this.parseObjectMethod(t,r,n,i,o)||this.parseObjectProperty(t,e,s,i,a);return u||this.unexpected(),u}parsePropertyName(t){if(this.eat(u.bracketL))t.computed=!0,t.key=this.parseMaybeAssign(),this.expect(u.bracketR);else{const e=this.state.inPropertyName;this.state.inPropertyName=!0,t.key=this.match(u.num)||this.match(u.string)?this.parseExprAtom():this.parseMaybePrivateName(),"PrivateName"!==t.key.type&&(t.computed=!1),this.state.inPropertyName=e}return t.key}initFunction(t,e){t.id=null,t.generator=!1,t.async=!!e}parseMethod(t,e,s,r,n,i,a=!1){const o=this.state.yieldPos,u=this.state.awaitPos;this.state.yieldPos=-1,this.state.awaitPos=-1,this.initFunction(t,s),t.generator=!!e;const l=r;return this.scope.enter(b(s,t.generator)|v|(a?g:0)|(n?m:0)),this.parseFunctionParams(t,l),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBodyAndFinish(t,i,!0),this.scope.exit(),this.state.yieldPos=o,this.state.awaitPos=u,t}parseArrowExpression(t,e,s,r){this.scope.enter(b(s,!1)|f),this.initFunction(t,s);const n=this.state.maybeInArrowParameters,i=this.state.yieldPos,a=this.state.awaitPos;return this.state.maybeInArrowParameters=!1,this.state.yieldPos=-1,this.state.awaitPos=-1,e&&this.setArrowFunctionParameters(t,e,r),this.parseFunctionBody(t,!0),this.scope.exit(),this.state.maybeInArrowParameters=n,this.state.yieldPos=i,this.state.awaitPos=a,this.finishNode(t,"ArrowFunctionExpression")}setArrowFunctionParameters(t,e,s){t.params=this.toAssignableList(e,!0,"arrow function parameters",s)}isStrictBody(t){if("BlockStatement"===t.body.type&&t.body.directives.length)for(let e=0,s=t.body.directives;e<s.length;e++){if("use strict"===s[e].value.value)return!0}return!1}parseFunctionBodyAndFinish(t,e,s=!1){this.parseFunctionBody(t,!1,s),this.finishNode(t,e)}parseFunctionBody(t,e,s=!1){const r=e&&!this.match(u.braceL),n=this.state.strict;let i=!1;const a=this.state.inParameters;if(this.state.inParameters=!1,r)t.body=this.parseMaybeAssign(),this.checkParams(t,!1,e);else{const r=!this.isSimpleParamList(t.params);if((!n||r)&&(i=this.strictDirective(this.state.end))&&r){const e="method"!==t.kind&&"constructor"!==t.kind||!t.key?t.start:t.key.end;this.raise(e,"Illegal 'use strict' directive in function with non-simple parameter list")}const a=this.state.labels;this.state.labels=[],i&&(this.state.strict=!0),this.checkParams(t,!(n||i||e||s||r),e),t.body=this.parseBlock(!0,!1),this.state.labels=a}this.state.inParameters=a,this.state.strict&&t.id&&this.checkLVal(t.id,B,void 0,"function name"),this.state.strict=n}isSimpleParamList(t){for(let e=0,s=t.length;e<s;e++)if("Identifier"!==t[e].type)return!1;return!0}checkParams(t,e,s){const r=Object.create(null);for(let s=0;s<t.params.length;s++)this.checkLVal(t.params[s],j,e?null:r,"function parameter list")}parseExprList(t,e,s,r){const n=[];let i=!0;for(;!this.eat(t);){if(i)i=!1;else if(this.expect(u.comma),this.match(t)){r&&this.addExtra(r,"trailingComma",this.state.lastTokStart),this.next();break}n.push(this.parseExprListItem(e,s))}return n}parseExprListItem(t,e,s,r){let n;if(t&&this.match(u.comma))n=null;else if(this.match(u.ellipsis)){const t=this.state.start,r=this.state.startLoc;n=this.parseParenItem(this.parseSpread(e,s),t,r)}else if(this.match(u.question)){this.expectPlugin("partialApplication"),r||this.raise(this.state.start,"Unexpected argument placeholder");const t=this.startNode();this.next(),n=this.finishNode(t,"ArgumentPlaceholder")}else n=this.parseMaybeAssign(!1,e,this.parseParenItem,s);return n}parseIdentifier(t){const e=this.startNode(),s=this.parseIdentifierName(e.start,t);return this.createIdentifier(e,s)}createIdentifier(t,e){return t.name=e,t.loc.identifierName=e,this.finishNode(t,"Identifier")}parseIdentifierName(t,e){let s;if(this.match(u.name))s=this.state.value,!e&&this.state.containsEsc&&st(s)&&this.raise(this.state.pos,`Escape sequence in keyword ${s}`);else{if(!this.state.type.keyword)throw this.unexpected();"class"!==(s=this.state.type.keyword)&&"function"!==s||this.state.lastTokEnd===this.state.lastTokStart+1&&46===this.input.charCodeAt(this.state.lastTokStart)||this.state.context.pop()}return e||this.checkReservedWord(s,this.state.start,!!this.state.type.keyword,!1),this.next(),s}checkReservedWord(t,e,s,r){this.scope.inGenerator&&"yield"===t&&this.raise(e,"Can not use 'yield' as identifier inside a generator"),"await"===t&&(this.scope.inAsync?this.raise(e,"Can not use 'await' as identifier inside an async function"):-1===this.state.awaitPos&&(this.state.maybeInArrowParameters||this.isAwaitAllowed())&&(this.state.awaitPos=this.state.start)),this.state.inClassProperty&&"arguments"===t&&this.raise(e,"'arguments' is not allowed in class field initializer"),s&&st(t)&&this.raise(e,`Unexpected keyword '${t}'`),(this.state.strict?r?et:tt:Z)(t,this.inModule)&&(this.scope.inAsync||"await"!==t||this.raise(e,"Can not use keyword 'await' outside an async function"),this.raise(e,`Unexpected reserved word '${t}'`))}isAwaitAllowed(){return this.scope.inFunction?this.scope.inAsync:!!this.options.allowAwaitOutsideFunction}parseAwait(){-1===this.state.awaitPos&&(this.state.awaitPos=this.state.start);const t=this.startNode();return this.next(),this.state.inParameters&&this.raise(t.start,"await is not allowed in async function parameters"),this.match(u.star)&&this.raise(t.start,"await* has been removed from the async functions proposal. Use Promise.all() instead."),this.state.soloAwait||(t.argument=this.parseMaybeUnary()),this.finishNode(t,"AwaitExpression")}parseYield(t){-1===this.state.yieldPos&&(this.state.yieldPos=this.state.start);const e=this.startNode();return this.state.inParameters&&this.raise(e.start,"yield is not allowed in generator parameters"),this.next(),this.match(u.semi)||!this.match(u.star)&&!this.state.type.startsExpr||this.hasPrecedingLineBreak()?(e.delegate=!1,e.argument=null):(e.delegate=this.eat(u.star),e.argument=this.parseMaybeAssign(t)),this.finishNode(e,"YieldExpression")}checkPipelineAtInfixOperator(t,e){if("smart"===this.getPluginOption("pipelineOperator","proposal")&&"SequenceExpression"===t.type)throw this.raise(e,"Pipeline head should not be a comma-separated sequence expression")}parseSmartPipelineBody(t,e,s){const r=this.checkSmartPipelineBodyStyle(t);return this.checkSmartPipelineBodyEarlyErrors(t,r,e),this.parseSmartPipelineBodyInStyle(t,r,e,s)}checkSmartPipelineBodyEarlyErrors(t,e,s){if(this.match(u.arrow))throw this.raise(this.state.start,'Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized');if("PipelineTopicExpression"===e&&"SequenceExpression"===t.type)throw this.raise(s,"Pipeline body may not be a comma-separated sequence expression")}parseSmartPipelineBodyInStyle(t,e,s,r){const n=this.startNodeAt(s,r);switch(e){case"PipelineBareFunction":n.callee=t;break;case"PipelineBareConstructor":n.callee=t.callee;break;case"PipelineBareAwaitedFunction":n.callee=t.argument;break;case"PipelineTopicExpression":if(!this.topicReferenceWasUsedInCurrentTopicContext())throw this.raise(s,"Pipeline is in topic style but does not use topic reference");n.expression=t;break;default:throw this.raise(s,`Unknown pipeline style ${e}`)}return this.finishNode(n,e)}checkSmartPipelineBodyStyle(t){return t.type,this.isSimpleReference(t)?"PipelineBareFunction":"PipelineTopicExpression"}isSimpleReference(t){switch(t.type){case"MemberExpression":return!t.computed&&this.isSimpleReference(t.object);case"Identifier":return!0;default:return!1}}withTopicPermittingContext(t){const e=this.state.topicContext;this.state.topicContext={maxNumOfResolvableTopics:1,maxTopicIndex:null};try{return t()}finally{this.state.topicContext=e}}withTopicForbiddingContext(t){const e=this.state.topicContext;this.state.topicContext={maxNumOfResolvableTopics:0,maxTopicIndex:null};try{return t()}finally{this.state.topicContext=e}}withSoloAwaitPermittingContext(t){const e=this.state.soloAwait;this.state.soloAwait=!0;try{return t()}finally{this.state.soloAwait=e}}registerTopicReference(){this.state.topicContext.maxTopicIndex=0}primaryTopicReferenceIsAllowedInCurrentTopicContext(){return this.state.topicContext.maxNumOfResolvableTopics>=1}topicReferenceWasUsedInCurrentTopicContext(){return null!=this.state.topicContext.maxTopicIndex&&this.state.topicContext.maxTopicIndex>=0}parseFSharpPipelineBody(t,e){const s=this.state.start,r=this.state.startLoc;this.state.potentialArrowAt=this.state.start;const n=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!0;const i=this.parseExprOp(this.parseMaybeUnary(),s,r,t,e);return this.state.inFSharpPipelineDirectBody=n,i}}const ee={kind:"loop"},se={kind:"switch"},re=0,ne=1,ie=2,ae=4;class oe extends te{parseTopLevel(t,e){if(e.sourceType=this.options.sourceType,e.interpreter=this.parseInterpreterDirective(),this.parseBlockBody(e,!0,!0,u.eof),this.inModule&&!this.options.allowUndeclaredExports&&this.scope.undefinedExports.size>0)for(let t=0,e=Array.from(this.scope.undefinedExports);t<e.length;t++){const[s]=e[t],r=this.scope.undefinedExports.get(s);this.raise(r,`Export '${s}' is not defined`)}return t.program=this.finishNode(e,"Program"),t.comments=this.state.comments,this.options.tokens&&(t.tokens=this.state.tokens),this.finishNode(t,"File")}stmtToDirective(t){const e=t.expression,s=this.startNodeAt(e.start,e.loc.start),r=this.startNodeAt(t.start,t.loc.start),n=this.input.slice(e.start,e.end),i=s.value=n.slice(1,-1);return this.addExtra(s,"raw",n),this.addExtra(s,"rawValue",i),r.value=this.finishNodeAt(s,"DirectiveLiteral",e.end,e.loc.end),this.finishNodeAt(r,"Directive",t.end,t.loc.end)}parseInterpreterDirective(){if(!this.match(u.interpreterDirective))return null;const t=this.startNode();return t.value=this.state.value,this.next(),this.finishNode(t,"InterpreterDirective")}isLet(t){if(!this.isContextual("let"))return!1;const e=this.nextTokenStart(),s=this.input.charCodeAt(e);if(91===s)return!0;if(t)return!1;if(123===s)return!0;if(ct(s)){let t=e+1;for(;pt(this.input.charCodeAt(t));)++t;const s=this.input.slice(e,t);if(!rt.test(s))return!0}return!1}parseStatement(t,e){return this.match(u.at)&&this.parseDecorators(!0),this.parseStatementContent(t,e)}parseStatementContent(t,e){let s=this.state.type;const r=this.startNode();let n;switch(this.isLet(t)&&(s=u._var,n="let"),s){case u._break:case u._continue:return this.parseBreakContinueStatement(r,s.keyword);case u._debugger:return this.parseDebuggerStatement(r);case u._do:return this.parseDoStatement(r);case u._for:return this.parseForStatement(r);case u._function:if(46===this.lookaheadCharCode())break;return t&&(this.state.strict?this.raise(this.state.start,"In strict mode code, functions can only be declared at top level or inside a block"):"if"!==t&&"label"!==t&&this.raise(this.state.start,"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement")),this.parseFunctionStatement(r,!1,!t);case u._class:return t&&this.unexpected(),this.parseClass(r,!0);case u._if:return this.parseIfStatement(r);case u._return:return this.parseReturnStatement(r);case u._switch:return this.parseSwitchStatement(r);case u._throw:return this.parseThrowStatement(r);case u._try:return this.parseTryStatement(r);case u._const:case u._var:return n=n||this.state.value,t&&"var"!==n&&this.unexpected(this.state.start,"Lexical declaration cannot appear in a single-statement context"),this.parseVarStatement(r,n);case u._while:return this.parseWhileStatement(r);case u._with:return this.parseWithStatement(r);case u.braceL:return this.parseBlock();case u.semi:return this.parseEmptyStatement(r);case u._export:case u._import:{const t=this.lookaheadCharCode();if(40===t||46===t)break;let n;return this.options.allowImportExportEverywhere||e||this.raise(this.state.start,"'import' and 'export' may only appear at the top level"),this.next(),s===u._import?"ImportDeclaration"!==(n=this.parseImport(r)).type||n.importKind&&"value"!==n.importKind||(this.sawUnambiguousESM=!0):("ExportNamedDeclaration"!==(n=this.parseExport(r)).type||n.exportKind&&"value"!==n.exportKind)&&("ExportAllDeclaration"!==n.type||n.exportKind&&"value"!==n.exportKind)&&"ExportDefaultDeclaration"!==n.type||(this.sawUnambiguousESM=!0),this.assertModuleNodeAllowed(r),n}default:if(this.isAsyncFunction())return t&&this.unexpected(null,"Async functions can only be declared at the top level or inside a block"),this.next(),this.parseFunctionStatement(r,!0,!t)}const i=this.state.value,a=this.parseExpression();return s===u.name&&"Identifier"===a.type&&this.eat(u.colon)?this.parseLabeledStatement(r,i,a,t):this.parseExpressionStatement(r,a)}assertModuleNodeAllowed(t){this.options.allowImportExportEverywhere||this.inModule||this.raise(t.start,"'import' and 'export' may appear only with 'sourceType: \"module\"'",{code:"BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED"})}takeDecorators(t){const e=this.state.decoratorStack[this.state.decoratorStack.length-1];e.length&&(t.decorators=e,this.resetStartLocationFromNode(t,e[0]),this.state.decoratorStack[this.state.decoratorStack.length-1]=[])}canHaveLeadingDecorator(){return this.match(u._class)}parseDecorators(t){const e=this.state.decoratorStack[this.state.decoratorStack.length-1];for(;this.match(u.at);){const t=this.parseDecorator();e.push(t)}this.match(u._export)?(t||this.unexpected(),this.hasPlugin("decorators")&&!this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(this.state.start,"Using the export keyword between a decorator and a class is not allowed. Please use `export @dec class` instead.")):this.canHaveLeadingDecorator()||this.raise(this.state.start,"Leading decorators must be attached to a class declaration")}parseDecorator(){this.expectOnePlugin(["decorators-legacy","decorators"]);const t=this.startNode();if(this.next(),this.hasPlugin("decorators")){this.state.decoratorStack.push([]);const e=this.state.start,s=this.state.startLoc;let r;if(this.eat(u.parenL))r=this.parseExpression(),this.expect(u.parenR);else for(r=this.parseIdentifier(!1);this.eat(u.dot);){const t=this.startNodeAt(e,s);t.object=r,t.property=this.parseIdentifier(!0),t.computed=!1,r=this.finishNode(t,"MemberExpression")}t.expression=this.parseMaybeDecoratorArguments(r),this.state.decoratorStack.pop()}else t.expression=this.parseExprSubscripts();return this.finishNode(t,"Decorator")}parseMaybeDecoratorArguments(t){if(this.eat(u.parenL)){const e=this.startNodeAtNode(t);return e.callee=t,e.arguments=this.parseCallExpressionArguments(u.parenR,!1),this.toReferencedList(e.arguments),this.finishNode(e,"CallExpression")}return t}parseBreakContinueStatement(t,e){const s="break"===e;return this.next(),this.isLineTerminator()?t.label=null:(t.label=this.parseIdentifier(),this.semicolon()),this.verifyBreakContinue(t,e),this.finishNode(t,s?"BreakStatement":"ContinueStatement")}verifyBreakContinue(t,e){const s="break"===e;let r;for(r=0;r<this.state.labels.length;++r){const e=this.state.labels[r];if(null==t.label||e.name===t.label.name){if(null!=e.kind&&(s||"loop"===e.kind))break;if(t.label&&s)break}}r===this.state.labels.length&&this.raise(t.start,"Unsyntactic "+e)}parseDebuggerStatement(t){return this.next(),this.semicolon(),this.finishNode(t,"DebuggerStatement")}parseHeaderExpression(){this.expect(u.parenL);const t=this.parseExpression();return this.expect(u.parenR),t}parseDoStatement(t){return this.next(),this.state.labels.push(ee),t.body=this.withTopicForbiddingContext(()=>this.parseStatement("do")),this.state.labels.pop(),this.expect(u._while),t.test=this.parseHeaderExpression(),this.eat(u.semi),this.finishNode(t,"DoWhileStatement")}parseForStatement(t){this.next(),this.state.labels.push(ee);let e=-1;if((this.scope.inAsync||!this.scope.inFunction&&this.options.allowAwaitOutsideFunction)&&this.eatContextual("await")&&(e=this.state.lastTokStart),this.scope.enter(l),this.expect(u.parenL),this.match(u.semi))return e>-1&&this.unexpected(e),this.parseFor(t,null);const s=this.isLet();if(this.match(u._var)||this.match(u._const)||s){const r=this.startNode(),n=s?"let":this.state.value;return this.next(),this.parseVar(r,!0,n),this.finishNode(r,"VariableDeclaration"),(this.match(u._in)||this.isContextual("of"))&&1===r.declarations.length?this.parseForIn(t,r,e):(e>-1&&this.unexpected(e),this.parseFor(t,r))}const r={start:0},n=this.parseExpression(!0,r);if(this.match(u._in)||this.isContextual("of")){const s=this.isContextual("of")?"for-of statement":"for-in statement";return this.toAssignable(n,void 0,s),this.checkLVal(n,void 0,void 0,s),this.parseForIn(t,n,e)}return r.start&&this.unexpected(r.start),e>-1&&this.unexpected(e),this.parseFor(t,n)}parseFunctionStatement(t,e,s){return this.next(),this.parseFunction(t,ne|(s?0:ie),e)}parseIfStatement(t){return this.next(),t.test=this.parseHeaderExpression(),t.consequent=this.parseStatement("if"),t.alternate=this.eat(u._else)?this.parseStatement("if"):null,this.finishNode(t,"IfStatement")}parseReturnStatement(t){return this.scope.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.state.start,"'return' outside of function"),this.next(),this.isLineTerminator()?t.argument=null:(t.argument=this.parseExpression(),this.semicolon()),this.finishNode(t,"ReturnStatement")}parseSwitchStatement(t){this.next(),t.discriminant=this.parseHeaderExpression();const e=t.cases=[];let s,r;for(this.expect(u.braceL),this.state.labels.push(se),this.scope.enter(l);!this.match(u.braceR);)if(this.match(u._case)||this.match(u._default)){const t=this.match(u._case);s&&this.finishNode(s,"SwitchCase"),e.push(s=this.startNode()),s.consequent=[],this.next(),t?s.test=this.parseExpression():(r&&this.raise(this.state.lastTokStart,"Multiple default clauses"),r=!0,s.test=null),this.expect(u.colon)}else s?s.consequent.push(this.parseStatement(null)):this.unexpected();return this.scope.exit(),s&&this.finishNode(s,"SwitchCase"),this.next(),this.state.labels.pop(),this.finishNode(t,"SwitchStatement")}parseThrowStatement(t){return this.next(),z.test(this.input.slice(this.state.lastTokEnd,this.state.start))&&this.raise(this.state.lastTokEnd,"Illegal newline after throw"),t.argument=this.parseExpression(),this.semicolon(),this.finishNode(t,"ThrowStatement")}parseTryStatement(t){if(this.next(),t.block=this.parseBlock(),t.handler=null,this.match(u._catch)){const e=this.startNode();if(this.next(),this.match(u.parenL)){this.expect(u.parenL),e.param=this.parseBindingAtom();const t="Identifier"===e.param.type;this.scope.enter(t?y:0),this.checkLVal(e.param,N,null,"catch clause"),this.expect(u.parenR)}else e.param=null,this.scope.enter(l);e.body=this.withTopicForbiddingContext(()=>this.parseBlock(!1,!1)),this.scope.exit(),t.handler=this.finishNode(e,"CatchClause")}return t.finalizer=this.eat(u._finally)?this.parseBlock():null,t.handler||t.finalizer||this.raise(t.start,"Missing catch or finally clause"),this.finishNode(t,"TryStatement")}parseVarStatement(t,e){return this.next(),this.parseVar(t,!1,e),this.semicolon(),this.finishNode(t,"VariableDeclaration")}parseWhileStatement(t){return this.next(),t.test=this.parseHeaderExpression(),this.state.labels.push(ee),t.body=this.withTopicForbiddingContext(()=>this.parseStatement("while")),this.state.labels.pop(),this.finishNode(t,"WhileStatement")}parseWithStatement(t){return this.state.strict&&this.raise(this.state.start,"'with' in strict mode"),this.next(),t.object=this.parseHeaderExpression(),t.body=this.withTopicForbiddingContext(()=>this.parseStatement("with")),this.finishNode(t,"WithStatement")}parseEmptyStatement(t){return this.next(),this.finishNode(t,"EmptyStatement")}parseLabeledStatement(t,e,s,r){for(let t=0,r=this.state.labels;t<r.length;t++){r[t].name===e&&this.raise(s.start,`Label '${e}' is already declared`)}const n=this.state.type.isLoop?"loop":this.match(u._switch)?"switch":null;for(let e=this.state.labels.length-1;e>=0;e--){const s=this.state.labels[e];if(s.statementStart!==t.start)break;s.statementStart=this.state.start,s.kind=n}return this.state.labels.push({name:e,kind:n,statementStart:this.state.start}),t.body=this.parseStatement(r?-1===r.indexOf("label")?r+"label":r:"label"),this.state.labels.pop(),t.label=s,this.finishNode(t,"LabeledStatement")}parseExpressionStatement(t,e){return t.expression=e,this.semicolon(),this.finishNode(t,"ExpressionStatement")}parseBlock(t=!1,e=!0){const s=this.startNode();return this.expect(u.braceL),e&&this.scope.enter(l),this.parseBlockBody(s,t,!1,u.braceR),e&&this.scope.exit(),this.finishNode(s,"BlockStatement")}isValidDirective(t){return"ExpressionStatement"===t.type&&"StringLiteral"===t.expression.type&&!t.expression.extra.parenthesized}parseBlockBody(t,e,s,r){const n=t.body=[],i=t.directives=[];this.parseBlockOrModuleBlockBody(n,e?i:void 0,s,r)}parseBlockOrModuleBlockBody(t,e,s,r){let n,i,a=!1;for(;!this.eat(r);){a||!this.state.containsOctal||i||(i=this.state.octalPosition);const r=this.parseStatement(null,s);if(e&&!a&&this.isValidDirective(r)){const t=this.stmtToDirective(r);e.push(t),void 0===n&&"use strict"===t.value.value&&(n=this.state.strict,this.setStrict(!0),i&&this.raise(i,"Octal literal in strict mode"))}else a=!0,t.push(r)}!1===n&&this.setStrict(!1)}parseFor(t,e){return t.init=e,this.expect(u.semi),t.test=this.match(u.semi)?null:this.parseExpression(),this.expect(u.semi),t.update=this.match(u.parenR)?null:this.parseExpression(),this.expect(u.parenR),t.body=this.withTopicForbiddingContext(()=>this.parseStatement("for")),this.scope.exit(),this.state.labels.pop(),this.finishNode(t,"ForStatement")}parseForIn(t,e,s){const r=this.match(u._in);return this.next(),r?s>-1&&this.unexpected(s):t.await=s>-1,"VariableDeclaration"!==e.type||null==e.declarations[0].init||r&&!this.state.strict&&"var"===e.kind&&"Identifier"===e.declarations[0].id.type?"AssignmentPattern"===e.type&&this.raise(e.start,"Invalid left-hand side in for-loop"):this.raise(e.start,`${r?"for-in":"for-of"} loop variable declaration may not have an initializer`),t.left=e,t.right=r?this.parseExpression():this.parseMaybeAssign(),this.expect(u.parenR),t.body=this.withTopicForbiddingContext(()=>this.parseStatement("for")),this.scope.exit(),this.state.labels.pop(),this.finishNode(t,r?"ForInStatement":"ForOfStatement")}parseVar(t,e,s){const r=t.declarations=[],n=this.hasPlugin("typescript");for(t.kind=s;;){const t=this.startNode();if(this.parseVarId(t,s),this.eat(u.eq)?t.init=this.parseMaybeAssign(e):("const"!==s||this.match(u._in)||this.isContextual("of")?"Identifier"===t.id.type||e&&(this.match(u._in)||this.isContextual("of"))||this.raise(this.state.lastTokEnd,"Complex binding patterns require an initialization value"):n||this.unexpected(),t.init=null),r.push(this.finishNode(t,"VariableDeclarator")),!this.eat(u.comma))break}return t}parseVarId(t,e){t.id=this.parseBindingAtom(),this.checkLVal(t.id,"var"===e?j:N,void 0,"variable declaration")}parseFunction(t,e=re,s=!1){const r=e&ne,n=e&ie,i=!(!r||e&ae);this.initFunction(t,s),this.match(u.star)&&n&&this.unexpected(this.state.start,"Generators can only be declared at the top level or inside a block"),t.generator=this.eat(u.star),r&&(t.id=this.parseFunctionId(i));const a=this.state.maybeInArrowParameters,o=this.state.inClassProperty,l=this.state.yieldPos,h=this.state.awaitPos;return this.state.maybeInArrowParameters=!1,this.state.inClassProperty=!1,this.state.yieldPos=-1,this.state.awaitPos=-1,this.scope.enter(b(t.async,t.generator)),r||(t.id=this.parseFunctionId()),this.parseFunctionParams(t),this.withTopicForbiddingContext(()=>{this.parseFunctionBodyAndFinish(t,r?"FunctionDeclaration":"FunctionExpression")}),this.scope.exit(),r&&!n&&this.checkFunctionStatementId(t),this.state.maybeInArrowParameters=a,this.state.inClassProperty=o,this.state.yieldPos=l,this.state.awaitPos=h,t}parseFunctionId(t){return t||this.match(u.name)?this.parseIdentifier():null}parseFunctionParams(t,e){const s=this.state.inParameters;this.state.inParameters=!0,this.expect(u.parenL),t.params=this.parseBindingList(u.parenR,41,!1,e),this.state.inParameters=s,this.checkYieldAwaitInDefaultParams()}checkFunctionStatementId(t){t.id&&this.checkLVal(t.id,this.state.strict||t.generator||t.async?this.scope.treatFunctionsAsVar?j:N:O,null,"function name")}parseClass(t,e,s){this.next(),this.takeDecorators(t);const r=this.state.strict;return this.state.strict=!0,this.parseClassId(t,e,s),this.parseClassSuper(t),t.body=this.parseClassBody(!!t.superClass),this.state.strict=r,this.finishNode(t,e?"ClassDeclaration":"ClassExpression")}isClassProperty(){return this.match(u.eq)||this.match(u.semi)||this.match(u.braceR)}isClassMethod(){return this.match(u.parenL)}isNonstaticConstructor(t){return!(t.computed||t.static||"constructor"!==t.key.name&&"constructor"!==t.key.value)}parseClassBody(t){this.state.classLevel++;const e={hadConstructor:!1};let s=[];const r=this.startNode();return r.body=[],this.expect(u.braceL),this.withTopicForbiddingContext(()=>{for(;!this.eat(u.braceR);){if(this.eat(u.semi)){s.length>0&&this.raise(this.state.lastTokEnd,"Decorators must not be followed by a semicolon");continue}if(this.match(u.at)){s.push(this.parseDecorator());continue}const n=this.startNode();s.length&&(n.decorators=s,this.resetStartLocationFromNode(n,s[0]),s=[]),this.parseClassMember(r,n,e,t),"constructor"===n.kind&&n.decorators&&n.decorators.length>0&&this.raise(n.start,"Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?")}}),s.length&&this.raise(this.state.start,"You have trailing decorators with no method"),this.state.classLevel--,this.finishNode(r,"ClassBody")}parseClassMember(t,e,s,r){let n=!1;const i=this.state.containsEsc;if(this.match(u.name)&&"static"===this.state.value){const s=this.parseIdentifier(!0);if(this.isClassMethod()){const r=e;return r.kind="method",r.computed=!1,r.key=s,r.static=!1,void this.pushClassMethod(t,r,!1,!1,!1,!1)}if(this.isClassProperty()){const r=e;return r.computed=!1,r.key=s,r.static=!1,void t.body.push(this.parseClassProperty(r))}if(i)throw this.unexpected();n=!0}this.parseClassMemberWithIsStatic(t,e,s,n,r)}parseClassMemberWithIsStatic(t,e,s,r,n){const i=e,a=e,o=e,l=e,h=i,c=i;if(e.static=r,this.eat(u.star))return h.kind="method",this.parseClassPropertyName(h),"PrivateName"===h.key.type?void this.pushClassPrivateMethod(t,a,!0,!1):(this.isNonstaticConstructor(i)&&this.raise(i.key.start,"Constructor can't be a generator"),void this.pushClassMethod(t,i,!0,!1,!1,!1));const p=this.state.containsEsc,d=this.parseClassPropertyName(e),f="PrivateName"===d.type,y="Identifier"===d.type;if(this.parsePostMemberNameModifiers(c),this.isClassMethod()){if(h.kind="method",f)return void this.pushClassPrivateMethod(t,a,!1,!1);const e=this.isNonstaticConstructor(i);let r=!1;e&&(i.kind="constructor",i.decorators&&this.raise(i.start,"You can't attach decorators to a class constructor"),s.hadConstructor&&!this.hasPlugin("typescript")&&this.raise(d.start,"Duplicate constructor in the same class"),s.hadConstructor=!0,r=n),this.pushClassMethod(t,i,!1,!1,e,r)}else if(this.isClassProperty())f?this.pushClassPrivateProperty(t,l):this.pushClassProperty(t,o);else if(!y||"async"!==d.name||p||this.isLineTerminator())!y||"get"!==d.name&&"set"!==d.name||p||this.match(u.star)&&this.isLineTerminator()?this.isLineTerminator()?f?this.pushClassPrivateProperty(t,l):this.pushClassProperty(t,o):this.unexpected():(h.kind=d.name,this.parseClassPropertyName(i),"PrivateName"===h.key.type?this.pushClassPrivateMethod(t,a,!1,!1):(this.isNonstaticConstructor(i)&&this.raise(i.key.start,"Constructor can't have get/set modifier"),this.pushClassMethod(t,i,!1,!1,!1,!1)),this.checkGetterSetterParams(i));else{const e=this.eat(u.star);h.kind="method",this.parseClassPropertyName(h),"PrivateName"===h.key.type?this.pushClassPrivateMethod(t,a,e,!0):(this.isNonstaticConstructor(i)&&this.raise(i.key.start,"Constructor can't be an async function"),this.pushClassMethod(t,i,e,!0,!1,!1))}}parseClassPropertyName(t){const e=this.parsePropertyName(t);return t.computed||!t.static||"prototype"!==e.name&&"prototype"!==e.value||this.raise(e.start,"Classes may not have static property named prototype"),"PrivateName"===e.type&&"constructor"===e.id.name&&this.raise(e.start,"Classes may not have a private field named '#constructor'"),e}pushClassProperty(t,e){e.computed||"constructor"!==e.key.name&&"constructor"!==e.key.value||this.raise(e.key.start,"Classes may not have a field named 'constructor'"),t.body.push(this.parseClassProperty(e))}pushClassPrivateProperty(t,e){this.expectPlugin("classPrivateProperties",e.key.start),t.body.push(this.parseClassPrivateProperty(e))}pushClassMethod(t,e,s,r,n,i){t.body.push(this.parseMethod(e,s,r,n,i,"ClassMethod",!0))}pushClassPrivateMethod(t,e,s,r){this.expectPlugin("classPrivateMethods",e.key.start),t.body.push(this.parseMethod(e,s,r,!1,!1,"ClassPrivateMethod",!0))}parsePostMemberNameModifiers(t){}parseAccessModifier(){}parseClassPrivateProperty(t){return this.state.inClassProperty=!0,this.scope.enter(g|v),t.value=this.eat(u.eq)?this.parseMaybeAssign():null,this.semicolon(),this.state.inClassProperty=!1,this.scope.exit(),this.finishNode(t,"ClassPrivateProperty")}parseClassProperty(t){return t.typeAnnotation||this.expectPlugin("classProperties"),this.state.inClassProperty=!0,this.scope.enter(g|v),this.match(u.eq)?(this.expectPlugin("classProperties"),this.next(),t.value=this.parseMaybeAssign()):t.value=null,this.semicolon(),this.state.inClassProperty=!1,this.scope.exit(),this.finishNode(t,"ClassProperty")}parseClassId(t,e,s,r=M){this.match(u.name)?(t.id=this.parseIdentifier(),e&&this.checkLVal(t.id,r,void 0,"class name")):s||!e?t.id=null:this.unexpected(null,"A class name is required")}parseClassSuper(t){t.superClass=this.eat(u._extends)?this.parseExprSubscripts():null}parseExport(t){const e=this.maybeParseExportDefaultSpecifier(t),s=!e||this.eat(u.comma),r=s&&this.eatExportStar(t),n=r&&this.maybeParseExportNamespaceSpecifier(t),i=s&&(!n||this.eat(u.comma)),a=e||r;if(r&&!n)return e&&this.unexpected(),this.parseExportFrom(t,!0),this.finishNode(t,"ExportAllDeclaration");const o=this.maybeParseExportNamedSpecifiers(t);if(e&&s&&!r&&!o||n&&i&&!o)throw this.unexpected(null,u.braceL);let l;if(a||o?(l=!1,this.parseExportFrom(t,a)):l=this.maybeParseExportDeclaration(t),a||o||l)return this.checkExport(t,!0,!1,!!t.source),this.finishNode(t,"ExportNamedDeclaration");if(this.eat(u._default))return t.declaration=this.parseExportDefaultExpression(),this.checkExport(t,!0,!0),this.finishNode(t,"ExportDefaultDeclaration");throw this.unexpected(null,u.braceL)}eatExportStar(t){return this.eat(u.star)}maybeParseExportDefaultSpecifier(t){if(this.isExportDefaultSpecifier()){this.expectPlugin("exportDefaultFrom");const e=this.startNode();return e.exported=this.parseIdentifier(!0),t.specifiers=[this.finishNode(e,"ExportDefaultSpecifier")],!0}return!1}maybeParseExportNamespaceSpecifier(t){if(this.isContextual("as")){t.specifiers||(t.specifiers=[]),this.expectPlugin("exportNamespaceFrom");const e=this.startNodeAt(this.state.lastTokStart,this.state.lastTokStartLoc);return this.next(),e.exported=this.parseIdentifier(!0),t.specifiers.push(this.finishNode(e,"ExportNamespaceSpecifier")),!0}return!1}maybeParseExportNamedSpecifiers(t){return!!this.match(u.braceL)&&(t.specifiers||(t.specifiers=[]),t.specifiers.push(...this.parseExportSpecifiers()),t.source=null,t.declaration=null,!0)}maybeParseExportDeclaration(t){if(this.shouldParseExportDeclaration()){if(this.isContextual("async")){const t=this.nextTokenStart();this.isUnparsedContextual(t,"function")||this.unexpected(t,'Unexpected token, expected "function"')}return t.specifiers=[],t.source=null,t.declaration=this.parseExportDeclaration(t),!0}return!1}isAsyncFunction(){if(!this.isContextual("async"))return!1;const t=this.nextTokenStart();return!z.test(this.input.slice(this.state.pos,t))&&this.isUnparsedContextual(t,"function")}parseExportDefaultExpression(){const t=this.startNode(),e=this.isAsyncFunction();if(this.match(u._function)||e)return this.next(),e&&this.next(),this.parseFunction(t,ne|ae,e);if(this.match(u._class))return this.parseClass(t,!0,!0);if(this.match(u.at))return this.hasPlugin("decorators")&&this.getPluginOption("decorators","decoratorsBeforeExport")&&this.unexpected(this.state.start,"Decorators must be placed *before* the 'export' keyword. You can set the 'decoratorsBeforeExport' option to false to use the 'export @decorator class {}' syntax"),this.parseDecorators(!1),this.parseClass(t,!0,!0);if(this.match(u._const)||this.match(u._var)||this.isLet())return this.raise(this.state.start,"Only expressions, functions or classes are allowed as the `default` export.");{const t=this.parseMaybeAssign();return this.semicolon(),t}}parseExportDeclaration(t){return this.parseStatement(null)}isExportDefaultSpecifier(){if(this.match(u.name))return"async"!==this.state.value&&"let"!==this.state.value;if(!this.match(u._default))return!1;const t=this.nextTokenStart();return 44===this.input.charCodeAt(t)||this.isUnparsedContextual(t,"from")}parseExportFrom(t,e){this.eatContextual("from")?(t.source=this.parseImportSource(),this.checkExport(t)):e?this.unexpected():t.source=null,this.semicolon()}shouldParseExportDeclaration(){if(this.match(u.at)&&(this.expectOnePlugin(["decorators","decorators-legacy"]),this.hasPlugin("decorators"))){if(!this.getPluginOption("decorators","decoratorsBeforeExport"))return!0;this.unexpected(this.state.start,"Decorators must be placed *before* the 'export' keyword. You can set the 'decoratorsBeforeExport' option to false to use the 'export @decorator class {}' syntax")}return"var"===this.state.type.keyword||"const"===this.state.type.keyword||"function"===this.state.type.keyword||"class"===this.state.type.keyword||this.isLet()||this.isAsyncFunction()}checkExport(t,e,s,r){if(e)if(s)this.checkDuplicateExports(t,"default");else if(t.specifiers&&t.specifiers.length)for(let e=0,s=t.specifiers;e<s.length;e++){const t=s[e];this.checkDuplicateExports(t,t.exported.name),!r&&t.local&&(this.checkReservedWord(t.local.name,t.local.start,!0,!1),this.scope.checkLocalExport(t.local))}else if(t.declaration)if("FunctionDeclaration"===t.declaration.type||"ClassDeclaration"===t.declaration.type){const e=t.declaration.id;if(!e)throw new Error("Assertion failure");this.checkDuplicateExports(t,e.name)}else if("VariableDeclaration"===t.declaration.type)for(let e=0,s=t.declaration.declarations;e<s.length;e++){const t=s[e];this.checkDeclaration(t.id)}if(this.state.decoratorStack[this.state.decoratorStack.length-1].length){const e=t.declaration&&("ClassDeclaration"===t.declaration.type||"ClassExpression"===t.declaration.type);if(!t.declaration||!e)throw this.raise(t.start,"You can only use decorators on an export when exporting a class");this.takeDecorators(t.declaration)}}checkDeclaration(t){if("Identifier"===t.type)this.checkDuplicateExports(t,t.name);else if("ObjectPattern"===t.type)for(let e=0,s=t.properties;e<s.length;e++){const t=s[e];this.checkDeclaration(t)}else if("ArrayPattern"===t.type)for(let e=0,s=t.elements;e<s.length;e++){const t=s[e];t&&this.checkDeclaration(t)}else"ObjectProperty"===t.type?this.checkDeclaration(t.value):"RestElement"===t.type?this.checkDeclaration(t.argument):"AssignmentPattern"===t.type&&this.checkDeclaration(t.left)}checkDuplicateExports(t,e){if(this.state.exportedIdentifiers.indexOf(e)>-1)throw this.raise(t.start,"default"===e?"Only one default export allowed per module.":`\`${e}\` has already been exported. Exported identifiers must be unique.`);this.state.exportedIdentifiers.push(e)}parseExportSpecifiers(){const t=[];let e=!0;for(this.expect(u.braceL);!this.eat(u.braceR);){if(e)e=!1;else if(this.expect(u.comma),this.eat(u.braceR))break;const s=this.startNode();s.local=this.parseIdentifier(!0),s.exported=this.eatContextual("as")?this.parseIdentifier(!0):s.local.__clone(),t.push(this.finishNode(s,"ExportSpecifier"))}return t}parseImport(t){if(t.specifiers=[],!this.match(u.string)){const e=!this.maybeParseDefaultImportSpecifier(t)||this.eat(u.comma),s=e&&this.maybeParseStarImportSpecifier(t);e&&!s&&this.parseNamedImportSpecifiers(t),this.expectContextual("from")}return t.source=this.parseImportSource(),this.semicolon(),this.finishNode(t,"ImportDeclaration")}parseImportSource(){return this.match(u.string)||this.unexpected(),this.parseExprAtom()}shouldParseDefaultImport(t){return this.match(u.name)}parseImportSpecifierLocal(t,e,s,r){e.local=this.parseIdentifier(),this.checkLVal(e.local,N,void 0,r),t.specifiers.push(this.finishNode(e,s))}maybeParseDefaultImportSpecifier(t){return!!this.shouldParseDefaultImport(t)&&(this.parseImportSpecifierLocal(t,this.startNode(),"ImportDefaultSpecifier","default import specifier"),!0)}maybeParseStarImportSpecifier(t){if(this.match(u.star)){const e=this.startNode();return this.next(),this.expectContextual("as"),this.parseImportSpecifierLocal(t,e,"ImportNamespaceSpecifier","import namespace specifier"),!0}return!1}parseNamedImportSpecifiers(t){let e=!0;for(this.expect(u.braceL);!this.eat(u.braceR);){if(e)e=!1;else if(this.eat(u.colon)&&this.unexpected(null,"ES2015 named imports do not destructure. Use another statement for destructuring after the import."),this.expect(u.comma),this.eat(u.braceR))break;this.parseImportSpecifier(t)}}parseImportSpecifier(t){const e=this.startNode();e.imported=this.parseIdentifier(!0),this.eatContextual("as")?e.local=this.parseIdentifier():(this.checkReservedWord(e.imported.name,e.start,!0,!0),e.local=e.imported.__clone()),this.checkLVal(e.local,N,void 0,"import specifier"),t.specifiers.push(this.finishNode(e,"ImportSpecifier"))}}class ue extends oe{constructor(t,e){super(t=function(t){const e={};for(let s=0,r=Object.keys(Lt);s<r.length;s++){const n=r[s];e[n]=t&&null!=t[n]?t[n]:Lt[n]}return e}(t),e);const s=this.getScopeHandler();this.options=t,this.inModule="module"===this.options.sourceType,this.scope=new s(this.raise.bind(this),this.inModule),this.plugins=function(t){const e=new Map;for(let s=0;s<t.length;s++){const r=t[s],[n,i]=Array.isArray(r)?r:[r,{}];e.has(n)||e.set(n,i||{})}return e}(this.options.plugins),this.filename=t.sourceFilename}getScopeHandler(){return _t}parse(){this.scope.enter(h);const t=this.startNode(),e=this.startNode();return this.nextToken(),this.parseTopLevel(t,e)}}function le(t,e){let s=ue;return t&&t.plugins&&(!function(t){if(Ct(t,"decorators")){if(Ct(t,"decorators-legacy"))throw new Error("Cannot use the decorators and decorators-legacy plugin together");const e=Mt(t,"decorators","decoratorsBeforeExport");if(null==e)throw new Error("The 'decorators' plugin requires a 'decoratorsBeforeExport' option, whose value must be a boolean. If you are migrating from Babylon/Babel 6 or want to use the old decorators proposal, you should use the 'decorators-legacy' plugin instead of 'decorators'.");if("boolean"!=typeof e)throw new Error("'decoratorsBeforeExport' must be a boolean.")}if(Ct(t,"flow")&&Ct(t,"typescript"))throw new Error("Cannot combine flow and typescript plugins.");if(Ct(t,"placeholders")&&Ct(t,"v8intrinsic"))throw new Error("Cannot combine placeholders and v8intrinsic plugins.");if(Ct(t,"pipelineOperator")&&!Nt.includes(Mt(t,"pipelineOperator","proposal")))throw new Error("'pipelineOperator' requires 'proposal' option whose value should be one of: "+Nt.map(t=>`'${t}'`).join(", "))}(t.plugins),s=function(t){const e=Ot.filter(e=>Ct(t,e)),s=e.join("/");let r=he[s];if(!r){r=ue;for(let t=0;t<e.length;t++){const s=e[t];r=jt[s](r)}he[s]=r}return r}(t.plugins)),new s(t,e)}const he={};e.parse=function(t,e){if(!e||"unambiguous"!==e.sourceType)return le(e,t).parse();e=Object.assign({},e);try{e.sourceType="module";const s=le(e,t),r=s.parse();return s.sawUnambiguousESM||(r.program.sourceType="script"),r}catch(s){try{return e.sourceType="script",le(e,t).parse()}catch(t){}throw s}},e.parseExpression=function(t,e){const s=le(e,t);return s.options.strictMode&&(s.state.strict=!0),s.getExpression()},e.tokTypes=u},function(t,e,s){var r=s(3),n=r.JSON||(r.JSON={stringify:JSON.stringify});t.exports=function(t){return n.stringify.apply(n,arguments)}},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=u(s(2)),n=u(s(16)),i=u(s(0)),a=u(s(1));e.onPluginLoad=function(t){t.eventbus.on("typhonjs:babel:parser:parse",h.parse,h)};var o=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e.default=t,e}(s(219));function u(t){return t&&t.__esModule?t:{default:t}}var l={plugins:["asyncGenerators","bigInt","classProperties","classPrivateProperties","classPrivateMethods",["decorators",{decoratorsBeforeExport:!1}],"doExpressions","dynamicImport","exportDefaultFrom","exportNamespaceFrom","functionBind","functionSent","importMeta","jsx","logicalAssignment","nullishCoalescingOperator","numericSeparator","objectRestSpread","optionalCatchBinding","optionalChaining",["pipelineOperator",{proposal:"minimal"}],"throwExpressions","typescript"]},h=function(){function t(){(0,i.default)(this,t)}return(0,a.default)(t,null,[{key:"parse",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,i=JSON.parse((0,n.default)(l));if("object"===(void 0===s?"undefined":(0,r.default)(s))&&("boolean"==typeof s.decoratorsBeforeExport&&(i.plugins[5][1].decoratorsBeforeExport=s.decoratorsBeforeExport),"boolean"==typeof s.decoratorsLegacy&&s.decoratorsLegacy&&(i.plugins[5]="decorators-legacy"),"string"==typeof s.pipelineOperatorProposal&&(i.plugins[20][1].proposal=s.pipelineOperatorProposal),"boolean"==typeof s.flow&&s.flow)){var a=i.plugins.indexOf("typescript");a>-1&&i.plugins.splice(a,1),i.plugins.push("flow")}return(e="object"===(void 0===e?"undefined":(0,r.default)(e))?e:i).sourceType="string"==typeof e.sourceType?e.sourceType:"unambiguous",o.parse(t,e)}}]),t}();e.default=h},function(t,e,s){var r=s(8);r(r.S+r.F*!s(14),"Object",{defineProperty:s(17).f})},function(t,e,s){s(222);var r=s(3).Object;t.exports=function(t,e,s){return r.defineProperty(t,e,s)}},function(t,e,s){s(64)("observable")},function(t,e,s){s(64)("asyncIterator")},function(t,e,s){var r=s(37),n=s(63),i=s(45);t.exports=function(t){var e=r(t),s=n.f;if(s)for(var a,o=s(t),u=i.f,l=0;o.length>l;)u.call(t,a=o[l++])&&e.push(a);return e}},function(t,e,s){"use strict";var r=s(10),n=s(28),i=s(14),a=s(8),o=s(128),u=s(46).KEY,l=s(29),h=s(73),c=s(35),p=s(47),d=s(12),f=s(65),y=s(64),v=s(226),m=s(113),g=s(18),x=s(13),b=s(26),w=s(27),P=s(76),E=s(39),_=s(49),k=s(112),A=s(62),T=s(63),S=s(17),C=s(37),M=A.f,N=S.f,j=k.f,O=r.Symbol,L=r.JSON,R=L&&L.stringify,I=d("_hidden"),D=d("toPrimitive"),F={}.propertyIsEnumerable,B=h("symbol-registry"),q=h("symbols"),U=h("op-symbols"),V=Object.prototype,z="function"==typeof O&&!!T.f,H=r.QObject,J=!H||!H.prototype||!H.prototype.findChild,W=i&&l(function(){return 7!=_(N({},"a",{get:function(){return N(this,"a",{value:7}).a}})).a})?function(t,e,s){var r=M(V,e);r&&delete V[e],N(t,e,s),r&&t!==V&&N(V,e,r)}:N,K=function(t){var e=q[t]=_(O.prototype);return e._k=t,e},G=z&&"symbol"==typeof O.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof O},$=function(t,e,s){return t===V&&$(U,e,s),g(t),e=P(e,!0),g(s),n(q,e)?(s.enumerable?(n(t,I)&&t[I][e]&&(t[I][e]=!1),s=_(s,{enumerable:E(0,!1)})):(n(t,I)||N(t,I,E(1,{})),t[I][e]=!0),W(t,e,s)):N(t,e,s)},X=function(t,e){g(t);for(var s,r=v(e=w(e)),n=0,i=r.length;i>n;)$(t,s=r[n++],e[s]);return t},Y=function(t){var e=F.call(this,t=P(t,!0));return!(this===V&&n(q,t)&&!n(U,t))&&(!(e||!n(this,t)||!n(q,t)||n(this,I)&&this[I][t])||e)},Q=function(t,e){if(t=w(t),e=P(e,!0),t!==V||!n(q,e)||n(U,e)){var s=M(t,e);return!s||!n(q,e)||n(t,I)&&t[I][e]||(s.enumerable=!0),s}},Z=function(t){for(var e,s=j(w(t)),r=[],i=0;s.length>i;)n(q,e=s[i++])||e==I||e==u||r.push(e);return r},tt=function(t){for(var e,s=t===V,r=j(s?U:w(t)),i=[],a=0;r.length>a;)!n(q,e=r[a++])||s&&!n(V,e)||i.push(q[e]);return i};z||(o((O=function(){if(this instanceof O)throw TypeError("Symbol is not a constructor!");var t=p(arguments.length>0?arguments[0]:void 0),e=function(s){this===V&&e.call(U,s),n(this,I)&&n(this[I],t)&&(this[I][t]=!1),W(this,t,E(1,s))};return i&&J&&W(V,t,{configurable:!0,set:e}),K(t)}).prototype,"toString",function(){return this._k}),A.f=Q,S.f=$,s(111).f=k.f=Z,s(45).f=Y,T.f=tt,i&&!s(41)&&o(V,"propertyIsEnumerable",Y,!0),f.f=function(t){return K(d(t))}),a(a.G+a.W+a.F*!z,{Symbol:O});for(var et="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),st=0;et.length>st;)d(et[st++]);for(var rt=C(d.store),nt=0;rt.length>nt;)y(rt[nt++]);a(a.S+a.F*!z,"Symbol",{for:function(t){return n(B,t+="")?B[t]:B[t]=O(t)},keyFor:function(t){if(!G(t))throw TypeError(t+" is not a symbol!");for(var e in B)if(B[e]===t)return e},useSetter:function(){J=!0},useSimple:function(){J=!1}}),a(a.S+a.F*!z,"Object",{create:function(t,e){return void 0===e?_(t):X(_(t),e)},defineProperty:$,defineProperties:X,getOwnPropertyDescriptor:Q,getOwnPropertyNames:Z,getOwnPropertySymbols:tt});var it=l(function(){T.f(1)});a(a.S+a.F*it,"Object",{getOwnPropertySymbols:function(t){return T.f(b(t))}}),L&&a(a.S+a.F*(!z||l(function(){var t=O();return"[null]"!=R([t])||"{}"!=R({a:t})||"{}"!=R(Object(t))})),"JSON",{stringify:function(t){for(var e,s,r=[t],n=1;arguments.length>n;)r.push(arguments[n++]);if(s=e=r[1],(x(e)||void 0!==t)&&!G(t))return m(e)||(e=function(t,e){if("function"==typeof s&&(e=s.call(this,t,e)),!G(e))return e}),r[1]=e,R.apply(L,r)}}),O.prototype[D]||s(24)(O.prototype,D,O.prototype.valueOf),c(O,"Symbol"),c(Math,"Math",!0),c(r.JSON,"JSON",!0)},function(t,e,s){s(227),s(50),s(225),s(224),t.exports=s(3).Symbol},function(t,e,s){s(30),s(34),t.exports=s(65).f("iterator")},function(t,e,s){"use strict";var r=s(8),n=s(68),i=s(118);r(r.S,"Promise",{try:function(t){var e=n.f(this),s=i(t);return(s.e?e.reject:e.resolve)(s.v),e.promise}})},function(t,e,s){"use strict";var r=s(8),n=s(3),i=s(10),a=s(120),o=s(117);r(r.P+r.R,"Promise",{finally:function(t){var e=a(this,n.Promise||i.Promise),s="function"==typeof t;return this.then(s?function(s){return o(e,t()).then(function(){return s})}:t,s?function(s){return o(e,t()).then(function(){throw s})}:t)}})},function(t,e,s){var r=s(10).navigator;t.exports=r&&r.userAgent||""},function(t,e,s){var r=s(10),n=s(119).set,i=r.MutationObserver||r.WebKitMutationObserver,a=r.process,o=r.Promise,u="process"==s(36)(a);t.exports=function(){var t,e,s,l=function(){var r,n;for(u&&(r=a.domain)&&r.exit();t;){n=t.fn,t=t.next;try{n()}catch(r){throw t?s():e=void 0,r}}e=void 0,r&&r.enter()};if(u)s=function(){a.nextTick(l)};else if(!i||r.navigator&&r.navigator.standalone)if(o&&o.resolve){var h=o.resolve(void 0);s=function(){h.then(l)}}else s=function(){n.call(r,l)};else{var c=!0,p=document.createTextNode("");new i(l).observe(p,{characterData:!0}),s=function(){p.data=c=!c}}return function(r){var n={fn:r,next:void 0};e&&(e.next=n),t||(t=n,s()),e=n}}},function(t,e){t.exports=function(t,e,s){var r=void 0===s;switch(e.length){case 0:return r?t():t.call(s);case 1:return r?t(e[0]):t.call(s,e[0]);case 2:return r?t(e[0],e[1]):t.call(s,e[0],e[1]);case 3:return r?t(e[0],e[1],e[2]):t.call(s,e[0],e[1],e[2]);case 4:return r?t(e[0],e[1],e[2],e[3]):t.call(s,e[0],e[1],e[2],e[3])}return t.apply(s,e)}},function(t,e,s){"use strict";var r,n,i,a,o=s(41),u=s(10),l=s(20),h=s(71),c=s(8),p=s(13),d=s(40),f=s(70),y=s(33),v=s(120),m=s(119).set,g=s(233)(),x=s(68),b=s(118),w=s(232),P=s(117),E=u.TypeError,_=u.process,k=_&&_.versions,A=k&&k.v8||"",T=u.Promise,S="process"==h(_),C=function(){},M=n=x.f,N=!!function(){try{var t=T.resolve(1),e=(t.constructor={})[s(12)("species")]=function(t){t(C,C)};return(S||"function"==typeof PromiseRejectionEvent)&&t.then(C)instanceof e&&0!==A.indexOf("6.6")&&-1===w.indexOf("Chrome/66")}catch(t){}}(),j=function(t){var e;return!(!p(t)||"function"!=typeof(e=t.then))&&e},O=function(t,e){if(!t._n){t._n=!0;var s=t._c;g(function(){for(var r=t._v,n=1==t._s,i=0,a=function(e){var s,i,a,o=n?e.ok:e.fail,u=e.resolve,l=e.reject,h=e.domain;try{o?(n||(2==t._h&&I(t),t._h=1),!0===o?s=r:(h&&h.enter(),s=o(r),h&&(h.exit(),a=!0)),s===e.promise?l(E("Promise-chain cycle")):(i=j(s))?i.call(s,u,l):u(s)):l(r)}catch(t){h&&!a&&h.exit(),l(t)}};s.length>i;)a(s[i++]);t._c=[],t._n=!1,e&&!t._h&&L(t)})}},L=function(t){m.call(u,function(){var e,s,r,n=t._v,i=R(t);if(i&&(e=b(function(){S?_.emit("unhandledRejection",n,t):(s=u.onunhandledrejection)?s({promise:t,reason:n}):(r=u.console)&&r.error&&r.error("Unhandled promise rejection",n)}),t._h=S||R(t)?2:1),t._a=void 0,i&&e.e)throw e.v})},R=function(t){return 1!==t._h&&0===(t._a||t._c).length},I=function(t){m.call(u,function(){var e;S?_.emit("rejectionHandled",t):(e=u.onrejectionhandled)&&e({promise:t,reason:t._v})})},D=function(t){var e=this;e._d||(e._d=!0,(e=e._w||e)._v=t,e._s=2,e._a||(e._a=e._c.slice()),O(e,!0))},F=function(t){var e,s=this;if(!s._d){s._d=!0,s=s._w||s;try{if(s===t)throw E("Promise can't be resolved itself");(e=j(t))?g(function(){var r={_w:s,_d:!1};try{e.call(t,l(F,r,1),l(D,r,1))}catch(t){D.call(r,t)}}):(s._v=t,s._s=1,O(s,!1))}catch(t){D.call({_w:s,_d:!1},t)}}};N||(T=function(t){f(this,T,"Promise","_h"),d(t),r.call(this);try{t(l(F,this,1),l(D,this,1))}catch(t){D.call(this,t)}},(r=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=s(67)(T.prototype,{then:function(t,e){var s=M(v(this,T));return s.ok="function"!=typeof t||t,s.fail="function"==typeof e&&e,s.domain=S?_.domain:void 0,this._c.push(s),this._a&&this._a.push(s),this._s&&O(this,!1),s.promise},catch:function(t){return this.then(void 0,t)}}),i=function(){var t=new r;this.promise=t,this.resolve=l(F,t,1),this.reject=l(D,t,1)},x.f=M=function(t){return t===T||t===a?new i(t):n(t)}),c(c.G+c.W+c.F*!N,{Promise:T}),s(35)(T,"Promise"),s(116)("Promise"),a=s(3).Promise,c(c.S+c.F*!N,"Promise",{reject:function(t){var e=M(this);return(0,e.reject)(t),e.promise}}),c(c.S+c.F*(o||!N),"Promise",{resolve:function(t){return P(o&&this===a?T:this,t)}}),c(c.S+c.F*!(N&&s(115)(function(t){T.all(t).catch(C)})),"Promise",{all:function(t){var e=this,s=M(e),r=s.resolve,n=s.reject,i=b(function(){var s=[],i=0,a=1;y(t,!1,function(t){var o=i++,u=!1;s.push(void 0),a++,e.resolve(t).then(function(t){u||(u=!0,s[o]=t,--a||r(s))},n)}),--a||r(s)});return i.e&&n(i.v),s.promise},race:function(t){var e=this,s=M(e),r=s.reject,n=b(function(){y(t,!1,function(t){e.resolve(t).then(s.resolve,r)})});return n.e&&r(n.v),s.promise}})},function(t,e){t.exports=function(){}},function(t,e,s){"use strict";var r=s(236),n=s(123),i=s(38),a=s(27);t.exports=s(78)(Array,"Array",function(t,e){this._t=a(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,s=this._i++;return!t||s>=t.length?(this._t=void 0,n(1)):n(0,"keys"==e?s:"values"==e?t[s]:[s,t[s]])},"values"),i.Arguments=i.Array,r("keys"),r("values"),r("entries")},function(t,e,s){var r=s(80),n=Math.max,i=Math.min;t.exports=function(t,e){return(t=r(t))<0?n(t+e,0):i(t,e)}},function(t,e,s){var r=s(27),n=s(48),i=s(238);t.exports=function(t){return function(e,s,a){var o,u=r(e),l=n(u.length),h=i(a,l);if(t&&s!=s){for(;l>h;)if((o=u[h++])!=o)return!0}else for(;l>h;h++)if((t||h in u)&&u[h]===s)return t||h||0;return!t&&-1}}},function(t,e,s){"use strict";var r=s(49),n=s(39),i=s(35),a={};s(24)(a,s(12)("iterator"),function(){return this}),t.exports=function(t,e,s){t.prototype=r(a,{next:n(1,s)}),i(t,e+" Iterator")}},function(t,e,s){var r=s(80),n=s(79);t.exports=function(t){return function(e,s){var i,a,o=String(n(e)),u=r(s),l=o.length;return u<0||u>=l?t?"":void 0:(i=o.charCodeAt(u))<55296||i>56319||u+1===l||(a=o.charCodeAt(u+1))<56320||a>57343?t?o.charAt(u):i:t?o.slice(u,u+2):a-56320+(i-55296<<10)+65536}}},function(t,e,s){s(50),s(30),s(34),s(235),s(231),s(230),t.exports=s(3).Promise},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=c(s(31)),n=c(s(2)),i=c(s(0)),a=c(s(1)),o=c(s(109)),u=c(s(221)),l=c(s(108)),h=c(s(136));function c(t){return t&&t.__esModule?t:{default:t}}var p=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if((0,i.default)(this,t),"object"!==(void 0===e?"undefined":(0,n.default)(e)))throw new TypeError("ctor error: 'options' is not an 'object'.");this._escomplexModule=new l.default(e.module),this._escomplexProject=new h.default(o.default,e)}return(0,a.default)(t,[{key:"analyzeModule",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0;if("string"!=typeof t)throw new TypeError("analyze error: 'source' is not a 'string'.");return this._escomplexModule.analyze(u.default.parse(t,s,r),e)}},{key:"analyzeModuleAST",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this._escomplexModule.analyze(t,e)}},{key:"analyzeProject",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0,n=t.map(function(t){try{return{ast:u.default.parse(t.code,s,r),filePath:t.filePath,srcPath:t.srcPath,srcPathAlias:t.srcPathAlias}}catch(s){if(e.ignoreErrors)return null;throw s.message=t.path+": "+s.message,s}}).filter(function(t){return!!t});return this._escomplexProject.analyze(n,e)}},{key:"analyzeProjectAST",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this._escomplexProject.analyze(t,e)}},{key:"parse",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;return u.default.parse(t,e,s)}},{key:"processProject",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this._escomplexProject.process(t,e)}},{key:"analyzeModuleAsync",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0;return new r.default(function(r,a){try{r(s.analyzeModule(t,e,n,i))}catch(t){a(t)}})}},{key:"analyzeModuleASTAsync",value:function(t){var e=this,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new r.default(function(r,n){try{r(e.analyzeModuleAST(t,s))}catch(t){n(t)}})}},{key:"analyzeProjectAsync",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0;return new r.default(function(r,a){try{r(s.analyzeProject(t,e,n,i))}catch(t){a(t)}})}},{key:"analyzeProjectASTAsync",value:function(t){var e=this,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new r.default(function(r,n){try{r(e.analyzeProjectAST(t,s))}catch(t){n(t)}})}},{key:"parseAsync",value:function(t){var e=this,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;return new r.default(function(r,i){try{r(e.parse(t,s,n))}catch(t){i(t)}})}},{key:"processProjectAsync",value:function(t){var e=this,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new r.default(function(r,n){try{r(e.processProject(t,s))}catch(t){n(t)}})}}]),t}();e.default=p,t.exports=e.default},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,n=s(243),i=(r=n)&&r.__esModule?r:{default:r};e.default=new i.default,t.exports=e.default},function(t,e){t.exports=require("fs")},function(t,e,s){const r=s(245),n=s(244),i=process.argv[2];try{const t=n.analyzeModule(r.readFileSync(i).toString()),e={};t.methods.forEach(t=>{e[t.name]=t.cyclomatic}),console.log(JSON.stringify([t.aggregate.cyclomatic,e]))}catch(t){console.log([0,{}])}},function(t,e,s){t.exports=s(246)}]);
@@ -1,7 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'attractor/version'
4
- require 'attractor/calculator'
4
+ require 'attractor/calculators/base_calculator'
5
+ require 'attractor/calculators/ruby_calculator'
6
+ require 'attractor/calculators/js_calculator'
5
7
  require 'attractor/reporters/base_reporter'
6
8
  require 'attractor/reporters/console_reporter'
7
9
  require 'attractor/reporters/html_reporter'
@@ -11,5 +13,17 @@ require 'attractor/watcher'
11
13
 
12
14
  module Attractor
13
15
  class Error < StandardError; end
14
- # Your code goes here...
16
+
17
+ def calculators_for_type(type, file_prefix)
18
+ case type
19
+ when 'js'
20
+ { 'js' => JsCalculator.new(file_prefix: file_prefix) }
21
+ when 'rb'
22
+ { 'rb' => RubyCalculator.new(file_prefix: file_prefix) }
23
+ else
24
+ { 'rb' => RubyCalculator.new(file_prefix: file_prefix), 'js' => JsCalculator.new(file_prefix: file_prefix)}
25
+ end
26
+ end
27
+
28
+ module_function :calculators_for_type
15
29
  end
@@ -1,20 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'churn/calculator'
4
- require 'csv'
5
- require 'date'
6
- require 'flog'
7
- require 'listen'
8
4
 
9
5
  require 'attractor/value'
10
6
 
11
7
  module Attractor
12
8
  # calculates churn and complexity
13
- class Calculator
14
- def initialize(file_prefix: '')
9
+ class BaseCalculator
10
+ def initialize(file_prefix: '', file_extension: 'rb', minimum_churn_count: 3)
15
11
  @file_prefix = file_prefix
16
- @file_extension = 'rb'
17
- @minimum_churn_count = 3
12
+ @file_extension = file_extension
13
+ @minimum_churn_count = minimum_churn_count
18
14
  end
19
15
 
20
16
  def calculate
@@ -26,10 +22,7 @@ module Attractor
26
22
  ).report(false)
27
23
 
28
24
  churn[:churn][:changes].map do |change|
29
- flogger = Flog.new(all: true)
30
- flogger.flog(change[:file_path])
31
- complexity = flogger.total_score
32
- details = flogger.totals
25
+ complexity, details = yield(change)
33
26
  Value.new(file_path: change[:file_path],
34
27
  churn: change[:times_changed],
35
28
  complexity: complexity,
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Attractor
4
+ class JsCalculator < BaseCalculator
5
+ def initialize(file_prefix: '', minimum_churn_count: 3)
6
+ super(file_prefix: file_prefix, file_extension: '(js|jsx)', minimum_churn_count: minimum_churn_count)
7
+ end
8
+
9
+ def calculate
10
+ super do |change|
11
+ complexity, details = JSON.parse(`node #{__dir__}/../../../dist/calculator.bundle.js #{Dir.pwd}/#{change[:file_path]}`)
12
+
13
+ [complexity, details]
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'flog'
4
+
5
+ module Attractor
6
+ class RubyCalculator < BaseCalculator
7
+ def initialize(file_prefix: '', minimum_churn_count: 3)
8
+ super(file_prefix: file_prefix, file_extension: 'rb', minimum_churn_count: minimum_churn_count)
9
+ end
10
+
11
+ def calculate
12
+ super do |change|
13
+ flogger = Flog.new(all: true)
14
+ flogger.flog(change[:file_path])
15
+ complexity = flogger.total_score
16
+ details = flogger.totals
17
+ [complexity, details]
18
+ end
19
+ end
20
+ end
21
+ end
@@ -10,47 +10,60 @@ module Attractor
10
10
  desc 'calc', 'Calculates churn and complexity for all ruby files in current directory'
11
11
  option :file_prefix, aliases: :p
12
12
  option :watch, aliases: :w, type: :boolean
13
+ option :type, aliases: :t
13
14
  def calc
15
+ file_prefix = options[:file_prefix]
16
+ calculators = Attractor.calculators_for_type(options[:type], file_prefix)
14
17
  if options[:watch]
15
18
  puts 'Listening for file changes...'
16
- Attractor::ConsoleReporter.new(file_prefix: options[:file_prefix]).watch
19
+ Attractor::ConsoleReporter.new(file_prefix: file_prefix, calculators: calculators).watch
17
20
  else
18
- Attractor::ConsoleReporter.new(file_prefix: options[:file_prefix]).report
21
+ Attractor::ConsoleReporter.new(file_prefix: file_prefix, calculators: calculators).report
19
22
  end
23
+ rescue RuntimeError => e
24
+ puts "Runtime error: #{e.message}"
20
25
  end
21
26
 
22
27
  desc 'report', 'Generates an HTML report'
23
28
  option :format, aliases: :f, default: 'html'
24
29
  option :file_prefix, aliases: :p
25
30
  option :watch, aliases: :w, type: :boolean
31
+ option :type, aliases: :t
26
32
  def report
33
+ file_prefix = options[:file_prefix]
34
+ calculators = Attractor.calculators_for_type(options[:type], file_prefix)
27
35
  if options[:watch]
28
36
  puts 'Listening for file changes...'
29
- Attractor::HtmlReporter.new(file_prefix: options[:file_prefix]).watch
37
+ Attractor::HtmlReporter.new(file_prefix: file_prefix, calculators: calculators).watch
30
38
  else
31
39
  case options[:format]
32
40
  when 'html'
33
- Attractor::HtmlReporter.new(file_prefix: options[:file_prefix]).report
41
+ Attractor::HtmlReporter.new(file_prefix: file_prefix, calculators: calculators).report
34
42
  else
35
- Attractor::HtmlReporter.new(file_prefix: options[:file_prefix]).report
43
+ Attractor::HtmlReporter.new(file_prefix: file_prefix, calculators: calculators).report
36
44
  end
37
45
  end
46
+ rescue RuntimeError => e
47
+ puts "Runtime error: #{e.message}"
38
48
  end
39
49
 
40
50
  desc 'serve', 'Serves the report on localhost'
41
51
  option :format, aliases: :f, default: 'html'
42
52
  option :file_prefix, aliases: :p
43
53
  option :watch, aliases: :w, type: :boolean
54
+ option :type, aliases: :t
44
55
  def serve
56
+ file_prefix = options[:file_prefix]
57
+ calculators = Attractor.calculators_for_type(options[:type], file_prefix)
45
58
  if options[:watch]
46
59
  puts 'Listening for file changes...'
47
- Attractor::SinatraReporter.new(file_prefix: options[:file_prefix]).watch
60
+ Attractor::SinatraReporter.new(file_prefix: file_prefix, calculators: calculators).watch
48
61
  else
49
62
  case options[:format]
50
63
  when 'html'
51
- Attractor::SinatraReporter.new(file_prefix: options[:file_prefix]).report
64
+ Attractor::SinatraReporter.new(file_prefix: file_prefix, calculators: calculators).report
52
65
  else
53
- Attractor::SinatraReporter.new(file_prefix: options[:file_prefix]).report
66
+ Attractor::SinatraReporter.new(file_prefix: file_prefix, calculators: calculators).report
54
67
  end
55
68
  end
56
69
  end
@@ -12,15 +12,17 @@ module Attractor
12
12
  attr_accessor :values, :file_prefix
13
13
  def_delegator :@watcher, :watch
14
14
 
15
- def initialize(file_prefix: '')
15
+ def initialize(file_prefix: '', calculators:)
16
16
  @file_prefix = file_prefix
17
- @calculator = Calculator.new(file_prefix: file_prefix)
18
- @values = @calculator.calculate
17
+ @calculators = calculators
18
+ @values = @calculators.first.last.calculate
19
19
  @suggester = Suggester.new(values)
20
20
 
21
21
  @watcher = Watcher.new(file_prefix, lambda do
22
22
  report
23
23
  end)
24
+ rescue NoMethodError => e
25
+ raise 'There was a problem gathering churn changes'
24
26
  end
25
27
 
26
28
  def suggestions(quantile)
@@ -10,11 +10,11 @@ module Attractor
10
10
  puts "file_path#{' ' * 53}complexity churn"
11
11
  puts '-' * 80
12
12
 
13
- puts @values.map(&:to_s)
13
+ puts @values&.map(&:to_s)
14
14
 
15
15
  puts
16
16
  puts 'Suggestions for refactorings:'
17
- @suggestions.each { |sug| puts sug.file_path }
17
+ @suggestions&.each { |sug| puts sug.file_path }
18
18
  puts
19
19
  end
20
20
  end
@@ -15,6 +15,7 @@ module Attractor
15
15
 
16
16
  enable :static
17
17
  set :public_folder, File.expand_path('../../../app/assets', __dir__)
18
+ set :show_exceptions, :after_handler
18
19
 
19
20
  get '/' do
20
21
  erb File.read(File.expand_path('../../../app/views/index.html.erb', __dir__))
@@ -25,13 +26,18 @@ module Attractor
25
26
  end
26
27
 
27
28
  get '/values' do
28
- @reporter.values.to_json
29
+ type = params[:type] || 'rb'
30
+ @reporter.values(type: type).to_json
29
31
  end
30
32
 
31
33
  get '/suggestions' do
32
34
  threshold = params[:t] || 95
33
35
  @reporter.suggestions(threshold).to_json
34
36
  end
37
+
38
+ error NoMethodError do
39
+ { error: env['sinatra.error'].message }.to_json
40
+ end
35
41
  end
36
42
 
37
43
  # serving the HTML locally
@@ -57,5 +63,10 @@ module Attractor
57
63
 
58
64
  Rack::Handler::WEBrick.run Rack::LiveReload.new(app), Port: 7890
59
65
  end
66
+
67
+ def values(type: 'rb')
68
+ @values = @calculators[type].calculate
69
+ @values
70
+ end
60
71
  end
61
72
  end