[]
Ahh the Nvidia GeForce RTX 4080 (opens in new tab). It’s a very good graphics card that delivers an excellent generational performance uplift, very good power efficiency and unique features such as DLSS 3. All good things right? But it’s too expensive.
A wise old reviewer once wrote: “There are no bad graphics cards, only bad prices.” That sums up the RTX 4080 in a nutshell. But while pricing can vary over time, the characteristics of the card stay the same. Assuming the price of RTX 4080 drops—and with perhaps two years of shelf life ahead of it, it surely will—then the RTX 4080 may end up being a gem. Time will tell.
Here today I have MSI’s GeForce RTX 4080 Suprim X, and what a beauty it is. At $1,379 | £1,359 | AU$2,449 it’s one of the pricier RTX 4080s at the time of writing, though for the extra money over the Founders Edition, you get a card that is markedly superior. Interestingly, the price of the card has dropped a little in the UK and AU markets in the weeks since its launch, and stock seems to be widely available. It’s clear we’re not dealing with anything like the mining boom scarcity we all hated. It surely points toward downwards price pressure as we move further into 2023. Fingers crossed.
The Suprim X, like all other RTX 4080s, contains the excellent TSMC built 4N AD103 GPU at its heart. It has 9,728 out of a possible 10,752 cores available, leaving Nvidia with an option to release an almost inevitable RTX 4080 Ti in the future. It delivers much better power efficiency than its RTX 3080 (opens in new tab) predecessor, which contained the much larger GA102 GPU. The RTX 4080 packs in 64MB of L2 cache vs. the 5MB of the RTX 3080. A next generation GPU is expected to have a better feature set, and with 16GB of GDDR6X memory, improved ray tracing and the voodoo of the excellent DLSS 3, a 320W TDP, and immense cooling capacity, the RTX 4080 Suprim X ticks all those boxes.
That 320W TDP is particularly noteworthy, giving it performance per watt that’s vastly superior to the RTX 3080, RTX 3090 (opens in new tab), and their Ti siblings. It makes a mockery of the rumor mongers pointing to ridiculous TDPs in the period prior to the launch. It’s an outstanding GPU, but did I mention it’s too expensive? Yes. Yes I did, and I probably will again.
MSI GeForce RTX 4080 Suprim X specs
The MSI GeForce RTX 4080 Suprim X is MSI’s flagship RTX 4080. It sits above MSI’s Gaming Trio and Ventus models. For the extra money, you get a more premium design, superior materials, build quality, and a slightly higher factory overclock. It’s worth mentioning that MSI includes a very sturdy metal GPU holder to prevent sag, and a good quality mouse pad.
RTX 4080 Suprim X specs

(Image credit: Future)
GPU: Nvidia AD103-300-A1
Shader Units: 9,728
Boost clock speed: 2,625MHz
Memory capacity: 16GB GDDR6X
Memory speed: 22.4Gbps
Outputs: 3x DisplayPort 1.4a, 1x HDMI 2.1
Power connectors: 1x 16-pin
Price: $1,379| £1,359 | AU$2,449
The Suprim X’s officially rated boost clock is 2,625MHz, though you can get an extra 15MHz on top of that via the MSI Center app. As is often the case though, Nvidia’s rated boost clocks don’t mean a whole lot in practice. In our testing, the card was able to hold a boost clock of 2,745MHz while looping 3DMark Speedway.
The finish of the card is stunning. Looks are in the eye of the beholder, but I believe it to be the best looking of all RTX 4080 cards. It’s got some RGB as you’d expect, and it’s a very tasteful implementation. There are three small elements adjacent to the fans, one at the top facing the outside of the case and a logo on the backplate.
The card is surrounded by a brushed metal shroud and backplate. MSI smartly left the sides of the card relatively free from obstruction, allowing hot air to vent out effectively. It’s a big card too, taking up close enough to four slots.
Like most 4080s, it comes with three DisplayPort 1.4a and one HDMI 2.1 port. Ada Lovelace cards miss out on DisplayPort 2.0/2.1. You also get dual BIOS, with silent and gaming options, though there’s little need to use the silent option when the default setting is basically silent anyway. A single 12VHPWR connector provides the juice, with MSI bundling a 3×8-pin power adapter.
{ window.reliableDOMContentLoaded.then(() => { var componentContainer = document.querySelector(“#slice-container-imageGallery-7”); if(componentContainer) { var data = {“galleryData”:[{“title”:””,”description”:[],”image”:{“id”:”PmfaYkQ3tDw4Krrb3Jh3Uo”,”name”:”PXL_20230103_230120288.jpg”,”credit”:{“text”:”(Image credit: {subject})”,”subject”:”Future”},”src”:”https://cdn.mos.cms.futurecdn.net/PmfaYkQ3tDw4Krrb3Jh3Uo.jpg”,”alt”:”MSI GeForce RTX 4080 Suprim X graphics card”,”width”:1280,”height”:720,”srcSetSizes”:[320,480,650,970,1024,1200],”sizes”:{“default”:”calc(100vw – 40px)”,”1000px”:”970px”},”fullscreen”:false,”lazyLoading”:true,”addSEOMetaData”:false,”eager”:false,”removeNativeWidthRestriction”:false}},{“title”:””,”description”:[],”image”:{“id”:”bakXC4aBmgdPygtFQKkeG7″,”name”:”PXL_20230103_225742915.jpg”,”credit”:{“text”:”(Image credit: {subject})”,”subject”:”Future”},”src”:”https://cdn.mos.cms.futurecdn.net/bakXC4aBmgdPygtFQKkeG7.jpg”,”alt”:”MSI GeForce RTX 4080 Suprim X box”,”width”:1280,”height”:720,”srcSetSizes”:[320,480,650,970,1024,1200],”sizes”:{“default”:”calc(100vw – 40px)”,”1000px”:”970px”},”fullscreen”:false,”lazyLoading”:true,”addSEOMetaData”:false,”eager”:false,”removeNativeWidthRestriction”:false}},{“title”:””,”description”:[],”image”:{“id”:”KY7UW6XHrvDyoFQrtF6ir9″,”name”:”PXL_20230103_230212121.jpg”,”credit”:{“text”:”(Image credit: {subject})”,”subject”:”Future”},”src”:”https://cdn.mos.cms.futurecdn.net/KY7UW6XHrvDyoFQrtF6ir9.jpg”,”alt”:”MSI GeForce RTX 4080 Suprim X video outputs”,”width”:1280,”height”:720,”srcSetSizes”:[320,480,650,970,1024,1200],”sizes”:{“default”:”calc(100vw – 40px)”,”1000px”:”970px”},”fullscreen”:false,”lazyLoading”:true,”addSEOMetaData”:false,”eager”:false,”removeNativeWidthRestriction”:false}},{“title”:””,”description”:[],”image”:{“id”:”KFhUc88xAJYaXwQzW7SVuC”,”name”:”PXL_20230103_230246025.jpg”,”credit”:{“text”:”(Image credit: {subject})”,”subject”:”Future”},”src”:”https://cdn.mos.cms.futurecdn.net/KFhUc88xAJYaXwQzW7SVuC.jpg”,”alt”:”MSI GeForce RTX 4080 Suprim X”,”width”:1280,”height”:720,”srcSetSizes”:[320,480,650,970,1024,1200],”sizes”:{“default”:”calc(100vw – 40px)”,”1000px”:”970px”},”fullscreen”:false,”lazyLoading”:true,”addSEOMetaData”:false,”eager”:false,”removeNativeWidthRestriction”:false}},{“title”:””,”description”:[],”image”:{“id”:”chfivfiZMMCquKL4AwHxVF”,”name”:”PXL_20230103_232407355[1].jpg”,”credit”:{“text”:”(Image credit: {subject})”,”subject”:”Future”},”src”:”https://cdn.mos.cms.futurecdn.net/chfivfiZMMCquKL4AwHxVF.jpg”,”alt”:”MSI GeForce RTX 4080 Suprim X backplate”,”width”:1280,”height”:720,”srcSetSizes”:[320,480,650,970,1024,1200],”sizes”:{“default”:”calc(100vw – 40px)”,”1000px”:”970px”},”fullscreen”:false,”lazyLoading”:true,”addSEOMetaData”:false,”eager”:false,”removeNativeWidthRestriction”:false}},{“title”:””,”description”:[],”image”:{“id”:”X7DBTGRnq5ppb9KjpYNgMK”,”name”:”PXL_20230103_230427393.jpg”,”credit”:{“text”:”(Image credit: {subject})”,”subject”:”Future”},”src”:”https://cdn.mos.cms.futurecdn.net/X7DBTGRnq5ppb9KjpYNgMK.jpg”,”alt”:”MSI GeForce RTX 4080 Suprim X power input and BIOS switch”,”width”:1280,”height”:720,”srcSetSizes”:[320,480,650,970,1024,1200],”sizes”:{“default”:”calc(100vw – 40px)”,”1000px”:”970px”},”fullscreen”:false,”lazyLoading”:true,”addSEOMetaData”:false,”eager”:false,”removeNativeWidthRestriction”:false}}],”progressText”:”Image {currentSlide} of {totalSlides}”,”viewOriginalText”:”View Original”}; /*! For license information please see imageGallery.js.LICENSE.txt */ var imageGallery;(()=>{var e={8590:(e,t,r)=>{“use strict”;function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e){return i=”function”==typeof Symbol&&”symbol”==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&”function”==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?”symbol”:typeof e},i(e)}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);rte});var c=r(6651),u=r.n(c),h=r(7314),p=r(3279),d=r.n(p),f=r(9632),m=r.n(f);const g=function(e,t){var r=/{(w+)}/g;if(Object.values(t).every((function(e){return”string”==typeof e}))){var n=t;return e.replaceAll(r,(function(e,t){return n[t]?n[t]:e}))}return m()(e,r,(function(e,r){return u().createElement(c.Fragment,{key:””.concat(e,”-“).concat(r)},t[e]?t[e]:”{“.concat(e,”}”))})).filter((function(e){return””!==e}))},b=function(){return u().createElement(“svg”,{xmlns:”http://www.w3.org/2000/svg”,viewBox:”0 0 32 32″,width:”32″,height:”32″},u().createElement(“path”,{d:”M4.2 0l25.6 16.011L4.2 32V0z”}))},y=function(){return u().createElement(“svg”,{xmlns:”http://www.w3.org/2000/svg”,width:”32″,height:”32″,viewBox:”0 0 32 32″},u().createElement(“path”,{d:”M31.557 12.067L31.773 0 19.791.213l.05 3.216 6.225-.115-7.347 7.39 2.422 2.434 7.34-7.382-.108 6.213 3.184.098zM.215 19.903L0 31.97l11.984-.213-.05-3.217-6.225.113 7.348-7.388-2.42-2.436-7.34 7.383L3.402 20l-3.187-.098zM20.004 31.704L32 32.001l-.293-12.059-3.195.03.154 6.263-7.396-7.44-2.407 2.42 7.389 7.43-6.174-.148-.074 3.207zM12.213.33L.22.034l.293 12.059 3.195-.032-.152-6.26 7.394 7.438 2.404-2.418L5.967 3.39l6.174.15.072-3.209z”}))},v=function(){return u().createElement(“svg”,{xmlns:”http://www.w3.org/2000/svg”,width:”14″,height:”14″,viewBox:”0 0 14 14″,overflow:”visible”},u().createElement(“path”,{d:”M14 11.2L9.8 7l4.199-4.2-2.8-2.8L7 4.2 2.8 0 .002 2.8l4.2 4.2L0 11.2 2.8 14 7 9.8l4.2 4.2z”}))},w=function(){return u().createElement(“svg”,{xmlns:”http://www.w3.org/2000/svg”,viewBox:”0 0 32 32″,width:”32″,height:”32″},u().createElement(“path”,{d:”M32 31.955H0V0h12.409v4H4v23.955h24v-8.76h4z”}),u().createElement(“path”,{d:”M32 13.259V0H18.837l-.024 3.656 6.916-.014-11.197 11.306 2.66 2.675 11.19-11.3.024 6.927 3.594.009z”}))};var x=”(?[/a-z0-9]{0,})(?-[0-9]{0,5})?(?-[0-9]{2})?.(?png|jpg|jpeg|gif)(?.webp)?”,S=”/media/img/missing-image.svg”,_=[320,640,720,1280],O={default:”99vw”},E=function(){var e=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return”undefined”==typeof window?null:window.ffte?e?window.ffte[e]:window.ffte:null}(“staticHost”);return e?”https://”.concat(e).concat(S):S};function T(e){var t,r,n=””;if(“string”==typeof e||”number”==typeof e)n+=e;else if(“object”==typeof e)if(Array.isArray(e))for(t=0;t2&&void 0!==arguments[2]&&arguments[2]?”.webp”:””,o=A(e),a=new RegExp(x,”i”),l=o.pathname.match(a),c=””;o.pathname&&l&&(c=””.concat(null==l||null===(r=l.groups)||void 0===r?void 0:r.id,”-“).concat(t,”-“).concat(i,”.”).concat(null==l||null===(n=l.groups)||void 0===n?void 0:n.ext).concat(s));var u=””;return o.protocol&&o.host&&(u=””.concat(o.protocol,”//”).concat(o.host)),u+c}(e,i,r),” “).concat(i,”w”).concat(o)})),n},P=function e(t){return”object”===i(t)&&t.origin?e(t.origin):”string”==typeof t&&t.includes(“.mos.cms.futurecdn.net”)};var D=function(e){var t=function(e){var t,r=new RegExp(x,”i”),n=A(e).pathname.match(r);return(null==n||null===(t=n.groups)||void 0===t?void 0:t.ext)||””}(e);return”jpg”===t&&(t=”jpeg”),”image/”.concat(t)};const M=function(e){var t=A(e),r=new RegExp(x,”i”),n=t.pathname.match(r),i=””;t.pathname&&null!=n&&n.groups&&(i=””.concat(n.groups.id,”.”).concat(n.groups.ext));var s=””;return t.protocol&&t.host&&(s=””.concat(t.protocol,”//”).concat(t.host)),s+i};var j=[“src”,”dataSrcSet”,”dataSrcSetWebp”,”imageSizes”,”onError”];function N(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}const I=function(e){var t=e.src,r=e.alt,i=e.className,s=void 0===i?””:i,o=e.attributes,a=void 0===o?{}:o,h=e.srcSetSizes,p=void 0===h?_:h,d=e.sizes,f=void 0===d?O:d,m=e.missingImageSrc,g=void 0===m?E():m,b=e.eager,y=void 0!==b&&b,v=e.onLoad,w=void 0===v?function(){}:v,x=e.setImageRef,S=void 0===x?function(){}:x,T=e.lazyLoading,C=void 0===T||T,A=e.useOriginalUrl,I=void 0!==A&&A,q=(0,c.useRef)(null),R=(0,c.useRef)(null),B=l((0,c.useState)(s),2),H=B[0],U=B[1],z=l((0,c.useState)(!1),2),F=z[0],V=z[1],X=function(){U((function(e){return””.concat(e,” loaded”)})),w()},W=I?M(t):t;if(!P(W))return u().createElement(“img”,k({“data-hydrate”:!0,key:”nomosimage “.concat(W,” “).concat(r),src:W,alt:r,onLoad:X,className:H},a));if(!C)return u().createElement(“img”,k({“data-hydrate”:!0,key:””.concat(W,” “).concat(r),src:W,alt:r,onLoad:X,className:H},a));var G,$,Y,J=function(e){for(var t=1;t{“use strict”;Object.defineProperty(t,”__esModule”,{value:!0}),t.attributeNames=t.elementNames=void 0,t.elementNames=new Map([[“altglyph”,”altGlyph”],[“altglyphdef”,”altGlyphDef”],[“altglyphitem”,”altGlyphItem”],[“animatecolor”,”animateColor”],[“animatemotion”,”animateMotion”],[“animatetransform”,”animateTransform”],[“clippath”,”clipPath”],[“feblend”,”feBlend”],[“fecolormatrix”,”feColorMatrix”],[“fecomponenttransfer”,”feComponentTransfer”],[“fecomposite”,”feComposite”],[“feconvolvematrix”,”feConvolveMatrix”],[“fediffuselighting”,”feDiffuseLighting”],[“fedisplacementmap”,”feDisplacementMap”],[“fedistantlight”,”feDistantLight”],[“fedropshadow”,”feDropShadow”],[“feflood”,”feFlood”],[“fefunca”,”feFuncA”],[“fefuncb”,”feFuncB”],[“fefuncg”,”feFuncG”],[“fefuncr”,”feFuncR”],[“fegaussianblur”,”feGaussianBlur”],[“feimage”,”feImage”],[“femerge”,”feMerge”],[“femergenode”,”feMergeNode”],[“femorphology”,”feMorphology”],[“feoffset”,”feOffset”],[“fepointlight”,”fePointLight”],[“fespecularlighting”,”feSpecularLighting”],[“fespotlight”,”feSpotLight”],[“fetile”,”feTile”],[“feturbulence”,”feTurbulence”],[“foreignobject”,”foreignObject”],[“glyphref”,”glyphRef”],[“lineargradient”,”linearGradient”],[“radialgradient”,”radialGradient”],[“textpath”,”textPath”]]),t.attributeNames=new Map([[“definitionurl”,”definitionURL”],[“attributename”,”attributeName”],[“attributetype”,”attributeType”],[“basefrequency”,”baseFrequency”],[“baseprofile”,”baseProfile”],[“calcmode”,”calcMode”],[“clippathunits”,”clipPathUnits”],[“diffuseconstant”,”diffuseConstant”],[“edgemode”,”edgeMode”],[“filterunits”,”filterUnits”],[“glyphref”,”glyphRef”],[“gradienttransform”,”gradientTransform”],[“gradientunits”,”gradientUnits”],[“kernelmatrix”,”kernelMatrix”],[“kernelunitlength”,”kernelUnitLength”],[“keypoints”,”keyPoints”],[“keysplines”,”keySplines”],[“keytimes”,”keyTimes”],[“lengthadjust”,”lengthAdjust”],[“limitingconeangle”,”limitingConeAngle”],[“markerheight”,”markerHeight”],[“markerunits”,”markerUnits”],[“markerwidth”,”markerWidth”],[“maskcontentunits”,”maskContentUnits”],[“maskunits”,”maskUnits”],[“numoctaves”,”numOctaves”],[“pathlength”,”pathLength”],[“patterncontentunits”,”patternContentUnits”],[“patterntransform”,”patternTransform”],[“patternunits”,”patternUnits”],[“pointsatx”,”pointsAtX”],[“pointsaty”,”pointsAtY”],[“pointsatz”,”pointsAtZ”],[“preservealpha”,”preserveAlpha”],[“preserveaspectratio”,”preserveAspectRatio”],[“primitiveunits”,”primitiveUnits”],[“refx”,”refX”],[“refy”,”refY”],[“repeatcount”,”repeatCount”],[“repeatdur”,”repeatDur”],[“requiredextensions”,”requiredExtensions”],[“requiredfeatures”,”requiredFeatures”],[“specularconstant”,”specularConstant”],[“specularexponent”,”specularExponent”],[“spreadmethod”,”spreadMethod”],[“startoffset”,”startOffset”],[“stddeviation”,”stdDeviation”],[“stitchtiles”,”stitchTiles”],[“surfacescale”,”surfaceScale”],[“systemlanguage”,”systemLanguage”],[“tablevalues”,”tableValues”],[“targetx”,”targetX”],[“targety”,”targetY”],[“textlength”,”textLength”],[“viewbox”,”viewBox”],[“viewtarget”,”viewTarget”],[“xchannelselector”,”xChannelSelector”],[“ychannelselector”,”yChannelSelector”],[“zoomandpan”,”zoomAndPan”]])},7220:function(e,t,r){“use strict”;var n=this&&this.__assign||function(){return n=Object.assign||function(e){for(var t,r=1,n=arguments.length;r“,e.children.length>0&&(i+=p(e.children,t)),!t.xmlMode&&h.has(e.name)||(i+=””)),i}(e,t);case a.Text:return function(e,t){var r=e.data||””;return!1===t.decodeEntities||!t.xmlMode&&e.parent&&u.has(e.parent.name)||(r=l.encodeXML(r)),r}(e,t)}}t.default=p;var f=new Set([“mi”,”mo”,”mn”,”ms”,”mtext”,”annotation-xml”,”foreignObject”,”desc”,”title”]),m=new Set([“svg”,”math”])},9960:(e,t)=>{“use strict”;var r;Object.defineProperty(t,”__esModule”,{value:!0}),t.Doctype=t.CDATA=t.Tag=t.Style=t.Script=t.Comment=t.Directive=t.Text=t.Root=t.isTag=t.ElementType=void 0,function(e){e.Root=”root”,e.Text=”text”,e.Directive=”directive”,e.Comment=”comment”,e.Script=”script”,e.Style=”style”,e.Tag=”tag”,e.CDATA=”cdata”,e.Doctype=”doctype”}(r=t.ElementType||(t.ElementType={})),t.isTag=function(e){return e.type===r.Tag||e.type===r.Script||e.type===r.Style},t.Root=r.Root,t.Text=r.Text,t.Directive=r.Directive,t.Comment=r.Comment,t.Script=r.Script,t.Style=r.Style,t.Tag=r.Tag,t.CDATA=r.CDATA,t.Doctype=r.Doctype},7915:function(e,t,r){“use strict”;var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!(“get”in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)”default”===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,”__esModule”,{value:!0}),t.DomHandler=void 0;var s=r(9960),o=r(7790);i(r(7790),t);var a=/s+/g,l={normalizeWhitespace:!1,withStartIndices:!1,withEndIndices:!1,xmlMode:!1},c=function(){function e(e,t,r){this.dom=[],this.root=new o.Document(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null,”function”==typeof t&&(r=t,t=l),”object”==typeof e&&(t=e,e=void 0),this.callback=null!=e?e:null,this.options=null!=t?t:l,this.elementCB=null!=r?r:null}return e.prototype.onparserinit=function(e){this.parser=e},e.prototype.onreset=function(){this.dom=[],this.root=new o.Document(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null},e.prototype.onend=function(){this.done||(this.done=!0,this.parser=null,this.handleCallback(null))},e.prototype.onerror=function(e){this.handleCallback(e)},e.prototype.onclosetag=function(){this.lastNode=null;var e=this.tagStack.pop();this.options.withEndIndices&&(e.endIndex=this.parser.endIndex),this.elementCB&&this.elementCB(e)},e.prototype.onopentag=function(e,t){var r=this.options.xmlMode?s.ElementType.Tag:void 0,n=new o.Element(e,t,void 0,r);this.addNode(n),this.tagStack.push(n)},e.prototype.ontext=function(e){var t=this.options.normalizeWhitespace,r=this.lastNode;if(r&&r.type===s.ElementType.Text)t?r.data=(r.data+e).replace(a,” “):r.data+=e,this.options.withEndIndices&&(r.endIndex=this.parser.endIndex);else{t&&(e=e.replace(a,” “));var n=new o.Text(e);this.addNode(n),this.lastNode=n}},e.prototype.oncomment=function(e){if(this.lastNode&&this.lastNode.type===s.ElementType.Comment)this.lastNode.data+=e;else{var t=new o.Comment(e);this.addNode(t),this.lastNode=t}},e.prototype.oncommentend=function(){this.lastNode=null},e.prototype.oncdatastart=function(){var e=new o.Text(“”),t=new o.NodeWithChildren(s.ElementType.CDATA,[e]);this.addNode(t),e.parent=t,this.lastNode=e},e.prototype.oncdataend=function(){this.lastNode=null},e.prototype.onprocessinginstruction=function(e,t){var r=new o.ProcessingInstruction(e,t);this.addNode(r)},e.prototype.handleCallback=function(e){if(“function”==typeof this.callback)this.callback(e,this.dom);else if(e)throw e},e.prototype.addNode=function(e){var t=this.tagStack[this.tagStack.length-1],r=t.children[t.children.length-1];this.options.withStartIndices&&(e.startIndex=this.parser.startIndex),this.options.withEndIndices&&(e.endIndex=this.parser.endIndex),t.children.push(e),r&&(e.prev=r,r.next=e),e.parent=t,this.lastNode=null},e}();t.DomHandler=c,t.default=c},7790:function(e,t,r){“use strict”;var n,i=this&&this.__extends||(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},n(e,t)},function(e,t){if(“function”!=typeof t&&null!==t)throw new TypeError(“Class extends value “+String(t)+” is not a constructor or null”);function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),s=this&&this.__assign||function(){return s=Object.assign||function(e){for(var t,r=1,n=arguments.length;r0?this.children[this.children.length-1]:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,”childNodes”,{get:function(){return this.children},set:function(e){this.children=e},enumerable:!1,configurable:!0}),t}(l);t.NodeWithChildren=d;var f=function(e){function t(t){return e.call(this,o.ElementType.Root,t)||this}return i(t,e),t}(d);t.Document=f;var m=function(e){function t(t,r,n,i){void 0===n&&(n=[]),void 0===i&&(i=”script”===t?o.ElementType.Script:”style”===t?o.ElementType.Style:o.ElementType.Tag);var s=e.call(this,i,n)||this;return s.name=t,s.attribs=r,s}return i(t,e),Object.defineProperty(t.prototype,”tagName”,{get:function(){return this.name},set:function(e){this.name=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,”attributes”,{get:function(){var e=this;return Object.keys(this.attribs).map((function(t){var r,n;return{name:t,value:e.attribs[t],namespace:null===(r=e[“x-attribsNamespace”])||void 0===r?void 0:r[t],prefix:null===(n=e[“x-attribsPrefix”])||void 0===n?void 0:n[t]}}))},enumerable:!1,configurable:!0}),t}(d);function g(e){return(0,o.isTag)(e)}function b(e){return e.type===o.ElementType.CDATA}function y(e){return e.type===o.ElementType.Text}function v(e){return e.type===o.ElementType.Comment}function w(e){return e.type===o.ElementType.Directive}function x(e){return e.type===o.ElementType.Root}function S(e,t){var r;if(void 0===t&&(t=!1),y(e))r=new u(e.data);else if(v(e))r=new h(e.data);else if(g(e)){var n=t?_(e.children):[],i=new m(e.name,s({},e.attribs),n);n.forEach((function(e){return e.parent=i})),null!=e.namespace&&(i.namespace=e.namespace),e[“x-attribsNamespace”]&&(i[“x-attribsNamespace”]=s({},e[“x-attribsNamespace”])),e[“x-attribsPrefix”]&&(i[“x-attribsPrefix”]=s({},e[“x-attribsPrefix”])),r=i}else if(b(e)){n=t?_(e.children):[];var a=new d(o.ElementType.CDATA,n);n.forEach((function(e){return e.parent=a})),r=a}else if(x(e)){n=t?_(e.children):[];var l=new f(n);n.forEach((function(e){return e.parent=l})),e[“x-mode”]&&(l[“x-mode”]=e[“x-mode”]),r=l}else{if(!w(e))throw new Error(“Not implemented yet: “.concat(e.type));var c=new p(e.name,e.data);null!=e[“x-name”]&&(c[“x-name”]=e[“x-name”],c[“x-publicId”]=e[“x-publicId”],c[“x-systemId”]=e[“x-systemId”]),r=c}return r.startIndex=e.startIndex,r.endIndex=e.endIndex,null!=e.sourceCodeLocation&&(r.sourceCodeLocation=e.sourceCodeLocation),r}function _(e){for(var t=e.map((function(e){return S(e,!0)})),r=1;r{“use strict”;Object.defineProperty(t,”__esModule”,{value:!0}),t.getFeed=void 0;var n=r(3346),i=r(3905);t.getFeed=function(e){var t=l(h,e);return t?”feed”===t.name?function(e){var t,r=e.children,n={type:”atom”,items:(0,i.getElementsByTagName)(“entry”,r).map((function(e){var t,r=e.children,n={media:a(r)};u(n,”id”,”id”,r),u(n,”title”,”title”,r);var i=null===(t=l(“link”,r))||void 0===t?void 0:t.attribs.href;i&&(n.link=i);var s=c(“summary”,r)||c(“content”,r);s&&(n.description=s);var o=c(“updated”,r);return o&&(n.pubDate=new Date(o)),n}))};u(n,”id”,”id”,r),u(n,”title”,”title”,r);var s=null===(t=l(“link”,r))||void 0===t?void 0:t.attribs.href;s&&(n.link=s),u(n,”description”,”subtitle”,r);var o=c(“updated”,r);return o&&(n.updated=new Date(o)),u(n,”author”,”email”,r,!0),n}(t):function(e){var t,r,n=null!==(r=null===(t=l(“channel”,e.children))||void 0===t?void 0:t.children)&&void 0!==r?r:[],s={type:e.name.substr(0,3),id:””,items:(0,i.getElementsByTagName)(“item”,e.children).map((function(e){var t=e.children,r={media:a(t)};u(r,”id”,”guid”,t),u(r,”title”,”title”,t),u(r,”link”,”link”,t),u(r,”description”,”description”,t);var n=c(“pubDate”,t);return n&&(r.pubDate=new Date(n)),r}))};u(s,”title”,”title”,n),u(s,”link”,”link”,n),u(s,”description”,”description”,n);var o=c(“lastBuildDate”,n);return o&&(s.updated=new Date(o)),u(s,”author”,”managingEditor”,n,!0),s}(t):null};var s=[“url”,”type”,”lang”],o=[“fileSize”,”bitrate”,”framerate”,”samplingrate”,”channels”,”duration”,”height”,”width”];function a(e){return(0,i.getElementsByTagName)(“media:content”,e).map((function(e){for(var t=e.attribs,r={medium:t.medium,isDefault:!!t.isDefault},n=0,i=s;n=0;){var r=e[t];if(t>0&&e.lastIndexOf(r,t-1)>=0)e.splice(t,1);else for(var n=r.parent;n;n=n.parent)if(e.includes(n)){e.splice(t,1);break}}return e},t.compareDocumentPosition=i,t.uniqueSort=function(e){return(e=e.filter((function(e,t,r){return!r.includes(e,t+1)}))).sort((function(e,t){var r=i(e,t);return 2&r?-1:4&r?1:0})),e}},9432:function(e,t,r){“use strict”;var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)”default”===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,”__esModule”,{value:!0}),t.hasChildren=t.isDocument=t.isComment=t.isText=t.isCDATA=t.isTag=void 0,i(r(3346),t),i(r(5010),t),i(r(6765),t),i(r(8043),t),i(r(3905),t),i(r(4975),t),i(r(6996),t);var s=r(7915);Object.defineProperty(t,”isTag”,{enumerable:!0,get:function(){return s.isTag}}),Object.defineProperty(t,”isCDATA”,{enumerable:!0,get:function(){return s.isCDATA}}),Object.defineProperty(t,”isText”,{enumerable:!0,get:function(){return s.isText}}),Object.defineProperty(t,”isComment”,{enumerable:!0,get:function(){return s.isComment}}),Object.defineProperty(t,”isDocument”,{enumerable:!0,get:function(){return s.isDocument}}),Object.defineProperty(t,”hasChildren”,{enumerable:!0,get:function(){return s.hasChildren}})},3905:(e,t,r)=>{“use strict”;Object.defineProperty(t,”__esModule”,{value:!0}),t.getElementsByTagType=t.getElementsByTagName=t.getElementById=t.getElements=t.testElement=void 0;var n=r(7915),i=r(8043),s={tag_name:function(e){return”function”==typeof e?function(t){return(0,n.isTag)(t)&&e(t.name)}:”*”===e?n.isTag:function(t){return(0,n.isTag)(t)&&t.name===e}},tag_type:function(e){return”function”==typeof e?function(t){return e(t.type)}:function(t){return t.type===e}},tag_contains:function(e){return”function”==typeof e?function(t){return(0,n.isText)(t)&&e(t.data)}:function(t){return(0,n.isText)(t)&&t.data===e}}};function o(e,t){return”function”==typeof t?function(r){return(0,n.isTag)(r)&&t(r.attribs[e])}:function(r){return(0,n.isTag)(r)&&r.attribs[e]===t}}function a(e,t){return function(r){return e(r)||t(r)}}function l(e){var t=Object.keys(e).map((function(t){var r=e[t];return Object.prototype.hasOwnProperty.call(s,t)?s[t](r):o(t,r)}));return 0===t.length?null:t.reduce(a)}t.testElement=function(e,t){var r=l(e);return!r||r(t)},t.getElements=function(e,t,r,n){void 0===n&&(n=1/0);var s=l(e);return s?(0,i.filter)(s,t,r,n):[]},t.getElementById=function(e,t,r){return void 0===r&&(r=!0),Array.isArray(t)||(t=[t]),(0,i.findOne)(o(“id”,e),t,r)},t.getElementsByTagName=function(e,t,r,n){return void 0===r&&(r=!0),void 0===n&&(n=1/0),(0,i.filter)(s.tag_name(e),t,r,n)},t.getElementsByTagType=function(e,t,r,n){return void 0===r&&(r=!0),void 0===n&&(n=1/0),(0,i.filter)(s.tag_type(e),t,r,n)}},6765:(e,t)=>{“use strict”;function r(e){if(e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),e.parent){var t=e.parent.children;t.splice(t.lastIndexOf(e),1)}}Object.defineProperty(t,”__esModule”,{value:!0}),t.prepend=t.prependChild=t.append=t.appendChild=t.replaceElement=t.removeElement=void 0,t.removeElement=r,t.replaceElement=function(e,t){var r=t.prev=e.prev;r&&(r.next=t);var n=t.next=e.next;n&&(n.prev=t);var i=t.parent=e.parent;if(i){var s=i.children;s[s.lastIndexOf(e)]=t}},t.appendChild=function(e,t){if(r(t),t.next=null,t.parent=e,e.children.push(t)>1){var n=e.children[e.children.length-2];n.next=t,t.prev=n}else t.prev=null},t.append=function(e,t){r(t);var n=e.parent,i=e.next;if(t.next=i,t.prev=e,e.next=t,t.parent=n,i){if(i.prev=t,n){var s=n.children;s.splice(s.lastIndexOf(i),0,t)}}else n&&n.children.push(t)},t.prependChild=function(e,t){if(r(t),t.parent=e,t.prev=null,1!==e.children.unshift(t)){var n=e.children[1];n.prev=t,t.next=n}else t.next=null},t.prepend=function(e,t){r(t);var n=e.parent;if(n){var i=n.children;i.splice(i.indexOf(e),0,t)}e.prev&&(e.prev.next=t),t.parent=n,t.prev=e.prev,t.next=e,e.prev=t}},8043:(e,t,r)=>{“use strict”;Object.defineProperty(t,”__esModule”,{value:!0}),t.findAll=t.existsOne=t.findOne=t.findOneChild=t.find=t.filter=void 0;var n=r(7915);function i(e,t,r,s){for(var o=[],a=0,l=t;a0&&e(t,r.children))}))},t.findAll=function(e,t){for(var r,i,s=[],o=t.filter(n.isTag);i=o.shift();){var a=null===(r=i.children)||void 0===r?void 0:r.filter(n.isTag);a&&a.length>0&&o.unshift.apply(o,a),e(i)&&s.push(i)}return s}},3346:function(e,t,r){“use strict”;var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,”__esModule”,{value:!0}),t.innerText=t.textContent=t.getText=t.getInnerHTML=t.getOuterHTML=void 0;var i=r(7915),s=n(r(7220)),o=r(9960);function a(e,t){return(0,s.default)(e,t)}t.getOuterHTML=a,t.getInnerHTML=function(e,t){return(0,i.hasChildren)(e)?e.children.map((function(e){return a(e,t)})).join(“”):””},t.getText=function e(t){return Array.isArray(t)?t.map(e).join(“”):(0,i.isTag)(t)?”br”===t.name?”n”:e(t.children):(0,i.isCDATA)(t)?e(t.children):(0,i.isText)(t)?t.data:””},t.textContent=function e(t){return Array.isArray(t)?t.map(e).join(“”):(0,i.hasChildren)(t)&&!(0,i.isComment)(t)?e(t.children):(0,i.isText)(t)?t.data:””},t.innerText=function e(t){return Array.isArray(t)?t.map(e).join(“”):(0,i.hasChildren)(t)&&(t.type===o.ElementType.Tag||(0,i.isCDATA)(t))?e(t.children):(0,i.isText)(t)?t.data:””}},5010:(e,t,r)=>{“use strict”;Object.defineProperty(t,”__esModule”,{value:!0}),t.prevElementSibling=t.nextElementSibling=t.getName=t.hasAttrib=t.getAttributeValue=t.getSiblings=t.getParent=t.getChildren=void 0;var n=r(7915),i=[];function s(e){var t;return null!==(t=e.children)&&void 0!==t?t:i}function o(e){return e.parent||null}t.getChildren=s,t.getParent=o,t.getSiblings=function(e){var t=o(e);if(null!=t)return s(t);for(var r=[e],n=e.prev,i=e.next;null!=n;)r.unshift(n),n=n.prev;for(;null!=i;)r.push(i),i=i.next;return r},t.getAttributeValue=function(e,t){var r;return null===(r=e.attribs)||void 0===r?void 0:r[t]},t.hasAttrib=function(e,t){return null!=e.attribs&&Object.prototype.hasOwnProperty.call(e.attribs,t)&&null!=e.attribs[t]},t.getName=function(e){return e.name},t.nextElementSibling=function(e){for(var t=e.next;null!==t&&!(0,n.isTag)(t);)t=t.next;return t},t.prevElementSibling=function(e){for(var t=e.prev;null!==t&&!(0,n.isTag)(t);)t=t.prev;return t}},4076:function(e,t,r){“use strict”;var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,”__esModule”,{value:!0}),t.decodeHTML=t.decodeHTMLStrict=t.decodeXML=void 0;var i=n(r(9323)),s=n(r(9591)),o=n(r(2586)),a=n(r(26)),l=/&(?:[a-zA-Z0-9]+|#[xX][da-fA-F]+|#d+);/g;function c(e){var t=h(e);return function(e){return String(e).replace(l,t)}}t.decodeXML=c(o.default),t.decodeHTMLStrict=c(i.default);var u=function(e,t){return e>>10&1023|55296),e=56320|1023&e),t+String.fromCharCode(e)};t.default=function(e){return e>=55296&&e1114111?”�”:(e in i.default&&(e=i.default[e]),s(e))}},7322:function(e,t,r){“use strict”;var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,”__esModule”,{value:!0}),t.escapeUTF8=t.escape=t.encodeNonAsciiHTML=t.encodeHTML=t.encodeXML=void 0;var i=u(n(r(2586)).default),s=h(i);t.encodeXML=g(i);var o,a,l=u(n(r(9323)).default),c=h(l);function u(e){return Object.keys(e).sort().reduce((function(t,r){return t[e[r]]=”&”+r+”;”,t}),{})}function h(e){for(var t=[],r=[],n=0,i=Object.keys(e);n{“use strict”;Object.defineProperty(t,”__esModule”,{value:!0}),t.decodeXMLStrict=t.decodeHTML5Strict=t.decodeHTML4Strict=t.decodeHTML5=t.decodeHTML4=t.decodeHTMLStrict=t.decodeHTML=t.decodeXML=t.encodeHTML5=t.encodeHTML4=t.escapeUTF8=t.escape=t.encodeNonAsciiHTML=t.encodeHTML=t.encodeXML=t.encode=t.decodeStrict=t.decode=void 0;var n=r(4076),i=r(7322);t.decode=function(e,t){return(!t||t<=0?n.decodeXML:n.decodeHTML)(e)},t.decodeStrict=function(e,t){return(!t||t<=0?n.decodeXML:n.decodeHTMLStrict)(e)},t.encode=function(e,t){return(!t||t<=0?i.encodeXML:i.encodeHTML)(e)};var s=r(7322);Object.defineProperty(t,"encodeXML",{enumerable:!0,get:function(){return s.encodeXML}}),Object.defineProperty(t,"encodeHTML",{enumerable:!0,get:function(){return s.encodeHTML}}),Object.defineProperty(t,"encodeNonAsciiHTML",{enumerable:!0,get:function(){return s.encodeNonAsciiHTML}}),Object.defineProperty(t,"escape",{enumerable:!0,get:function(){return s.escape}}),Object.defineProperty(t,"escapeUTF8",{enumerable:!0,get:function(){return s.escapeUTF8}}),Object.defineProperty(t,"encodeHTML4",{enumerable:!0,get:function(){return s.encodeHTML}}),Object.defineProperty(t,"encodeHTML5",{enumerable:!0,get:function(){return s.encodeHTML}});var o=r(4076);Object.defineProperty(t,"decodeXML",{enumerable:!0,get:function(){return o.decodeXML}}),Object.defineProperty(t,"decodeHTML",{enumerable:!0,get:function(){return o.decodeHTML}}),Object.defineProperty(t,"decodeHTMLStrict",{enumerable:!0,get:function(){return o.decodeHTMLStrict}}),Object.defineProperty(t,"decodeHTML4",{enumerable:!0,get:function(){return o.decodeHTML}}),Object.defineProperty(t,"decodeHTML5",{enumerable:!0,get:function(){return o.decodeHTML}}),Object.defineProperty(t,"decodeHTML4Strict",{enumerable:!0,get:function(){return o.decodeHTMLStrict}}),Object.defineProperty(t,"decodeHTML5Strict",{enumerable:!0,get:function(){return o.decodeHTMLStrict}}),Object.defineProperty(t,"decodeXMLStrict",{enumerable:!0,get:function(){return o.decodeXML}})},3870:function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),s=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&s(t,e,r);return o(t,e),t},l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.parseFeed=t.FeedHandler=void 0;var c,u,h=l(r(7915)),p=a(r(9432)),d=r(763);!function(e){e[e.image=0]="image",e[e.audio=1]="audio",e[e.video=2]="video",e[e.document=3]="document",e[e.executable=4]="executable"}(c||(c={})),function(e){e[e.sample=0]="sample",e[e.full=1]="full",e[e.nonstop=2]="nonstop"}(u||(u={}));var f=function(e){function t(t,r){return"object"==typeof t&&(r=t=void 0),e.call(this,t,r)||this}return i(t,e),t.prototype.onend=function(){var e,t,r=b(x,this.dom);if(r){var n={};if("feed"===r.name){var i=r.children;n.type="atom",w(n,"id","id",i),w(n,"title","title",i);var s=v("href",b("link",i));s&&(n.link=s),w(n,"description","subtitle",i),(o=y("updated",i))&&(n.updated=new Date(o)),w(n,"author","email",i,!0),n.items=g("entry",i).map((function(e){var t={},r=e.children;w(t,"id","id",r),w(t,"title","title",r);var n=v("href",b("link",r));n&&(t.link=n);var i=y("summary",r)||y("content",r);i&&(t.description=i);var s=y("updated",r);return s&&(t.pubDate=new Date(s)),t.media=m(r),t}))}else{var o;i=null!==(t=null===(e=b("channel",r.children))||void 0===e?void 0:e.children)&&void 0!==t?t:[],n.type=r.name.substr(0,3),n.id="",w(n,"title","title",i),w(n,"link","link",i),w(n,"description","description",i),(o=y("lastBuildDate",i))&&(n.updated=new Date(o)),w(n,"author","managingEditor",i,!0),n.items=g("item",r.children).map((function(e){var t={},r=e.children;w(t,"id","guid",r),w(t,"title","title",r),w(t,"link","link",r),w(t,"description","description",r);var n=y("pubDate",r);return n&&(t.pubDate=new Date(n)),t.media=m(r),t}))}this.feed=n,this.handleCallback(null)}else this.handleCallback(new Error("couldn't find root of feed"))},t}(h.default);function m(e){return g("media:content",e).map((function(e){var t={medium:e.attribs.medium,isDefault:!!e.attribs.isDefault};return e.attribs.url&&(t.url=e.attribs.url),e.attribs.fileSize&&(t.fileSize=parseInt(e.attribs.fileSize,10)),e.attribs.type&&(t.type=e.attribs.type),e.attribs.expression&&(t.expression=e.attribs.expression),e.attribs.bitrate&&(t.bitrate=parseInt(e.attribs.bitrate,10)),e.attribs.framerate&&(t.framerate=parseInt(e.attribs.framerate,10)),e.attribs.samplingrate&&(t.samplingrate=parseInt(e.attribs.samplingrate,10)),e.attribs.channels&&(t.channels=parseInt(e.attribs.channels,10)),e.attribs.duration&&(t.duration=parseInt(e.attribs.duration,10)),e.attribs.height&&(t.height=parseInt(e.attribs.height,10)),e.attribs.width&&(t.width=parseInt(e.attribs.width,10)),e.attribs.lang&&(t.lang=e.attribs.lang),t}))}function g(e,t){return p.getElementsByTagName(e,t,!0)}function b(e,t){return p.getElementsByTagName(e,t,!0,1)[0]}function y(e,t,r){return void 0===r&&(r=!1),p.getText(p.getElementsByTagName(e,t,r,1)).trim()}function v(e,t){return t?t.attribs[e]:null}function w(e,t,r,n,i){void 0===i&&(i=!1);var s=y(r,n,i);s&&(e[t]=s)}function x(e){return"rss"===e||"feed"===e||"rdf:RDF"===e}t.FeedHandler=f,t.parseFeed=function(e,t){void 0===t&&(t={xmlMode:!0});var r=new f(t);return new d.Parser(r,t).end(e),r.feed}},763:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Parser=void 0;var i=n(r(9889)),s=new Set(["input","option","optgroup","select","button","datalist","textarea"]),o=new Set(["p"]),a={tr:new Set(["tr","th","td"]),th:new Set(["th"]),td:new Set(["thead","th","td"]),body:new Set(["head","link","script"]),li:new Set(["li"]),p:o,h1:o,h2:o,h3:o,h4:o,h5:o,h6:o,select:s,input:s,output:s,button:s,datalist:s,textarea:s,option:new Set(["option"]),optgroup:new Set(["optgroup","option"]),dd:new Set(["dt","dd"]),dt:new Set(["dt","dd"]),address:o,article:o,aside:o,blockquote:o,details:o,div:o,dl:o,fieldset:o,figcaption:o,figure:o,footer:o,form:o,header:o,hr:o,main:o,nav:o,ol:o,pre:o,section:o,table:o,ul:o,rt:new Set(["rt","rp"]),rp:new Set(["rt","rp"]),tbody:new Set(["thead","tbody"]),tfoot:new Set(["thead","tbody"])},l=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]),c=new Set(["math","svg"]),u=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),h=/s|//,p=function(){function e(e,t){var r,n,s,o,a;void 0===t&&(t={}),this.startIndex=0,this.endIndex=null,this.tagname="",this.attribname="",this.attribvalue="",this.attribs=null,this.stack=[],this.foreignContext=[],this.options=t,this.cbs=null!=e?e:{},this.lowerCaseTagNames=null!==(r=t.lowerCaseTags)&&void 0!==r?r:!t.xmlMode,this.lowerCaseAttributeNames=null!==(n=t.lowerCaseAttributeNames)&&void 0!==n?n:!t.xmlMode,this.tokenizer=new(null!==(s=t.Tokenizer)&&void 0!==s?s:i.default)(this.options,this),null===(a=(o=this.cbs).onparserinit)||void 0===a||a.call(o,this)}return e.prototype.updatePosition=function(e){null===this.endIndex?this.tokenizer.sectionStart0&&a[e].has(n=this.stack[this.stack.length-1]);)this.onclosetag(n);!this.options.xmlMode&&l.has(e)||(this.stack.push(e),c.has(e)?this.foreignContext.push(!0):u.has(e)&&this.foreignContext.push(!1)),null===(r=(t=this.cbs).onopentagname)||void 0===r||r.call(t,e),this.cbs.onopentag&&(this.attribs={})},e.prototype.onopentagend=function(){var e,t;this.updatePosition(1),this.attribs&&(null===(t=(e=this.cbs).onopentag)||void 0===t||t.call(e,this.tagname,this.attribs),this.attribs=null),!this.options.xmlMode&&this.cbs.onclosetag&&l.has(this.tagname)&&this.cbs.onclosetag(this.tagname),this.tagname=""},e.prototype.onclosetag=function(e){if(this.updatePosition(1),this.lowerCaseTagNames&&(e=e.toLowerCase()),(c.has(e)||u.has(e))&&this.foreignContext.pop(),!this.stack.length||!this.options.xmlMode&&l.has(e))this.options.xmlMode||"br"!==e&&"p"!==e||(this.onopentagname(e),this.closeCurrentTag());else{var t=this.stack.lastIndexOf(e);if(-1!==t)if(this.cbs.onclosetag)for(t=this.stack.length-t;t--;)this.cbs.onclosetag(this.stack.pop());else this.stack.length=t;else"p"!==e||this.options.xmlMode||(this.onopentagname(e),this.closeCurrentTag())}},e.prototype.onselfclosingtag=function(){this.options.xmlMode||this.options.recognizeSelfClosing||this.foreignContext[this.foreignContext.length-1]?this.closeCurrentTag():this.onopentagend()},e.prototype.closeCurrentTag=function(){var e,t,r=this.tagname;this.onopentagend(),this.stack[this.stack.length-1]===r&&(null===(t=(e=this.cbs).onclosetag)||void 0===t||t.call(e,r),this.stack.pop())},e.prototype.onattribname=function(e){this.lowerCaseAttributeNames&&(e=e.toLowerCase()),this.attribname=e},e.prototype.onattribdata=function(e){this.attribvalue+=e},e.prototype.onattribend=function(e){var t,r;null===(r=(t=this.cbs).onattribute)||void 0===r||r.call(t,this.attribname,this.attribvalue,e),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribname="",this.attribvalue=""},e.prototype.getInstructionName=function(e){var t=e.search(h),r=t<0?e:e.substr(0,t);return this.lowerCaseTagNames&&(r=r.toLowerCase()),r},e.prototype.ondeclaration=function(e){if(this.cbs.onprocessinginstruction){var t=this.getInstructionName(e);this.cbs.onprocessinginstruction("!"+t,"!"+e)}},e.prototype.onprocessinginstruction=function(e){if(this.cbs.onprocessinginstruction){var t=this.getInstructionName(e);this.cbs.onprocessinginstruction("?"+t,"?"+e)}},e.prototype.oncomment=function(e){var t,r,n,i;this.updatePosition(4),null===(r=(t=this.cbs).oncomment)||void 0===r||r.call(t,e),null===(i=(n=this.cbs).oncommentend)||void 0===i||i.call(n)},e.prototype.oncdata=function(e){var t,r,n,i,s,o;this.updatePosition(1),this.options.xmlMode||this.options.recognizeCDATA?(null===(r=(t=this.cbs).oncdatastart)||void 0===r||r.call(t),null===(i=(n=this.cbs).ontext)||void 0===i||i.call(n,e),null===(o=(s=this.cbs).oncdataend)||void 0===o||o.call(s)):this.oncomment("[CDATA["+e+"]]")},e.prototype.onerror=function(e){var t,r;null===(r=(t=this.cbs).onerror)||void 0===r||r.call(t,e)},e.prototype.onend=function(){var e,t;if(this.cbs.onclosetag)for(var r=this.stack.length;r>0;this.cbs.onclosetag(this.stack[–r]));null===(t=(e=this.cbs).onend)||void 0===t||t.call(e)},e.prototype.reset=function(){var e,t,r,n;null===(t=(e=this.cbs).onreset)||void 0===t||t.call(e),this.tokenizer.reset(),this.tagname=””,this.attribname=””,this.attribs=null,this.stack=[],null===(n=(r=this.cbs).onparserinit)||void 0===n||n.call(r,this)},e.prototype.parseComplete=function(e){this.reset(),this.end(e)},e.prototype.write=function(e){this.tokenizer.write(e)},e.prototype.end=function(e){this.tokenizer.end(e)},e.prototype.pause=function(){this.tokenizer.pause()},e.prototype.resume=function(){this.tokenizer.resume()},e.prototype.parseChunk=function(e){this.write(e)},e.prototype.done=function(e){this.end(e)},e}();t.Parser=p},9889:function(e,t,r){“use strict”;var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,”__esModule”,{value:!0});var i=n(r(26)),s=n(r(9323)),o=n(r(9591)),a=n(r(2586));function l(e){return” “===e||”n”===e||”t”===e||”f”===e||”r”===e}function c(e){return e>=”a”&&e=”A”&&e<="Z"}function u(e,t,r){var n=e.toLowerCase();return e===n?function(e,i){i===n?e._state=t:(e._state=r,e._index--)}:function(i,s){s===n||s===e?i._state=t:(i._state=r,i._index--)}}function h(e,t){var r=e.toLowerCase();return function(n,i){i===r||i===e?n._state=t:(n._state=3,n._index--)}}var p=u("C",24,16),d=u("D",25,16),f=u("A",26,16),m=u("T",27,16),g=u("A",28,16),b=h("R",35),y=h("I",36),v=h("P",37),w=h("T",38),x=u("R",40,1),S=u("I",41,1),_=u("P",42,1),O=u("T",43,1),E=h("Y",45),T=h("L",46),C=h("E",47),k=u("Y",49,1),A=u("L",50,1),L=u("E",51,1),P=h("I",54),D=h("T",55),M=h("L",56),j=h("E",57),N=u("I",58,1),I=u("T",59,1),q=u("L",60,1),R=u("E",61,1),B=u("#",63,64),H=u("X",66,65),U=function(){function e(e,t){var r;this._state=1,this.buffer="",this.sectionStart=0,this._index=0,this.bufferOffset=0,this.baseState=1,this.special=1,this.running=!0,this.ended=!1,this.cbs=t,this.xmlMode=!!(null==e?void 0:e.xmlMode),this.decodeEntities=null===(r=null==e?void 0:e.decodeEntities)||void 0===r||r}return e.prototype.reset=function(){this._state=1,this.buffer="",this.sectionStart=0,this._index=0,this.bufferOffset=0,this.baseState=1,this.special=1,this.running=!0,this.ended=!1},e.prototype.write=function(e){this.ended&&this.cbs.onerror(Error(".write() after done!")),this.buffer+=e,this.parse()},e.prototype.end=function(e){this.ended&&this.cbs.onerror(Error(".end() after done!")),e&&this.write(e),this.ended=!0,this.running&&this.finish()},e.prototype.pause=function(){this.running=!1},e.prototype.resume=function(){this.running=!0,this._indexthis.sectionStart&&this.cbs.ontext(this.getSection()),this.baseState=1,this._state=62,this.sectionStart=this._index)},e.prototype.isTagStartChar=function(e){return c(e)||this.xmlMode&&!l(e)&&”/”!==e&&”>”!==e},e.prototype.stateBeforeTagName=function(e){“/”===e?this._state=5:””===e||1!==this.special||l(e)?this._state=1:”!”===e?(this._state=15,this.sectionStart=this._index+1):”?”===e?(this._state=17,this.sectionStart=this._index+1):this.isTagStartChar(e)?(this._state=this.xmlMode||”s”!==e&&”S”!==e?this.xmlMode||”t”!==e&&”T”!==e?3:52:32,this.sectionStart=this._index):this._state=1},e.prototype.stateInTagName=function(e){(“/”===e||”>”===e||l(e))&&(this.emitToken(“onopentagname”),this._state=8,this._index–)},e.prototype.stateBeforeClosingTagName=function(e){l(e)||(“>”===e?this._state=1:1!==this.special?4===this.special||”s”!==e&&”S”!==e?4!==this.special||”t”!==e&&”T”!==e?(this._state=1,this._index–):this._state=53:this._state=33:this.isTagStartChar(e)?(this._state=6,this.sectionStart=this._index):(this._state=20,this.sectionStart=this._index))},e.prototype.stateInClosingTagName=function(e){(“>”===e||l(e))&&(this.emitToken(“onclosetag”),this._state=7,this._index–)},e.prototype.stateAfterClosingTagName=function(e){“>”===e&&(this._state=1,this.sectionStart=this._index+1)},e.prototype.stateBeforeAttributeName=function(e){“>”===e?(this.cbs.onopentagend(),this._state=1,this.sectionStart=this._index+1):”/”===e?this._state=4:l(e)||(this._state=9,this.sectionStart=this._index)},e.prototype.stateInSelfClosingTag=function(e){“>”===e?(this.cbs.onselfclosingtag(),this._state=1,this.sectionStart=this._index+1,this.special=1):l(e)||(this._state=8,this._index–)},e.prototype.stateInAttributeName=function(e){(“=”===e||”/”===e||”>”===e||l(e))&&(this.cbs.onattribname(this.getSection()),this.sectionStart=-1,this._state=10,this._index–)},e.prototype.stateAfterAttributeName=function(e){“=”===e?this._state=11:”/”===e||”>”===e?(this.cbs.onattribend(void 0),this._state=8,this._index–):l(e)||(this.cbs.onattribend(void 0),this._state=9,this.sectionStart=this._index)},e.prototype.stateBeforeAttributeValue=function(e){‘”‘===e?(this._state=12,this.sectionStart=this._index+1):”‘”===e?(this._state=13,this.sectionStart=this._index+1):l(e)||(this._state=14,this.sectionStart=this._index,this._index–)},e.prototype.handleInAttributeValue=function(e,t){e===t?(this.emitToken(“onattribdata”),this.cbs.onattribend(t),this._state=8):this.decodeEntities&&”&”===e&&(this.emitToken(“onattribdata”),this.baseState=this._state,this._state=62,this.sectionStart=this._index)},e.prototype.stateInAttributeValueDoubleQuotes=function(e){this.handleInAttributeValue(e,'”‘)},e.prototype.stateInAttributeValueSingleQuotes=function(e){this.handleInAttributeValue(e,”‘”)},e.prototype.stateInAttributeValueNoQuotes=function(e){l(e)||”>”===e?(this.emitToken(“onattribdata”),this.cbs.onattribend(null),this._state=8,this._index–):this.decodeEntities&&”&”===e&&(this.emitToken(“onattribdata”),this.baseState=this._state,this._state=62,this.sectionStart=this._index)},e.prototype.stateBeforeDeclaration=function(e){this._state=”[“===e?23:”-“===e?18:16},e.prototype.stateInDeclaration=function(e){“>”===e&&(this.cbs.ondeclaration(this.getSection()),this._state=1,this.sectionStart=this._index+1)},e.prototype.stateInProcessingInstruction=function(e){“>”===e&&(this.cbs.onprocessinginstruction(this.getSection()),this._state=1,this.sectionStart=this._index+1)},e.prototype.stateBeforeComment=function(e){“-“===e?(this._state=19,this.sectionStart=this._index+1):this._state=16},e.prototype.stateInComment=function(e){“-“===e&&(this._state=21)},e.prototype.stateInSpecialComment=function(e){“>”===e&&(this.cbs.oncomment(this.buffer.substring(this.sectionStart,this._index)),this._state=1,this.sectionStart=this._index+1)},e.prototype.stateAfterComment1=function(e){this._state=”-“===e?22:19},e.prototype.stateAfterComment2=function(e){“>”===e?(this.cbs.oncomment(this.buffer.substring(this.sectionStart,this._index-2)),this._state=1,this.sectionStart=this._index+1):”-“!==e&&(this._state=19)},e.prototype.stateBeforeCdata6=function(e){“[“===e?(this._state=29,this.sectionStart=this._index+1):(this._state=16,this._index–)},e.prototype.stateInCdata=function(e){“]”===e&&(this._state=30)},e.prototype.stateAfterCdata1=function(e){this._state=”]”===e?31:29},e.prototype.stateAfterCdata2=function(e){“>”===e?(this.cbs.oncdata(this.buffer.substring(this.sectionStart,this._index-2)),this._state=1,this.sectionStart=this._index+1):”]”!==e&&(this._state=29)},e.prototype.stateBeforeSpecialS=function(e){“c”===e||”C”===e?this._state=34:”t”===e||”T”===e?this._state=44:(this._state=3,this._index–)},e.prototype.stateBeforeSpecialSEnd=function(e){2!==this.special||”c”!==e&&”C”!==e?3!==this.special||”t”!==e&&”T”!==e?this._state=1:this._state=48:this._state=39},e.prototype.stateBeforeSpecialLast=function(e,t){(“/”===e||”>”===e||l(e))&&(this.special=t),this._state=3,this._index–},e.prototype.stateAfterSpecialLast=function(e,t){“>”===e||l(e)?(this.special=1,this._state=6,this.sectionStart=this._index-t,this._index–):this._state=1},e.prototype.parseFixedEntity=function(e){if(void 0===e&&(e=this.xmlMode?a.default:s.default),this.sectionStart+1=2;){var r=this.buffer.substr(e,t);if(Object.prototype.hasOwnProperty.call(o.default,r))return this.emitPartial(o.default[r]),void(this.sectionStart+=t+1);t–}},e.prototype.stateInNamedEntity=function(e){“;”===e?(this.parseFixedEntity(),1===this.baseState&&this.sectionStart+1{var n=r(5639).Symbol;e.exports=n},4239:(e,t,r)=>{var n=r(2705),i=r(9607),s=r(2333),o=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?”[object Undefined]”:”[object Null]”:o&&o in Object(e)?i(e):s(e)}},7561:(e,t,r)=>{var n=r(7990),i=/^s+/;e.exports=function(e){return e?e.slice(0,n(e)+1).replace(i,””):e}},1957:(e,t,r)=>{var n=”object”==typeof r.g&&r.g&&r.g.Object===Object&&r.g;e.exports=n},9607:(e,t,r)=>{var n=r(2705),i=Object.prototype,s=i.hasOwnProperty,o=i.toString,a=n?n.toStringTag:void 0;e.exports=function(e){var t=s.call(e,a),r=e[a];try{e[a]=void 0;var n=!0}catch(e){}var i=o.call(e);return n&&(t?e[a]=r:delete e[a]),i}},2333:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},5639:(e,t,r)=>{var n=r(1957),i=”object”==typeof self&&self&&self.Object===Object&&self,s=n||i||Function(“return this”)();e.exports=s},7990:e=>{var t=/s/;e.exports=function(e){for(var r=e.length;r–&&t.test(e.charAt(r)););return r}},3279:(e,t,r)=>{var n=r(3218),i=r(7771),s=r(4841),o=Math.max,a=Math.min;e.exports=function(e,t,r){var l,c,u,h,p,d,f=0,m=!1,g=!1,b=!0;if(“function”!=typeof e)throw new TypeError(“Expected a function”);function y(t){var r=l,n=c;return l=c=void 0,f=t,h=e.apply(n,r)}function v(e){return f=e,p=setTimeout(x,t),m?y(e):h}function w(e){var r=e-d;return void 0===d||r>=t||r<0||g&&e-f>=u}function x(){var e=i();if(w(e))return S(e);p=setTimeout(x,function(e){var r=t-(e-d);return g?a(r,u-(e-f)):r}(e))}function S(e){return p=void 0,b&&l?y(e):(l=c=void 0,h)}function _(){var e=i(),r=w(e);if(l=arguments,c=this,d=e,r){if(void 0===p)return v(d);if(g)return clearTimeout(p),p=setTimeout(x,t),y(d)}return void 0===p&&(p=setTimeout(x,t)),h}return t=s(t)||0,n(r)&&(m=!!r.leading,u=(g=”maxWait”in r)?o(s(r.maxWait)||0,t):u,b=”trailing”in r?!!r.trailing:b),_.cancel=function(){void 0!==p&&clearTimeout(p),f=0,l=d=c=p=void 0},_.flush=function(){return void 0===p?h:S(i())},_}},3218:e=>{e.exports=function(e){var t=typeof e;return null!=e&&(“object”==t||”function”==t)}},7005:e=>{e.exports=function(e){return null!=e&&”object”==typeof e}},3448:(e,t,r)=>{var n=r(4239),i=r(7005);e.exports=function(e){return”symbol”==typeof e||i(e)&&”[object Symbol]”==n(e)}},7771:(e,t,r)=>{var n=r(5639);e.exports=function(){return n.Date.now()}},4841:(e,t,r)=>{var n=r(7561),i=r(3218),s=r(3448),o=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,l=/^0o[0-7]+$/i,c=parseInt;e.exports=function(e){if(“number”==typeof e)return e;if(s(e))return NaN;if(i(e)){var t=”function”==typeof e.valueOf?e.valueOf():e;e=i(t)?t+””:t}if(“string”!=typeof e)return 0===e?e:+e;e=n(e);var r=a.test(e);return r||l.test(e)?c(e.slice(2),r?2:8):o.test(e)?NaN:+e}},9430:function(e,t){var r,n;void 0===(n=”function”==typeof(r=function(){return function(e){function t(e){return” “===e||”t”===e||”n”===e||”f”===e||”r”===e}function r(t){var r,n=t.exec(e.substring(m));if(n)return r=n[0],m+=r.length,r}for(var n,i,s,o,a,l=e.length,c=/^[ tnru000c]+/,u=/^[, tnru000c]+/,h=/^[^ tnru000c]+/,p=/[,]+$/,d=/^d+$/,f=/^-?(?:[0-9]+|[0-9]*.[0-9]+)(?:[eE][+-]?[0-9]+)?$/,m=0,g=[];;){if(r(u),m>=l)return g;n=r(h),i=[],”,”===n.slice(-1)?(n=n.replace(p,””),y()):b()}function b(){for(r(c),s=””,o=”in descriptor”;;){if(a=e.charAt(m),”in descriptor”===o)if(t(a))s&&(i.push(s),s=””,o=”after descriptor”);else{if(“,”===a)return m+=1,s&&i.push(s),void y();if(“(“===a)s+=a,o=”in parens”;else{if(“”===a)return s&&i.push(s),void y();s+=a}}else if(“in parens”===o)if(“)”===a)s+=a,o=”in descriptor”;else{if(“”===a)return i.push(s),void y();s+=a}else if(“after descriptor”===o)if(t(a));else{if(“”===a)return void y();o=”in descriptor”,m-=1}m+=1}}function y(){var t,r,s,o,a,l,c,u,h,p=!1,m={};for(o=0;o{var t=String,r=function(){return{isColorSupported:!1,reset:t,bold:t,dim:t,italic:t,underline:t,inverse:t,hidden:t,strikethrough:t,black:t,red:t,green:t,yellow:t,blue:t,magenta:t,cyan:t,white:t,gray:t,bgBlack:t,bgRed:t,bgGreen:t,bgYellow:t,bgBlue:t,bgMagenta:t,bgCyan:t,bgWhite:t}};e.exports=r(),e.exports.createColors=r},1353:(e,t,r)=>{“use strict”;let n=r(1019);class i extends n{constructor(e){super(e),this.type=”atrule”}append(…e){return this.proxyOf.nodes||(this.nodes=[]),super.append(…e)}prepend(…e){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(…e)}}e.exports=i,i.default=i,n.registerAtRule(i)},9932:(e,t,r)=>{“use strict”;let n=r(5631);class i extends n{constructor(e){super(e),this.type=”comment”}}e.exports=i,i.default=i},1019:(e,t,r)=>{“use strict”;let n,i,s,{isClean:o,my:a}=r(5513),l=r(4258),c=r(9932),u=r(5631);function h(e){return e.map((e=>(e.nodes&&(e.nodes=h(e.nodes)),delete e.source,e)))}function p(e){if(e[o]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)p(t)}class d extends u{push(e){return e.parent=this,this.proxyOf.nodes.push(e),this}each(e){if(!this.proxyOf.nodes)return;let t,r,n=this.getIterator();for(;this.indexes[n]{let n;try{n=e(t,r)}catch(e){throw t.addToError(e)}return!1!==n&&t.walk&&(n=t.walk(e)),n}))}walkDecls(e,t){return t?e instanceof RegExp?this.walk(((r,n)=>{if(“decl”===r.type&&e.test(r.prop))return t(r,n)})):this.walk(((r,n)=>{if(“decl”===r.type&&r.prop===e)return t(r,n)})):(t=e,this.walk(((e,r)=>{if(“decl”===e.type)return t(e,r)})))}walkRules(e,t){return t?e instanceof RegExp?this.walk(((r,n)=>{if(“rule”===r.type&&e.test(r.selector))return t(r,n)})):this.walk(((r,n)=>{if(“rule”===r.type&&r.selector===e)return t(r,n)})):(t=e,this.walk(((e,r)=>{if(“rule”===e.type)return t(e,r)})))}walkAtRules(e,t){return t?e instanceof RegExp?this.walk(((r,n)=>{if(“atrule”===r.type&&e.test(r.name))return t(r,n)})):this.walk(((r,n)=>{if(“atrule”===r.type&&r.name===e)return t(r,n)})):(t=e,this.walk(((e,r)=>{if(“atrule”===e.type)return t(e,r)})))}walkComments(e){return this.walk(((t,r)=>{if(“comment”===t.type)return e(t,r)}))}append(…e){for(let t of e){let e=this.normalize(t,this.last);for(let t of e)this.proxyOf.nodes.push(t)}return this.markDirty(),this}prepend(…e){e=e.reverse();for(let t of e){let e=this.normalize(t,this.first,”prepend”).reverse();for(let t of e)this.proxyOf.nodes.unshift(t);for(let t in this.indexes)this.indexes[t]=this.indexes[t]+e.length}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let t of this.nodes)t.cleanRaws(e)}insertBefore(e,t){let r,n=0===(e=this.index(e))&&”prepend”,i=this.normalize(t,this.proxyOf.nodes[e],n).reverse();for(let t of i)this.proxyOf.nodes.splice(e,0,t);for(let t in this.indexes)r=this.indexes[t],e<=r&&(this.indexes[t]=r+i.length);return this.markDirty(),this}insertAfter(e,t){e=this.index(e);let r,n=this.normalize(t,this.proxyOf.nodes[e]).reverse();for(let t of n)this.proxyOf.nodes.splice(e+1,0,t);for(let t in this.indexes)r=this.indexes[t],e=e&&(this.indexes[r]=t-1);return this.markDirty(),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}replaceValues(e,t,r){return r||(r=t,t={}),this.walkDecls((n=>{t.props&&!t.props.includes(n.prop)||t.fast&&!n.value.includes(t.fast)||(n.value=n.value.replace(e,r))})),this.markDirty(),this}every(e){return this.nodes.every(e)}some(e){return this.nodes.some(e)}index(e){return”number”==typeof e?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}normalize(e,t){if(“string”==typeof e)e=h(n(e).nodes);else if(Array.isArray(e)){e=e.slice(0);for(let t of e)t.parent&&t.parent.removeChild(t,”ignore”)}else if(“root”===e.type&&”document”!==this.type){e=e.nodes.slice(0);for(let t of e)t.parent&&t.parent.removeChild(t,”ignore”)}else if(e.type)e=[e];else if(e.prop){if(void 0===e.value)throw new Error(“Value field is missed in node creation”);”string”!=typeof e.value&&(e.value=String(e.value)),e=[new l(e)]}else if(e.selector)e=[new i(e)];else if(e.name)e=[new s(e)];else{if(!e.text)throw new Error(“Unknown node type in node creation”);e=[new c(e)]}return e.map((e=>(e[a]||d.rebuild(e),(e=e.proxyOf).parent&&e.parent.removeChild(e),e[o]&&p(e),void 0===e.raws.before&&t&&void 0!==t.raws.before&&(e.raws.before=t.raws.before.replace(/S/g,””)),e.parent=this.proxyOf,e)))}getProxyProcessor(){return{set:(e,t,r)=>(e[t]===r||(e[t]=r,”name”!==t&&”params”!==t&&”selector”!==t||e.markDirty()),!0),get:(e,t)=>”proxyOf”===t?e:e[t]?”each”===t||”string”==typeof t&&t.startsWith(“walk”)?(…r)=>e[t](…r.map((e=>”function”==typeof e?(t,r)=>e(t.toProxy(),r):e))):”every”===t||”some”===t?r=>e[t](((e,…t)=>r(e.toProxy(),…t))):”root”===t?()=>e.root().toProxy():”nodes”===t?e.nodes.map((e=>e.toProxy())):”first”===t||”last”===t?e[t].toProxy():e[t]:e[t]}}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let e=this.lastEach;return this.indexes[e]=0,e}}d.registerParse=e=>{n=e},d.registerRule=e=>{i=e},d.registerAtRule=e=>{s=e},e.exports=d,d.default=d,d.rebuild=e=>{“atrule”===e.type?Object.setPrototypeOf(e,s.prototype):”rule”===e.type?Object.setPrototypeOf(e,i.prototype):”decl”===e.type?Object.setPrototypeOf(e,l.prototype):”comment”===e.type&&Object.setPrototypeOf(e,c.prototype),e[a]=!0,e.nodes&&e.nodes.forEach((e=>{d.rebuild(e)}))}},2671:(e,t,r)=>{“use strict”;let n=r(4241),i=r(2868);class s extends Error{constructor(e,t,r,n,i,o){super(e),this.name=”CssSyntaxError”,this.reason=e,i&&(this.file=i),n&&(this.source=n),o&&(this.plugin=o),void 0!==t&&void 0!==r&&(“number”==typeof t?(this.line=t,this.column=r):(this.line=t.line,this.column=t.column,this.endLine=r.line,this.endColumn=r.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,s)}setMessage(){this.message=this.plugin?this.plugin+”: “:””,this.message+=this.file?this.file:””,void 0!==this.line&&(this.message+=”:”+this.line+”:”+this.column),this.message+=”: “+this.reason}showSourceCode(e){if(!this.source)return””;let t=this.source;null==e&&(e=n.isColorSupported),i&&e&&(t=i(t));let r,s,o=t.split(/r?n/),a=Math.max(this.line-3,0),l=Math.min(this.line+2,o.length),c=String(l).length;if(e){let{bold:e,red:t,gray:i}=n.createColors(!0);r=r=>e(t(r)),s=e=>i(e)}else r=s=e=>e;return o.slice(a,l).map(((e,t)=>{let n=a+1+t,i=” “+(” “+n).slice(-c)+” | “;if(n===this.line){let t=s(i.replace(/d/g,” “))+e.slice(0,this.column-1).replace(/[^t]/g,” “);return r(“>”)+s(i)+e+”n “+t+r(“^”)}return” “+s(i)+e})).join(“n”)}toString(){let e=this.showSourceCode();return e&&(e=”nn”+e+”n”),this.name+”: “+this.message+e}}e.exports=s,s.default=s},4258:(e,t,r)=>{“use strict”;let n=r(5631);class i extends n{constructor(e){e&&void 0!==e.value&&”string”!=typeof e.value&&(e={…e,value:String(e.value)}),super(e),this.type=”decl”}get variable(){return this.prop.startsWith(“–“)||”$”===this.prop[0]}}e.exports=i,i.default=i},6461:(e,t,r)=>{“use strict”;let n,i,s=r(1019);class o extends s{constructor(e){super({type:”document”,…e}),this.nodes||(this.nodes=[])}toResult(e={}){return new n(new i,this,e).stringify()}}o.registerLazyResult=e=>{n=e},o.registerProcessor=e=>{i=e},e.exports=o,o.default=o},250:(e,t,r)=>{“use strict”;let n=r(4258),i=r(7981),s=r(9932),o=r(1353),a=r(5995),l=r(1025),c=r(1675);function u(e,t){if(Array.isArray(e))return e.map((e=>u(e)));let{inputs:r,…h}=e;if(r){t=[];for(let e of r){let r={…e,__proto__:a.prototype};r.map&&(r.map={…r.map,__proto__:i.prototype}),t.push(r)}}if(h.nodes&&(h.nodes=e.nodes.map((e=>u(e,t)))),h.source){let{inputId:e,…r}=h.source;h.source=r,null!=e&&(h.source.input=t[e])}if(“root”===h.type)return new l(h);if(“decl”===h.type)return new n(h);if(“rule”===h.type)return new c(h);if(“comment”===h.type)return new s(h);if(“atrule”===h.type)return new o(h);throw new Error(“Unknown node type: “+e.type)}e.exports=u,u.default=u},5995:(e,t,r)=>{“use strict”;let{SourceMapConsumer:n,SourceMapGenerator:i}=r(209),{fileURLToPath:s,pathToFileURL:o}=r(7414),{resolve:a,isAbsolute:l}=r(9830),{nanoid:c}=r(2961),u=r(2868),h=r(2671),p=r(7981),d=Symbol(“fromOffsetCache”),f=Boolean(n&&i),m=Boolean(a&&l);class g{constructor(e,t={}){if(null==e||”object”==typeof e&&!e.toString)throw new Error(`PostCSS received ${e} instead of CSS string`);if(this.css=e.toString(),”ufeff”===this.css[0]||””===this.css[0]?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,t.from&&(!m||/^w+:///.test(t.from)||l(t.from)?this.file=t.from:this.file=a(t.from)),m&&f){let e=new p(this.css,t);if(e.text){this.map=e;let t=e.consumer().file;!this.file&&t&&(this.file=this.mapResolve(t))}}this.file||(this.id=””),this.map&&(this.map.file=this.from)}fromOffset(e){let t,r;if(this[d])r=this[d];else{let e=this.css.split(“n”);r=new Array(e.length);let t=0;for(let n=0,i=e.length;n=t)n=r.length-1;else{let t,i=r.length-2;for(;n>1),e=r[t+1])){n=t;break}n=t+1}}return{line:n+1,col:e-r[n]+1}}error(e,t,r,n={}){let i,s,a;if(t&&”object”==typeof t){let e=t,n=r;if(“number”==typeof t.offset){let n=this.fromOffset(e.offset);t=n.line,r=n.col}else t=e.line,r=e.column;if(“number”==typeof n.offset){let e=this.fromOffset(n.offset);s=e.line,a=e.col}else s=n.line,a=n.column}else if(!r){let e=this.fromOffset(t);t=e.line,r=e.col}let l=this.origin(t,r,s,a);return i=l?new h(e,void 0===l.endLine?l.line:{line:l.line,column:l.column},void 0===l.endLine?l.column:{line:l.endLine,column:l.endColumn},l.source,l.file,n.plugin):new h(e,void 0===s?t:{line:t,column:r},void 0===s?r:{line:s,column:a},this.css,this.file,n.plugin),i.input={line:t,column:r,endLine:s,endColumn:a,source:this.css},this.file&&(o&&(i.input.url=o(this.file).toString()),i.input.file=this.file),i}origin(e,t,r,n){if(!this.map)return!1;let i,a,c=this.map.consumer(),u=c.originalPositionFor({line:e,column:t});if(!u.source)return!1;”number”==typeof r&&(i=c.originalPositionFor({line:r,column:n})),a=l(u.source)?o(u.source):new URL(u.source,this.map.consumer().sourceRoot||o(this.map.mapFile));let h={url:a.toString(),line:u.line,column:u.column,endLine:i&&i.line,endColumn:i&&i.column};if(“file:”===a.protocol){if(!s)throw new Error(“file: protocol is not available in this PostCSS build”);h.file=s(a)}let p=c.sourceContentFor(u.source);return p&&(h.source=p),h}mapResolve(e){return/^w+:///.test(e)?e:a(this.map.consumer().sourceRoot||this.map.root||”.”,e)}get from(){return this.file||this.id}toJSON(){let e={};for(let t of[“hasBOM”,”css”,”file”,”id”])null!=this[t]&&(e[t]=this[t]);return this.map&&(e.map={…this.map},e.map.consumerCache&&(e.map.consumerCache=void 0)),e}}e.exports=g,g.default=g,u&&u.registerInput&&u.registerInput(g)},1939:(e,t,r)=>{“use strict”;let{isClean:n,my:i}=r(5513),s=r(8505),o=r(7088),a=r(1019),l=r(6461),c=(r(2448),r(3632)),u=r(6939),h=r(1025);const p={document:”Document”,root:”Root”,atrule:”AtRule”,rule:”Rule”,decl:”Declaration”,comment:”Comment”},d={postcssPlugin:!0,prepare:!0,Once:!0,Document:!0,Root:!0,Declaration:!0,Rule:!0,AtRule:!0,Comment:!0,DeclarationExit:!0,RuleExit:!0,AtRuleExit:!0,CommentExit:!0,RootExit:!0,DocumentExit:!0,OnceExit:!0},f={postcssPlugin:!0,prepare:!0,Once:!0};function m(e){return”object”==typeof e&&”function”==typeof e.then}function g(e){let t=!1,r=p[e.type];return”decl”===e.type?t=e.prop.toLowerCase():”atrule”===e.type&&(t=e.name.toLowerCase()),t&&e.append?[r,r+”-“+t,0,r+”Exit”,r+”Exit-“+t]:t?[r,r+”-“+t,r+”Exit”,r+”Exit-“+t]:e.append?[r,0,r+”Exit”]:[r,r+”Exit”]}function b(e){let t;return t=”document”===e.type?[“Document”,0,”DocumentExit”]:”root”===e.type?[“Root”,0,”RootExit”]:g(e),{node:e,events:t,eventIndex:0,visitors:[],visitorIndex:0,iterator:0}}function y(e){return e[n]=!1,e.nodes&&e.nodes.forEach((e=>y(e))),e}let v={};class w{constructor(e,t,r){let n;if(this.stringified=!1,this.processed=!1,”object”!=typeof t||null===t||”root”!==t.type&&”document”!==t.type)if(t instanceof w||t instanceof c)n=y(t.root),t.map&&(void 0===r.map&&(r.map={}),r.map.inline||(r.map.inline=!1),r.map.prev=t.map);else{let e=u;r.syntax&&(e=r.syntax.parse),r.parser&&(e=r.parser),e.parse&&(e=e.parse);try{n=e(t,r)}catch(e){this.processed=!0,this.error=e}n&&!n[i]&&a.rebuild(n)}else n=y(t);this.result=new c(e,n,r),this.helpers={…v,result:this.result,postcss:v},this.plugins=this.processor.plugins.map((e=>”object”==typeof e&&e.prepare?{…e,…e.prepare(this.result)}:e))}get[Symbol.toStringTag](){return”LazyResult”}get processor(){return this.result.processor}get opts(){return this.result.opts}get css(){return this.stringify().css}get content(){return this.stringify().content}get map(){return this.stringify().map}get root(){return this.sync().root}get messages(){return this.sync().messages}warnings(){return this.sync().warnings()}toString(){return this.css}then(e,t){return this.async().then(e,t)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let e of this.plugins)if(m(this.runOnRoot(e)))throw this.getAsyncError();if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[n];)e[n]=!0,this.walkSync(e);if(this.listeners.OnceExit)if(“document”===e.type)for(let t of e.nodes)this.visitSync(this.listeners.OnceExit,t);else this.visitSync(this.listeners.OnceExit,e)}return this.result}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let e=this.result.opts,t=o;e.syntax&&(t=e.syntax.stringify),e.stringifier&&(t=e.stringifier),t.stringify&&(t=t.stringify);let r=new s(t,this.result.root,this.result.opts).generate();return this.result.css=r[0],this.result.map=r[1],this.result}walkSync(e){e[n]=!0;let t=g(e);for(let r of t)if(0===r)e.nodes&&e.each((e=>{e[n]||this.walkSync(e)}));else{let t=this.listeners[r];if(t&&this.visitSync(t,e.toProxy()))return}}visitSync(e,t){for(let[r,n]of e){let e;this.result.lastPlugin=r;try{e=n(t,this.helpers)}catch(e){throw this.handleError(e,t.proxyOf)}if(“root”!==t.type&&”document”!==t.type&&!t.parent)return!0;if(m(e))throw this.getAsyncError()}}runOnRoot(e){this.result.lastPlugin=e;try{if(“object”==typeof e&&e.Once){if(“document”===this.result.root.type){let t=this.result.root.nodes.map((t=>e.Once(t,this.helpers)));return m(t[0])?Promise.all(t):t}return e.Once(this.result.root,this.helpers)}if(“function”==typeof e)return e(this.result.root,this.result)}catch(e){throw this.handleError(e)}}getAsyncError(){throw new Error(“Use process(css).then(cb) to work with async plugins”)}handleError(e,t){let r=this.result.lastPlugin;try{t&&t.addToError(e),this.error=e,”CssSyntaxError”!==e.name||e.plugin?r.postcssVersion:(e.plugin=r.postcssPlugin,e.setMessage())}catch(e){console&&console.error&&console.error(e)}return e}async runAsync(){this.plugin=0;for(let e=0;e0;){let e=this.visitTick(t);if(m(e))try{await e}catch(e){let r=t[t.length-1].node;throw this.handleError(e,r)}}}if(this.listeners.OnceExit)for(let[t,r]of this.listeners.OnceExit){this.result.lastPlugin=t;try{if(“document”===e.type){let t=e.nodes.map((e=>r(e,this.helpers)));await Promise.all(t)}else await r(e,this.helpers)}catch(e){throw this.handleError(e)}}}return this.processed=!0,this.stringify()}prepareVisitors(){this.listeners={};let e=(e,t,r)=>{this.listeners[t]||(this.listeners[t]=[]),this.listeners[t].push([e,r])};for(let t of this.plugins)if(“object”==typeof t)for(let r in t){if(!d[r]&&/^[A-Z]/.test(r))throw new Error(`Unknown event ${r} in ${t.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!f[r])if(“object”==typeof t[r])for(let n in t[r])e(t,”*”===n?r:r+”-“+n.toLowerCase(),t[r][n]);else”function”==typeof t[r]&&e(t,r,t[r])}this.hasListener=Object.keys(this.listeners).length>0}visitTick(e){let t=e[e.length-1],{node:r,visitors:i}=t;if(“root”!==r.type&&”document”!==r.type&&!r.parent)return void e.pop();if(i.length>0&&t.visitorIndex{“use strict”;let t={split(e,t,r){let n=[],i=””,s=!1,o=0,a=!1,l=!1;for(let r of e)l?l=!1:”\”===r?l=!0:a?r===a&&(a=!1):'”‘===r||”‘”===r?a=r:”(“===r?o+=1:”)”===r?o>0&&(o-=1):0===o&&t.includes(r)&&(s=!0),s?(“”!==i&&n.push(i.trim()),i=””,s=!1):i+=r;return(r||””!==i)&&n.push(i.trim()),n},space:e=>t.split(e,[” “,”n”,”t”]),comma:e=>t.split(e,[“,”],!0)};e.exports=t,t.default=t},8505:(e,t,r)=>{“use strict”;let{SourceMapConsumer:n,SourceMapGenerator:i}=r(209),{dirname:s,resolve:o,relative:a,sep:l}=r(9830),{pathToFileURL:c}=r(7414),u=r(5995),h=Boolean(n&&i),p=Boolean(s&&o&&a&&l);e.exports=class{constructor(e,t,r,n){this.stringify=e,this.mapOpts=r.map||{},this.root=t,this.opts=r,this.css=n}isMap(){return void 0!==this.opts.map?!!this.opts.map:this.previous().length>0}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk((e=>{if(e.source&&e.source.input.map){let t=e.source.input.map;this.previousMaps.includes(t)||this.previousMaps.push(t)}}));else{let e=new u(this.css,this.opts);e.map&&this.previousMaps.push(e.map)}return this.previousMaps}isInline(){if(void 0!==this.mapOpts.inline)return this.mapOpts.inline;let e=this.mapOpts.annotation;return(void 0===e||!0===e)&&(!this.previous().length||this.previous().some((e=>e.inline)))}isSourcesContent(){return void 0!==this.mapOpts.sourcesContent?this.mapOpts.sourcesContent:!this.previous().length||this.previous().some((e=>e.withContent()))}clearAnnotation(){if(!1!==this.mapOpts.annotation)if(this.root){let e;for(let t=this.root.nodes.length-1;t>=0;t–)e=this.root.nodes[t],”comment”===e.type&&0===e.text.indexOf(“# sourceMappingURL=”)&&this.root.removeChild(t)}else this.css&&(this.css=this.css.replace(/(n)?/*#[Ss]*?*/$/gm,””))}setSourcesContent(){let e={};if(this.root)this.root.walk((t=>{if(t.source){let r=t.source.input.from;r&&!e[r]&&(e[r]=!0,this.map.setSourceContent(this.toUrl(this.path(r)),t.source.input.css))}}));else if(this.css){let e=this.opts.from?this.toUrl(this.path(this.opts.from)):””;this.map.setSourceContent(e,this.css)}}applyPrevMaps(){for(let e of this.previous()){let t,r=this.toUrl(this.path(e.file)),i=e.root||s(e.file);!1===this.mapOpts.sourcesContent?(t=new n(e.text),t.sourcesContent&&(t.sourcesContent=t.sourcesContent.map((()=>null)))):t=e.consumer(),this.map.applySourceMap(t,r,this.toUrl(this.path(i)))}}isAnnotation(){return!!this.isInline()||(void 0!==this.mapOpts.annotation?this.mapOpts.annotation:!this.previous().length||this.previous().some((e=>e.annotation)))}toBase64(e){return Buffer?Buffer.from(e).toString(“base64″):window.btoa(unescape(encodeURIComponent(e)))}addAnnotation(){let e;e=this.isInline()?”data:application/json;base64,”+this.toBase64(this.map.toString()):”string”==typeof this.mapOpts.annotation?this.mapOpts.annotation:”function”==typeof this.mapOpts.annotation?this.mapOpts.annotation(this.opts.to,this.root):this.outputFile()+”.map”;let t=”n”;this.css.includes(“rn”)&&(t=”rn”),this.css+=t+”/*# sourceMappingURL=”+e+” */”}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):”to.css”}generateMap(){if(this.root)this.generateString();else if(1===this.previous().length){let e=this.previous()[0].consumer();e.file=this.outputFile(),this.map=i.fromSourceMap(e)}else this.map=new i({file:this.outputFile()}),this.map.addMapping({source:this.opts.from?this.toUrl(this.path(this.opts.from)):””,generated:{line:1,column:0},original:{line:1,column:0}});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}path(e){if(0===e.indexOf(“<"))return e;if(/^w+:///.test(e))return e;if(this.mapOpts.absolute)return e;let t=this.opts.to?s(this.opts.to):".";return"string"==typeof this.mapOpts.annotation&&(t=s(o(t,this.mapOpts.annotation))),a(t,e)}toUrl(e){return"\"===l&&(e=e.replace(/\/g,"/")),encodeURI(e).replace(/[#?]/g,encodeURIComponent)}sourcePath(e){if(this.mapOpts.from)return this.toUrl(this.mapOpts.from);if(this.mapOpts.absolute){if(c)return c(e.source.input.from).toString();throw new Error("`map.absolute` option is not available in this PostCSS build")}return this.toUrl(this.path(e.source.input.from))}generateString(){this.css="",this.map=new i({file:this.outputFile()});let e,t,r=1,n=1,s="",o={source:"",generated:{line:0,column:0},original:{line:0,column:0}};this.stringify(this.root,((i,a,l)=>{if(this.css+=i,a&&”end”!==l&&(o.generated.line=r,o.generated.column=n-1,a.source&&a.source.start?(o.source=this.sourcePath(a),o.original.line=a.source.start.line,o.original.column=a.source.start.column-1,this.map.addMapping(o)):(o.source=s,o.original.line=1,o.original.column=0,this.map.addMapping(o))),e=i.match(/n/g),e?(r+=e.length,t=i.lastIndexOf(“n”),n=i.length-t):n+=i.length,a&&”start”!==l){let e=a.parent||{raws:{}};(“decl”!==a.type||a!==e.last||e.raws.semicolon)&&(a.source&&a.source.end?(o.source=this.sourcePath(a),o.original.line=a.source.end.line,o.original.column=a.source.end.column-1,o.generated.line=r,o.generated.column=n-2,this.map.addMapping(o)):(o.source=s,o.original.line=1,o.original.column=0,o.generated.line=r,o.generated.column=n-1,this.map.addMapping(o)))}}))}generate(){if(this.clearAnnotation(),p&&h&&this.isMap())return this.generateMap();{let e=””;return this.stringify(this.root,(t=>{e+=t})),[e]}}}},7647:(e,t,r)=>{“use strict”;let n=r(8505),i=r(7088),s=(r(2448),r(6939));const o=r(3632);class a{constructor(e,t,r){let s;t=t.toString(),this.stringified=!1,this._processor=e,this._css=t,this._opts=r,this._map=void 0;let a=i;this.result=new o(this._processor,s,this._opts),this.result.css=t;let l=this;Object.defineProperty(this.result,”root”,{get:()=>l.root});let c=new n(a,s,this._opts,t);if(c.isMap()){let[e,t]=c.generate();e&&(this.result.css=e),t&&(this.result.map=t)}}get[Symbol.toStringTag](){return”NoWorkResult”}get processor(){return this.result.processor}get opts(){return this.result.opts}get css(){return this.result.css}get content(){return this.result.css}get map(){return this.result.map}get root(){if(this._root)return this._root;let e,t=s;try{e=t(this._css,this._opts)}catch(e){this.error=e}if(this.error)throw this.error;return this._root=e,e}get messages(){return[]}warnings(){return[]}toString(){return this._css}then(e,t){return this.async().then(e,t)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}sync(){if(this.error)throw this.error;return this.result}}e.exports=a,a.default=a},5631:(e,t,r)=>{“use strict”;let{isClean:n,my:i}=r(5513),s=r(2671),o=r(1062),a=r(7088);function l(e,t){let r=new e.constructor;for(let n in e){if(!Object.prototype.hasOwnProperty.call(e,n))continue;if(“proxyCache”===n)continue;let i=e[n],s=typeof i;”parent”===n&&”object”===s?t&&(r[n]=t):”source”===n?r[n]=i:Array.isArray(i)?r[n]=i.map((e=>l(e,r))):(“object”===s&&null!==i&&(i=l(i)),r[n]=i)}return r}class c{constructor(e={}){this.raws={},this[n]=!1,this[i]=!0;for(let t in e)if(“nodes”===t){this.nodes=[];for(let r of e[t])”function”==typeof r.clone?this.append(r.clone()):this.append(r)}else this[t]=e[t]}error(e,t={}){if(this.source){let{start:r,end:n}=this.rangeBy(t);return this.source.input.error(e,{line:r.line,column:r.column},{line:n.line,column:n.column},t)}return new s(e)}warn(e,t,r){let n={node:this};for(let e in r)n[e]=r[e];return e.warn(t,n)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}toString(e=a){e.stringify&&(e=e.stringify);let t=””;return e(this,(e=>{t+=e})),t}assign(e={}){for(let t in e)this[t]=e[t];return this}clone(e={}){let t=l(this);for(let r in e)t[r]=e[r];return t}cloneBefore(e={}){let t=this.clone(e);return this.parent.insertBefore(this,t),t}cloneAfter(e={}){let t=this.clone(e);return this.parent.insertAfter(this,t),t}replaceWith(…e){if(this.parent){let t=this,r=!1;for(let n of e)n===this?r=!0:r?(this.parent.insertAfter(t,n),t=n):this.parent.insertBefore(t,n);r||this.remove()}return this}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}prev(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e-1]}before(e){return this.parent.insertBefore(this,e),this}after(e){return this.parent.insertAfter(this,e),this}root(){let e=this;for(;e.parent&&”document”!==e.parent.type;)e=e.parent;return e}raw(e,t){return(new o).raw(this,e,t)}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}toJSON(e,t){let r={},n=null==t;t=t||new Map;let i=0;for(let e in this){if(!Object.prototype.hasOwnProperty.call(this,e))continue;if(“parent”===e||”proxyCache”===e)continue;let n=this[e];if(Array.isArray(n))r[e]=n.map((e=>”object”==typeof e&&e.toJSON?e.toJSON(null,t):e));else if(“object”==typeof n&&n.toJSON)r[e]=n.toJSON(null,t);else if(“source”===e){let s=t.get(n.input);null==s&&(s=i,t.set(n.input,i),i++),r[e]={inputId:s,start:n.start,end:n.end}}else r[e]=n}return n&&(r.inputs=[…t.keys()].map((e=>e.toJSON()))),r}positionInside(e){let t=this.toString(),r=this.source.start.column,n=this.source.start.line;for(let i=0;i“proxyOf”===t?e:”root”===t?()=>e.root().toProxy():e[t]}}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}addToError(e){if(e.postcssNode=this,e.stack&&this.source&&/ns{4}at /.test(e.stack)){let t=this.source;e.stack=e.stack.replace(/ns{4}at /,`$&${t.input.from}:${t.start.line}:${t.start.column}$&`)}return e}markDirty(){if(this[n]){this[n]=!1;let e=this;for(;e=e.parent;)e[n]=!1}}get proxyOf(){return this}}e.exports=c,c.default=c},6939:(e,t,r)=>{“use strict”;let n=r(1019),i=r(8867),s=r(5995);function o(e,t){let r=new s(e,t),n=new i(r);try{n.parse()}catch(e){throw e}return n.root}e.exports=o,o.default=o,n.registerParse(o)},8867:(e,t,r)=>{“use strict”;let n=r(4258),i=r(3852),s=r(9932),o=r(1353),a=r(1025),l=r(1675);const c={empty:!0,space:!0};e.exports=class{constructor(e){this.input=e,this.root=new a,this.current=this.root,this.spaces=””,this.semicolon=!1,this.customProperty=!1,this.createTokenizer(),this.root.source={input:e,start:{offset:0,line:1,column:1}}}createTokenizer(){this.tokenizer=i(this.input)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch(e=this.tokenizer.nextToken(),e[0]){case”space”:this.spaces+=e[1];break;case”;”:this.freeSemicolon(e);break;case”}”:this.end(e);break;case”comment”:this.comment(e);break;case”at-word”:this.atrule(e);break;case”{“:this.emptyRule(e);break;default:this.other(e)}this.endFile()}comment(e){let t=new s;this.init(t,e[2]),t.source.end=this.getPosition(e[3]||e[2]);let r=e[1].slice(2,-2);if(/^s*$/.test(r))t.text=””,t.raws.left=r,t.raws.right=””;else{let e=r.match(/^(s*)([^]*S)(s*)$/);t.text=e[2],t.raws.left=e[1],t.raws.right=e[3]}}emptyRule(e){let t=new l;this.init(t,e[2]),t.selector=””,t.raws.between=””,this.current=t}other(e){let t=!1,r=null,n=!1,i=null,s=[],o=e[1].startsWith(“–“),a=[],l=e;for(;l;){if(r=l[0],a.push(l),”(“===r||”[“===r)i||(i=l),s.push(“(“===r?”)”:”]”);else if(o&&n&&”{“===r)i||(i=l),s.push(“}”);else if(0===s.length){if(“;”===r){if(n)return void this.decl(a,o);break}if(“{“===r)return void this.rule(a);if(“}”===r){this.tokenizer.back(a.pop()),t=!0;break}”:”===r&&(n=!0)}else r===s[s.length-1]&&(s.pop(),0===s.length&&(i=null));l=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(t=!0),s.length>0&&this.unclosedBracket(i),t&&n){if(!o)for(;a.length&&(l=a[a.length-1][0],”space”===l||”comment”===l);)this.tokenizer.back(a.pop());this.decl(a,o)}else this.unknownWord(a)}rule(e){e.pop();let t=new l;this.init(t,e[0][2]),t.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(t,”selector”,e),this.current=t}decl(e,t){let r=new n;this.init(r,e[0][2]);let i,s=e[e.length-1];for(“;”===s[0]&&(this.semicolon=!0,e.pop()),r.source.end=this.getPosition(s[3]||s[2]||function(e){for(let t=e.length-1;t>=0;t–){let r=e[t],n=r[3]||r[2];if(n)return n}}(e));”word”!==e[0][0];)1===e.length&&this.unknownWord(e),r.raws.before+=e.shift()[1];for(r.source.start=this.getPosition(e[0][2]),r.prop=””;e.length;){let t=e[0][0];if(“:”===t||”space”===t||”comment”===t)break;r.prop+=e.shift()[1]}for(r.raws.between=””;e.length;){if(i=e.shift(),”:”===i[0]){r.raws.between+=i[1];break}”word”===i[0]&&/w/.test(i[1])&&this.unknownWord([i]),r.raws.between+=i[1]}”_”!==r.prop[0]&&”*”!==r.prop[0]||(r.raws.before+=r.prop[0],r.prop=r.prop.slice(1));let o,a=[];for(;e.length&&(o=e[0][0],”space”===o||”comment”===o);)a.push(e.shift());this.precheckMissedSemicolon(e);for(let t=e.length-1;t>=0;t–){if(i=e[t],”!important”===i[1].toLowerCase()){r.important=!0;let n=this.stringFrom(e,t);n=this.spacesFromEnd(e)+n,” !important”!==n&&(r.raws.important=n);break}if(“important”===i[1].toLowerCase()){let n=e.slice(0),i=””;for(let e=t;e>0;e–){let t=n[e][0];if(0===i.trim().indexOf(“!”)&&”space”!==t)break;i=n.pop()[1]+i}0===i.trim().indexOf(“!”)&&(r.important=!0,r.raws.important=i,e=n)}if(“space”!==i[0]&&”comment”!==i[0])break}e.some((e=>”space”!==e[0]&&”comment”!==e[0]))&&(r.raws.between+=a.map((e=>e[1])).join(“”),a=[]),this.raw(r,”value”,a.concat(e),t),r.value.includes(“:”)&&!t&&this.checkMissedSemicolon(e)}atrule(e){let t,r,n,i=new o;i.name=e[1].slice(1),””===i.name&&this.unnamedAtrule(i,e),this.init(i,e[2]);let s=!1,a=!1,l=[],c=[];for(;!this.tokenizer.endOfFile();){if(t=(e=this.tokenizer.nextToken())[0],”(“===t||”[“===t?c.push(“(“===t?”)”:”]”):”{“===t&&c.length>0?c.push(“}”):t===c[c.length-1]&&c.pop(),0===c.length){if(“;”===t){i.source.end=this.getPosition(e[2]),this.semicolon=!0;break}if(“{“===t){a=!0;break}if(“}”===t){if(l.length>0){for(n=l.length-1,r=l[n];r&&”space”===r[0];)r=l[–n];r&&(i.source.end=this.getPosition(r[3]||r[2]))}this.end(e);break}l.push(e)}else l.push(e);if(this.tokenizer.endOfFile()){s=!0;break}}i.raws.between=this.spacesAndCommentsFromEnd(l),l.length?(i.raws.afterName=this.spacesAndCommentsFromStart(l),this.raw(i,”params”,l),s&&(e=l[l.length-1],i.source.end=this.getPosition(e[3]||e[2]),this.spaces=i.raws.between,i.raws.between=””)):(i.raws.afterName=””,i.params=””),a&&(i.nodes=[],this.current=i)}end(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||””)+this.spaces,this.spaces=””,this.current.parent?(this.current.source.end=this.getPosition(e[2]),this.current=this.current.parent):this.unexpectedClose(e)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||””)+this.spaces}freeSemicolon(e){if(this.spaces+=e[1],this.current.nodes){let e=this.current.nodes[this.current.nodes.length-1];e&&”rule”===e.type&&!e.raws.ownSemicolon&&(e.raws.ownSemicolon=this.spaces,this.spaces=””)}}getPosition(e){let t=this.input.fromOffset(e);return{offset:e,line:t.line,column:t.col}}init(e,t){this.current.push(e),e.source={start:this.getPosition(t),input:this.input},e.raws.before=this.spaces,this.spaces=””,”comment”!==e.type&&(this.semicolon=!1)}raw(e,t,r,n){let i,s,o,a,l=r.length,u=””,h=!0;for(let e=0;ee+t[1]),””);e.raws[t]={value:u,raw:n}}e[t]=u}spacesAndCommentsFromEnd(e){let t,r=””;for(;e.length&&(t=e[e.length-1][0],”space”===t||”comment”===t);)r=e.pop()[1]+r;return r}spacesAndCommentsFromStart(e){let t,r=””;for(;e.length&&(t=e[0][0],”space”===t||”comment”===t);)r+=e.shift()[1];return r}spacesFromEnd(e){let t,r=””;for(;e.length&&(t=e[e.length-1][0],”space”===t);)r=e.pop()[1]+r;return r}stringFrom(e,t){let r=””;for(let n=t;n=0&&(r=e[i],”space”===r[0]||(n+=1,2!==n));i–);throw this.input.error(“Missed semicolon”,”word”===r[0]?r[3]+1:r[2])}}},20:(e,t,r)=>{“use strict”;let n=r(2671),i=r(4258),s=r(1939),o=r(1019),a=r(1723),l=r(7088),c=r(250),u=r(6461),h=r(1728),p=r(9932),d=r(1353),f=r(3632),m=r(5995),g=r(6939),b=r(4715),y=r(1675),v=r(1025),w=r(5631);function x(…e){return 1===e.length&&Array.isArray(e[0])&&(e=e[0]),new a(e)}x.plugin=function(e,t){let r,n=!1;function i(…r){console&&console.warn&&!n&&(n=!0,console.warn(e+”: postcss.plugin was deprecated. Migration guide:nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration”),process.env.LANG&&process.env.LANG.startsWith(“cn”)&&console.warn(e+”: 里面 postcss.plugin 被弃用. 迁移指南:nhttps://www.w3ctech.com/topic/2226″));let i=t(…r);return i.postcssPlugin=e,i.postcssVersion=(new a).version,i}return Object.defineProperty(i,”postcss”,{get:()=>(r||(r=i()),r)}),i.process=function(e,t,r){return x([i(r)]).process(e,t)},i},x.stringify=l,x.parse=g,x.fromJSON=c,x.list=b,x.comment=e=>new p(e),x.atRule=e=>new d(e),x.decl=e=>new i(e),x.rule=e=>new y(e),x.root=e=>new v(e),x.document=e=>new u(e),x.CssSyntaxError=n,x.Declaration=i,x.Container=o,x.Processor=a,x.Document=u,x.Comment=p,x.Warning=h,x.AtRule=d,x.Result=f,x.Input=m,x.Rule=y,x.Root=v,x.Node=w,s.registerPostcss(x),e.exports=x,x.default=x},7981:(e,t,r)=>{“use strict”;let{SourceMapConsumer:n,SourceMapGenerator:i}=r(209),{existsSync:s,readFileSync:o}=r(4777),{dirname:a,join:l}=r(9830);class c{constructor(e,t){if(!1===t.map)return;this.loadAnnotation(e),this.inline=this.startWith(this.annotation,”data:”);let r=t.map?t.map.prev:void 0,n=this.loadMap(t.from,r);!this.mapFile&&t.from&&(this.mapFile=t.from),this.mapFile&&(this.root=a(this.mapFile)),n&&(this.text=n)}consumer(){return this.consumerCache||(this.consumerCache=new n(this.text)),this.consumerCache}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}startWith(e,t){return!!e&&e.substr(0,t.length)===t}getAnnotationURL(e){return e.replace(/^/*s*# sourceMappingURL=/,””).trim()}loadAnnotation(e){let t=e.match(//*s*# sourceMappingURL=/gm);if(!t)return;let r=e.lastIndexOf(t.pop()),n=e.indexOf(“*/”,r);r>-1&&n>-1&&(this.annotation=this.getAnnotationURL(e.substring(r,n)))}decodeInline(e){if(/^data:application/json;charset=utf-?8,/.test(e)||/^data:application/json,/.test(e))return decodeURIComponent(e.substr(RegExp.lastMatch.length));if(/^data:application/json;charset=utf-?8;base64,/.test(e)||/^data:application/json;base64,/.test(e))return t=e.substr(RegExp.lastMatch.length),Buffer?Buffer.from(t,”base64″).toString():window.atob(t);var t;let r=e.match(/data:application/json;([^,]+),/)[1];throw new Error(“Unsupported source map encoding “+r)}loadFile(e){if(this.root=a(e),s(e))return this.mapFile=e,o(e,”utf-8”).toString().trim()}loadMap(e,t){if(!1===t)return!1;if(t){if(“string”==typeof t)return t;if(“function”!=typeof t){if(t instanceof n)return i.fromSourceMap(t).toString();if(t instanceof i)return t.toString();if(this.isMap(t))return JSON.stringify(t);throw new Error(“Unsupported previous source map format: “+t.toString())}{let r=t(e);if(r){let e=this.loadFile(r);if(!e)throw new Error(“Unable to load previous source map: “+r.toString());return e}}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let t=this.annotation;return e&&(t=l(a(e),t)),this.loadFile(t)}}}isMap(e){return”object”==typeof e&&(“string”==typeof e.mappings||”string”==typeof e._mappings||Array.isArray(e.sections))}}e.exports=c,c.default=c},1723:(e,t,r)=>{“use strict”;let n=r(7647),i=r(1939),s=r(6461),o=r(1025);class a{constructor(e=[]){this.version=”8.4.14″,this.plugins=this.normalize(e)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}process(e,t={}){return 0===this.plugins.length&&void 0===t.parser&&void 0===t.stringifier&&void 0===t.syntax?new n(this,e,t):new i(this,e,t)}normalize(e){let t=[];for(let r of e)if(!0===r.postcss?r=r():r.postcss&&(r=r.postcss),”object”==typeof r&&Array.isArray(r.plugins))t=t.concat(r.plugins);else if(“object”==typeof r&&r.postcssPlugin)t.push(r);else if(“function”==typeof r)t.push(r);else if(“object”!=typeof r||!r.parse&&!r.stringify)throw new Error(r+” is not a PostCSS plugin”);return t}}e.exports=a,a.default=a,o.registerProcessor(a),s.registerProcessor(a)},3632:(e,t,r)=>{“use strict”;let n=r(1728);class i{constructor(e,t,r){this.processor=e,this.messages=[],this.root=t,this.opts=r,this.css=void 0,this.map=void 0}toString(){return this.css}warn(e,t={}){t.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(t.plugin=this.lastPlugin.postcssPlugin);let r=new n(e,t);return this.messages.push(r),r}warnings(){return this.messages.filter((e=>”warning”===e.type))}get content(){return this.css}}e.exports=i,i.default=i},1025:(e,t,r)=>{“use strict”;let n,i,s=r(1019);class o extends s{constructor(e){super(e),this.type=”root”,this.nodes||(this.nodes=[])}removeChild(e,t){let r=this.index(e);return!t&&0===r&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[r].raws.before),super.removeChild(e)}normalize(e,t,r){let n=super.normalize(e);if(t)if(“prepend”===r)this.nodes.length>1?t.raws.before=this.nodes[1].raws.before:delete t.raws.before;else if(this.first!==t)for(let e of n)e.raws.before=t.raws.before;return n}toResult(e={}){return new n(new i,this,e).stringify()}}o.registerLazyResult=e=>{n=e},o.registerProcessor=e=>{i=e},e.exports=o,o.default=o},1675:(e,t,r)=>{“use strict”;let n=r(1019),i=r(4715);class s extends n{constructor(e){super(e),this.type=”rule”,this.nodes||(this.nodes=[])}get selectors(){return i.comma(this.selector)}set selectors(e){let t=this.selector?this.selector.match(/,s*/):null,r=t?t[0]:”,”+this.raw(“between”,”beforeOpen”);this.selector=e.join(r)}}e.exports=s,s.default=s,n.registerRule(s)},1062:e=>{“use strict”;const t={colon:”: “,indent:” “,beforeDecl:”n”,beforeRule:”n”,beforeOpen:” “,beforeClose:”n”,beforeComment:”n”,after:”n”,emptyBody:””,commentLeft:” “,commentRight:” “,semicolon:!1};class r{constructor(e){this.builder=e}stringify(e,t){if(!this[e.type])throw new Error(“Unknown AST node type “+e.type+”. Maybe you need to change PostCSS stringifier.”);this[e.type](e,t)}document(e){this.body(e)}root(e){this.body(e),e.raws.after&&this.builder(e.raws.after)}comment(e){let t=this.raw(e,”left”,”commentLeft”),r=this.raw(e,”right”,”commentRight”);this.builder(“/*”+t+e.text+r+”*/”,e)}decl(e,t){let r=this.raw(e,”between”,”colon”),n=e.prop+r+this.rawValue(e,”value”);e.important&&(n+=e.raws.important||” !important”),t&&(n+=”;”),this.builder(n,e)}rule(e){this.block(e,this.rawValue(e,”selector”)),e.raws.ownSemicolon&&this.builder(e.raws.ownSemicolon,e,”end”)}atrule(e,t){let r=”@”+e.name,n=e.params?this.rawValue(e,”params”):””;if(void 0!==e.raws.afterName?r+=e.raws.afterName:n&&(r+=” “),e.nodes)this.block(e,r+n);else{let i=(e.raws.between||””)+(t?”;”:””);this.builder(r+n+i,e)}}body(e){let t=e.nodes.length-1;for(;t>0&&”comment”===e.nodes[t].type;)t-=1;let r=this.raw(e,”semicolon”);for(let n=0;n{if(i=e.raws[r],void 0!==i)return!1}))}var a;return void 0===i&&(i=t[n]),o.rawCache[n]=i,i}rawSemicolon(e){let t;return e.walk((e=>{if(e.nodes&&e.nodes.length&&”decl”===e.last.type&&(t=e.raws.semicolon,void 0!==t))return!1})),t}rawEmptyBody(e){let t;return e.walk((e=>{if(e.nodes&&0===e.nodes.length&&(t=e.raws.after,void 0!==t))return!1})),t}rawIndent(e){if(e.raws.indent)return e.raws.indent;let t;return e.walk((r=>{let n=r.parent;if(n&&n!==e&&n.parent&&n.parent===e&&void 0!==r.raws.before){let e=r.raws.before.split(“n”);return t=e[e.length-1],t=t.replace(/S/g,””),!1}})),t}rawBeforeComment(e,t){let r;return e.walkComments((e=>{if(void 0!==e.raws.before)return r=e.raws.before,r.includes(“n”)&&(r=r.replace(/[^n]+$/,””)),!1})),void 0===r?r=this.raw(t,null,”beforeDecl”):r&&(r=r.replace(/S/g,””)),r}rawBeforeDecl(e,t){let r;return e.walkDecls((e=>{if(void 0!==e.raws.before)return r=e.raws.before,r.includes(“n”)&&(r=r.replace(/[^n]+$/,””)),!1})),void 0===r?r=this.raw(t,null,”beforeRule”):r&&(r=r.replace(/S/g,””)),r}rawBeforeRule(e){let t;return e.walk((r=>{if(r.nodes&&(r.parent!==e||e.first!==r)&&void 0!==r.raws.before)return t=r.raws.before,t.includes(“n”)&&(t=t.replace(/[^n]+$/,””)),!1})),t&&(t=t.replace(/S/g,””)),t}rawBeforeClose(e){let t;return e.walk((e=>{if(e.nodes&&e.nodes.length>0&&void 0!==e.raws.after)return t=e.raws.after,t.includes(“n”)&&(t=t.replace(/[^n]+$/,””)),!1})),t&&(t=t.replace(/S/g,””)),t}rawBeforeOpen(e){let t;return e.walk((e=>{if(“decl”!==e.type&&(t=e.raws.between,void 0!==t))return!1})),t}rawColon(e){let t;return e.walkDecls((e=>{if(void 0!==e.raws.between)return t=e.raws.between.replace(/[^s:]/g,””),!1})),t}beforeAfter(e,t){let r;r=”decl”===e.type?this.raw(e,null,”beforeDecl”):”comment”===e.type?this.raw(e,null,”beforeComment”):”before”===t?this.raw(e,null,”beforeRule”):this.raw(e,null,”beforeClose”);let n=e.parent,i=0;for(;n&&”root”!==n.type;)i+=1,n=n.parent;if(r.includes(“n”)){let t=this.raw(e,null,”indent”);if(t.length)for(let e=0;e{“use strict”;let n=r(1062);function i(e,t){new n(t).stringify(e)}e.exports=i,i.default=i},5513:e=>{“use strict”;e.exports.isClean=Symbol(“isClean”),e.exports.my=Symbol(“my”)},3852:e=>{“use strict”;const t=”‘”.charCodeAt(0),r='”‘.charCodeAt(0),n=”\”.charCodeAt(0),i=”/”.charCodeAt(0),s=”n”.charCodeAt(0),o=” “.charCodeAt(0),a=”f”.charCodeAt(0),l=”t”.charCodeAt(0),c=”r”.charCodeAt(0),u=”[“.charCodeAt(0),h=”]”.charCodeAt(0),p=”(“.charCodeAt(0),d=”)”.charCodeAt(0),f=”{“.charCodeAt(0),m=”}”.charCodeAt(0),g=”;”.charCodeAt(0),b=”*”.charCodeAt(0),y=”:”.charCodeAt(0),v=”@”.charCodeAt(0),w=/[tnfr “#'()/;[\]{}]/g,x=/[tnfr !”#'():;@[\]{}]|/(?=*)/g,S=/.[n”‘(/\]/,_=/[da-f]/i;e.exports=function(e,O={}){let E,T,C,k,A,L,P,D,M,j,N=e.css.valueOf(),I=O.ignoreErrors,q=N.length,R=0,B=[],H=[];function U(t){throw e.error(“Unclosed “+t,R)}return{back:function(e){H.push(e)},nextToken:function(e){if(H.length)return H.pop();if(R>=q)return;let O=!!e&&e.ignoreUnclosed;switch(E=N.charCodeAt(R),E){case s:case o:case l:case c:case a:T=R;do{T+=1,E=N.charCodeAt(T)}while(E===o||E===s||E===l||E===c||E===a);j=[“space”,N.slice(R,T)],R=T-1;break;case u:case h:case f:case m:case y:case g:case d:{let e=String.fromCharCode(E);j=[e,e,R];break}case p:if(D=B.length?B.pop()[1]:””,M=N.charCodeAt(R+1),”url”===D&&M!==t&&M!==r&&M!==o&&M!==s&&M!==l&&M!==a&&M!==c){T=R;do{if(L=!1,T=N.indexOf(“)”,T+1),-1===T){if(I||O){T=R;break}U(“bracket”)}for(P=T;N.charCodeAt(P-1)===n;)P-=1,L=!L}while(L);j=[“brackets”,N.slice(R,T+1),R,T],R=T}else T=N.indexOf(“)”,R+1),k=N.slice(R,T+1),-1===T||S.test(k)?j=[“(“,”(“,R]:(j=[“brackets”,k,R,T],R=T);break;case t:case r:C=E===t?”‘”:'”‘,T=R;do{if(L=!1,T=N.indexOf(C,T+1),-1===T){if(I||O){T=R+1;break}U(“string”)}for(P=T;N.charCodeAt(P-1)===n;)P-=1,L=!L}while(L);j=[“string”,N.slice(R,T+1),R,T],R=T;break;case v:w.lastIndex=R+1,w.test(N),T=0===w.lastIndex?N.length-1:w.lastIndex-2,j=[“at-word”,N.slice(R,T+1),R,T],R=T;break;case n:for(T=R,A=!0;N.charCodeAt(T+1)===n;)T+=1,A=!A;if(E=N.charCodeAt(T+1),A&&E!==i&&E!==o&&E!==s&&E!==l&&E!==c&&E!==a&&(T+=1,_.test(N.charAt(T)))){for(;_.test(N.charAt(T+1));)T+=1;N.charCodeAt(T+1)===o&&(T+=1)}j=[“word”,N.slice(R,T+1),R,T],R=T;break;default:E===i&&N.charCodeAt(R+1)===b?(T=N.indexOf(“*/”,R+2)+1,0===T&&(I||O?T=N.length:U(“comment”)),j=[“comment”,N.slice(R,T+1),R,T],R=T):(x.lastIndex=R+1,x.test(N),T=0===x.lastIndex?N.length-1:x.lastIndex-2,j=[“word”,N.slice(R,T+1),R,T],B.push(j),R=T)}return R++,j},endOfFile:function(){return 0===H.length&&R>=q},position:function(){return R}}}},2448:e=>{“use strict”;let t={};e.exports=function(e){t[e]||(t[e]=!0,”undefined”!=typeof console&&console.warn&&console.warn(e))}},1728:e=>{“use strict”;class t{constructor(e,t={}){if(this.type=”warning”,this.text=e,t.node&&t.node.source){let e=t.node.rangeBy(t);this.line=e.start.line,this.column=e.start.column,this.endLine=e.end.line,this.endColumn=e.end.column}for(let e in t)this[e]=t[e]}toString(){return this.node?this.node.error(this.text,{plugin:this.plugin,index:this.index,word:this.word}).message:this.plugin?this.plugin+”: “+this.text:this.text}}e.exports=t,t.default=t},2703:(e,t,r)=>{“use strict”;var n=r(414);function i(){}function s(){}s.resetWarningCache=i,e.exports=function(){function e(e,t,r,i,s,o){if(o!==n){var a=new Error(“Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types”);throw a.name=”Invariant Violation”,a}}function t(){return e}e.isRequired=e;var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:s,resetWarningCache:i};return r.PropTypes=r,r}},5697:(e,t,r)=>{e.exports=r(2703)()},414:e=>{“use strict”;e.exports=”SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED”},9632:e=>{var t=function(e){return”string”==typeof e};e.exports=function(e,r,n){return Array.isArray(e)||(e=[e]),i=e.map((function(e){return t(e)?function(e,r,n){var i=0,s=0;if(“”===e)return e;if(!e||!t(e))throw new TypeError(“First argument to react-string-replace#replaceString must be a string”);var o,a,l,c=r;(function(e){return e instanceof RegExp})(c)||(c=new RegExp(“(“+(o=c,a=/[\^$.*+?()[]{}|]/g,l=RegExp(a.source),(o&&l.test(o)?o.replace(a,”\$&”):o)+”)”),”gi”));for(var u=e.split(c),h=1,p=u.length;h
{“use strict”;var n=r(4879);Object.defineProperty(t,”__esModule”,{value:!0}),t.default=void 0;var i=n(r(6651)),s=(n(r(2473)),function(e){e.index;var t=e.children;i.default.Children.count(t)});t.default=s},3493:(e,t,r)=>{“use strict”;var n=r(4879);Object.defineProperty(t,”__esModule”,{value:!0}),t.default=function(e){var t,r=e.children,n=e.startIndex,o=e.startX,a=e.pageX,l=e.viewLength,c=e.resistance,u=i.default.Children.count(r)-1,h=n+(o-a)/l;return c?h<0?h=Math.exp(h*s.default.RESISTANCE_COEF)-1:h>u&&(h=u+1-Math.exp((u-h)*s.default.RESISTANCE_COEF)):h<0?t=((h=0)-n)*l+a:h>u&&(t=((h=u)-n)*l+a),{index:h,startX:t}};var i=n(r(6651)),s=n(r(8491))},8491:(e,t)=>{“use strict”;Object.defineProperty(t,”__esModule”,{value:!0}),t.default=void 0,t.default={RESISTANCE_COEF:.6,UNCERTAINTY_THRESHOLD:3}},7661:(e,t,r)=>{“use strict”;var n=r(4879);Object.defineProperty(t,”__esModule”,{value:!0}),t.default=void 0;var i=n(r(6651));t.default=function(e,t){var r=!1,n=function(e){return e?e.key:”empty”};if(e.children.length&&t.children.length){var s=i.default.Children.map(e.children,n)[e.index];null!=s&&s===i.default.Children.map(t.children,n)[t.index]&&(r=!0)}return r}},9303:(e,t,r)=>{“use strict”;var n=r(4879);Object.defineProperty(t,”__esModule”,{value:!0}),Object.defineProperty(t,”checkIndexBounds”,{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(t,”computeIndex”,{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,”constant”,{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,”getDisplaySameSlide”,{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,”mod”,{enumerable:!0,get:function(){return l.default}});var i=n(r(7714)),s=n(r(3493)),o=n(r(8491)),a=n(r(7661)),l=n(r(7410))},7410:(e,t)=>{“use strict”;Object.defineProperty(t,”__esModule”,{value:!0}),t.default=void 0;t.default=function(e,t){var r=e%t;return r<0?r+t:r}},4879:e=>{e.exports=function(e){return e&&e.__esModule?e:{default:e}}},2496:(e,t,r)=>{“use strict”;var n=r(1964),i=r(745);Object.defineProperty(t,”__esModule”,{value:!0}),t.getDomTreeShapes=x,t.findNativeHandler=_,t.default=t.SwipeableViewsContext=void 0;var s=i(r(4788)),o=i(r(779)),a=i(r(1931)),l=i(r(4658)),c=i(r(1036)),u=i(r(2083)),h=i(r(531)),p=n(r(6651)),d=(i(r(5697)),i(r(2473)),r(9303));function f(e,t,r,n){return e.addEventListener(t,r,n),{remove:function(){e.removeEventListener(t,r,n)}}}var m={direction:”ltr”,display:”flex”,willChange:”transform”},g={width:”100%”,WebkitFlexShrink:0,flexShrink:0,overflow:”auto”},b={root:{x:{overflowX:”hidden”},”x-reverse”:{overflowX:”hidden”},y:{overflowY:”hidden”},”y-reverse”:{overflowY:”hidden”}},flexDirection:{x:”row”,”x-reverse”:”row-reverse”,y:”column”,”y-reverse”:”column-reverse”},transform:{x:function(e){return”translate(“.concat(-e,”%, 0)”)},”x-reverse”:function(e){return”translate(“.concat(e,”%, 0)”)},y:function(e){return”translate(0, “.concat(-e,”%)”)},”y-reverse”:function(e){return”translate(0, “.concat(e,”%)”)}},length:{x:”width”,”x-reverse”:”width”,y:”height”,”y-reverse”:”height”},rotationMatrix:{x:{x:[1,0],y:[0,1]},”x-reverse”:{x:[-1,0],y:[0,1]},y:{x:[0,1],y:[1,0]},”y-reverse”:{x:[0,-1],y:[1,0]}},scrollPosition:{x:”scrollLeft”,”x-reverse”:”scrollLeft”,y:”scrollTop”,”y-reverse”:”scrollTop”},scrollLength:{x:”scrollWidth”,”x-reverse”:”scrollWidth”,y:”scrollHeight”,”y-reverse”:”scrollHeight”},clientLength:{x:”clientWidth”,”x-reverse”:”clientWidth”,y:”clientHeight”,”y-reverse”:”clientHeight”}};function y(e,t){var r=t.duration,n=t.easeFunction,i=t.delay;return””.concat(e,” “).concat(r,” “).concat(n,” “).concat(i)}function v(e,t){var r=b.rotationMatrix[t];return{pageX:r.x[0]*e.pageX+r.x[1]*e.pageY,pageY:r.y[0]*e.pageX+r.y[1]*e.pageY}}function w(e){return e.touches=[{pageX:e.pageX,pageY:e.pageY}],e}function x(e,t){for(var r=[];e&&e!==t&&e!==document.body&&!e.hasAttribute(“data-swipeable”);){var n=window.getComputedStyle(e);”absolute”===n.getPropertyValue(“position”)||”hidden”===n.getPropertyValue(“overflow-x”)?r=[]:(e.clientWidth>0&&e.scrollWidth>e.clientWidth||e.clientHeight>0&&e.scrollHeight>e.clientHeight)&&r.push({element:e,scrollWidth:e.scrollWidth,scrollHeight:e.scrollHeight,clientWidth:e.clientWidth,clientHeight:e.clientHeight,scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}),e=e.parentNode}return r}var S=null;function _(e){var t=e.domTreeShapes,r=e.pageX,n=e.startX,i=e.axis;return t.some((function(e){var t=r>=n;”x”!==i&&”y”!==i||(t=!t);var s=Math.round(e[b.scrollPosition[i]]),o=s>0,a=s+e[b.clientLength[i]]u&&c>d.constant.UNCERTAINTY_THRESHOLD;if(!a&&(“y”===n||”y-reverse”===n)&&(0===r.indexCurrent&&r.startXl.pageX))return void(r.isSwiping=!1);if(c>u&&e.preventDefault(),!0===h||u>d.constant.UNCERTAINTY_THRESHOLD)return r.isSwiping=h,void(r.startX=l.pageX)}if(!0===r.isSwiping){e.preventDefault(),r.vx=.5*r.vx+.5*(l.pageX-r.lastX),r.lastX=l.pageX;var f=(0,d.computeIndex)({children:i,resistance:a,pageX:l.pageX,startIndex:r.startIndex,startX:r.startX,viewLength:r.viewLength}),m=f.index,g=f.startX;if(null===S&&!s&&_({domTreeShapes:x(e.target,r.rootNode),startX:r.startX,pageX:l.pageX,axis:n}))return;g?r.startX=g:null===S&&(S=r.rootNode),r.setIndexCurrent(m);var b=function(){o&&o(m,”move”)};!r.state.displaySameSlide&&r.state.isDragging||r.setState({displaySameSlide:!1,isDragging:!0},b),b()}}}else r.handleTouchStart(e)},r.handleSwipeEnd=function(){if(S=null,r.started&&(r.started=!1,!0===r.isSwiping)){var e,t=r.state.indexLatest,n=r.indexCurrent,i=t-n;e=Math.abs(r.vx)>r.props.threshold?r.vx>0?Math.floor(n):Math.ceil(n):Math.abs(i)>r.props.hysteresis?i>0?Math.floor(n):Math.ceil(n):t;var s=p.Children.count(r.props.children)-1;e<0?e=0:e>s&&(e=s),r.setIndexCurrent(e),r.setState({indexLatest:e,isDragging:!1},(function(){r.props.onSwitching&&r.props.onSwitching(e,”end”),r.props.onChangeIndex&&e!==t&&r.props.onChangeIndex(e,t,{reason:”swipe”}),n===t&&r.handleTransitionEnd()}))}},r.handleTouchStart=function(e){r.props.onTouchStart&&r.props.onTouchStart(e),r.handleSwipeStart(e)},r.handleTouchEnd=function(e){r.props.onTouchEnd&&r.props.onTouchEnd(e),r.handleSwipeEnd(e)},r.handleMouseDown=function(e){r.props.onMouseDown&&r.props.onMouseDown(e),e.persist(),r.handleSwipeStart(w(e))},r.handleMouseUp=function(e){r.props.onMouseUp&&r.props.onMouseUp(e),r.handleSwipeEnd(w(e))},r.handleMouseLeave=function(e){r.props.onMouseLeave&&r.props.onMouseLeave(e),r.started&&r.handleSwipeEnd(w(e))},r.handleMouseMove=function(e){r.props.onMouseMove&&r.props.onMouseMove(e),r.started&&r.handleSwipeMove(w(e))},r.handleScroll=function(e){if(r.props.onScroll&&r.props.onScroll(e),e.target===r.rootNode)if(r.ignoreNextScrollEvents)r.ignoreNextScrollEvents=!1;else{var t=r.state.indexLatest,n=Math.ceil(e.target.scrollLeft/e.target.clientWidth)+t;r.ignoreNextScrollEvents=!0,e.target.scrollLeft=0,r.props.onChangeIndex&&n!==t&&r.props.onChangeIndex(n,t,{reason:”focus”})}},r.updateHeight=function(){if(null!==r.activeSlide){var e=r.activeSlide.children[0];void 0!==e&&void 0!==e.offsetHeight&&r.state.heightLatest!==e.offsetHeight&&r.setState({heightLatest:e.offsetHeight})}},r.state={indexLatest:e.index,isDragging:!1,renderOnlyActive:!e.disableLazyLoading,heightLatest:0,displaySameSlide:!0},r.setIndexCurrent(e.index),r}return(0,h.default)(t,e),(0,l.default)(t,[{key:”componentDidMount”,value:function(){var e=this;this.transitionListener=f(this.containerNode,”transitionend”,(function(t){t.target===e.containerNode&&e.handleTransitionEnd()})),this.touchMoveListener=f(this.rootNode,”touchmove”,(function(t){e.props.disabled||e.handleSwipeMove(t)}),{passive:!1}),this.props.disableLazyLoading||(this.firstRenderTimeout=setTimeout((function(){e.setState({renderOnlyActive:!1})}),0)),this.props.action&&this.props.action({updateHeight:this.updateHeight})}},{key:”UNSAFE_componentWillReceiveProps”,value:function(e){var t=e.index;”number”==typeof t&&t!==this.props.index&&(this.setIndexCurrent(t),this.setState({displaySameSlide:(0,d.getDisplaySameSlide)(this.props,e),indexLatest:t}))}},{key:”componentWillUnmount”,value:function(){this.transitionListener.remove(),this.touchMoveListener.remove(),clearTimeout(this.firstRenderTimeout)}},{key:”getSwipeableViewsContext”,value:function(){var e=this;return{slideUpdateHeight:function(){e.updateHeight()}}}},{key:”setIndexCurrent”,value:function(e){if(this.props.animateTransitions||this.indexCurrent===e||this.handleTransitionEnd(),this.indexCurrent=e,this.containerNode){var t=this.props.axis,r=b.transform[t](100*e);this.containerNode.style.WebkitTransform=r,this.containerNode.style.transform=r}}},{key:”handleTransitionEnd”,value:function(){this.props.onTransitionEnd&&(this.state.displaySameSlide||this.state.isDragging||this.props.onTransitionEnd())}},{key:”render”,value:function(){var e,t,r=this,n=this.props,i=(n.action,n.animateHeight),a=n.animateTransitions,l=n.axis,c=n.children,u=n.containerStyle,h=n.disabled,d=(n.disableLazyLoading,n.enableMouseEvents),f=(n.hysteresis,n.ignoreNativeScroll,n.index,n.onChangeIndex,n.onSwitching,n.onTransitionEnd,n.resistance,n.slideStyle),v=n.slideClassName,w=n.springConfig,x=n.style,S=(n.threshold,(0,o.default)(n,[“action”,”animateHeight”,”animateTransitions”,”axis”,”children”,”containerStyle”,”disabled”,”disableLazyLoading”,”enableMouseEvents”,”hysteresis”,”ignoreNativeScroll”,”index”,”onChangeIndex”,”onSwitching”,”onTransitionEnd”,”resistance”,”slideStyle”,”slideClassName”,”springConfig”,”style”,”threshold”])),_=this.state,E=_.displaySameSlide,T=_.heightLatest,C=_.indexLatest,k=_.isDragging,A=_.renderOnlyActive,L=h?{}:{onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd},P=!h&&d?{onMouseDown:this.handleMouseDown,onMouseUp:this.handleMouseUp,onMouseLeave:this.handleMouseLeave,onMouseMove:this.handleMouseMove}:{},D=(0,s.default)({},g,f);if(k||!a||E)e=”all 0s ease 0s”,t=”all 0s ease 0s”;else if(e=y(“transform”,w),t=y(“-webkit-transform”,w),0!==T){var M=”, “.concat(y(“height”,w));e+=M,t+=M}var j={height:null,WebkitFlexDirection:b.flexDirection[l],flexDirection:b.flexDirection[l],WebkitTransition:t,transition:e};if(!A){var N=b.transform[l](100*this.indexCurrent);j.WebkitTransform=N,j.transform=N}return i&&(j.height=T),p.createElement(O.Provider,{value:this.getSwipeableViewsContext()},p.createElement(“div”,(0,s.default)({ref:this.setRootNode,style:(0,s.default)({},b.root[l],x)},S,L,P,{onScroll:this.handleScroll}),p.createElement(“div”,{ref:this.setContainerNode,style:(0,s.default)({},j,m,u),className:”react-swipeable-view-container”},p.Children.map(c,(function(e,t){if(A&&t!==C)return null;var n,s=!0;return t===C&&(s=!1,i&&(n=r.setActiveSlide,D.overflowY=”hidden”)),p.createElement(“div”,{ref:n,style:D,className:v,”aria-hidden”:s,”data-swipeable”:”true”},e)})))))}}]),t}(p.Component);E.displayName=”ReactSwipableView”,E.propTypes={},E.defaultProps={animateHeight:!1,animateTransitions:!0,axis:”x”,disabled:!1,disableLazyLoading:!1,enableMouseEvents:!1,hysteresis:.6,ignoreNativeScroll:!1,index:0,threshold:5,springConfig:{duration:”0.35s”,easeFunction:”cubic-bezier(0.15, 0.3, 0.25, 1)”,delay:”0s”},resistance:!1};var T=E;t.default=T},7314:(e,t,r)=>{“use strict”;var n=r(1964);Object.defineProperty(t,”ZP”,{enumerable:!0,get:function(){return i.default}});var i=n(r(2496))},2736:e=>{e.exports=function(e){if(void 0===e)throw new ReferenceError(“this hasn’t been initialised – super() hasn’t been called”);return e}},1931:e=>{e.exports=function(e,t){if(!(e instanceof t))throw new TypeError(“Cannot call a class as a function”)}},4658:e=>{function t(e,t){for(var r=0;r{function t(){return e.exports=t=Object.assign||function(e){for(var t=1;t{function t(r){return e.exports=t=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},t(r)}e.exports=t},531:(e,t,r)=>{var n=r(7929);e.exports=function(e,t){if(“function”!=typeof t&&null!==t)throw new TypeError(“Super expression must either be null or a function”);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&n(e,t)}},745:e=>{e.exports=function(e){return e&&e.__esModule?e:{default:e}}},1964:e=>{e.exports=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var n=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,r):{};n.get||n.set?Object.defineProperty(t,r,n):t[r]=e[r]}return t.default=e,t}},779:(e,t,r)=>{var n=r(191);e.exports=function(e,t){if(null==e)return{};var r,i,s=n(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(s[r]=e[r])}return s}},191:e=>{e.exports=function(e,t){if(null==e)return{};var r,n,i={},s=Object.keys(e);for(n=0;n=0||(i[r]=e[r]);return i}},1036:(e,t,r)=>{var n=r(8209),i=r(2736);e.exports=function(e,t){return!t||”object”!==n(t)&&”function”!=typeof t?i(e):t}},7929:e=>{function t(r,n){return e.exports=t=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},t(r,n)}e.exports=t},8209:e=>{function t(e){return t=”function”==typeof Symbol&&”symbol”==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&”function”==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?”symbol”:typeof e},t(e)}function r(n){return”function”==typeof Symbol&&”symbol”===t(Symbol.iterator)?e.exports=r=function(e){return t(e)}:e.exports=r=function(e){return e&&”function”==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?”symbol”:t(e)},r(n)}e.exports=r},8007:(e,t,r)=>{const n=r(3719),i=r(2997),{isPlainObject:s}=r(6057),o=r(9996),a=r(9430),{parse:l}=r(20),c=[“img”,”audio”,”video”,”picture”,”svg”,”object”,”map”,”iframe”,”embed”],u=[“script”,”style”];function h(e,t){e&&Object.keys(e).forEach((function(r){t(e[r],r)}))}function p(e,t){return{}.hasOwnProperty.call(e,t)}function d(e,t){const r=[];return h(e,(function(e){t(e)&&r.push(e)})),r}e.exports=m;const f=/^[^ tnfr /]+$/;function m(e,t,r){if(null==e)return””;let b=””,y=””;function v(e,t){const r=this;this.tag=e,this.attribs=t||{},this.tagPosition=b.length,this.text=””,this.mediaChildren=[],this.updateParentNodeText=function(){A.length&&(A[A.length-1].text+=r.text)},this.updateParentNodeMediaChildren=function(){A.length&&c.includes(this.tag)&&A[A.length-1].mediaChildren.push(this.tag)}}(t=Object.assign({},m.defaults,t)).parser=Object.assign({},g,t.parser),u.forEach((function(e){t.allowedTags&&t.allowedTags.indexOf(e)>-1&&!t.allowVulnerableTags&&console.warn(`nn⚠️ Your `allowedTags` option includes, `${e}`, which is inherentlynvulnerable to XSS attacks. Please remove it from `allowedTags`.nOr, to disable this warning, add the `allowVulnerableTags` optionnand ensure you are accounting for this risk.nn`)}));const w=t.nonTextTags||[“script”,”style”,”textarea”,”option”];let x,S;t.allowedAttributes&&(x={},S={},h(t.allowedAttributes,(function(e,t){x[t]=[];const r=[];e.forEach((function(e){“string”==typeof e&&e.indexOf(“*”)>=0?r.push(i(e).replace(/\*/g,”.*”)):x[t].push(e)})),r.length&&(S[t]=new RegExp(“^(“+r.join(“|”)+”)$”))})));const _={},O={},E={};h(t.allowedClasses,(function(e,t){x&&(p(x,t)||(x[t]=[]),x[t].push(“class”)),_[t]=[],E[t]=[];const r=[];e.forEach((function(e){“string”==typeof e&&e.indexOf(“*”)>=0?r.push(i(e).replace(/\*/g,”.*”)):e instanceof RegExp?E[t].push(e):_[t].push(e)})),r.length&&(O[t]=new RegExp(“^(“+r.join(“|”)+”)$”))}));const T={};let C,k,A,L,P,D,M;h(t.transformTags,(function(e,t){let r;”function”==typeof e?r=e:”string”==typeof e&&(r=m.simpleTransform(e)),”*”===t?C=r:T[t]=r}));let j=!1;I();const N=new n.Parser({onopentag:function(e,r){if(t.enforceHtmlBoundary&&”html”===e&&I(),D)return void M++;const n=new v(e,r);A.push(n);let i=!1;const c=!!n.text;let u;if(p(T,e)&&(u=T[e](e,r),n.attribs=r=u.attribs,void 0!==u.text&&(n.innerText=u.text),e!==u.tagName&&(n.name=e=u.tagName,P[k]=u.tagName)),C&&(u=C(e,r),n.attribs=r=u.attribs,e!==u.tagName&&(n.name=e=u.tagName,P[k]=u.tagName)),(t.allowedTags&&-1===t.allowedTags.indexOf(e)||”recursiveEscape”===t.disallowedTagsMode&&!function(e){for(const t in e)if(p(e,t))return!1;return!0}(L)||null!=t.nestingLimit&&k>=t.nestingLimit)&&(i=!0,L[k]=!0,”discard”===t.disallowedTagsMode&&-1!==w.indexOf(e)&&(D=!0,M=1),L[k]=!0),k++,i){if(“discard”===t.disallowedTagsMode)return;y=b,b=””}b+=”=0&&(e=r);r=e}if(u){if(-1!==t.allowedSchemesAppliedToAttributes.indexOf(i)&&R(e,r))return void delete n.attribs[i];if(“script”===e&&”src”===i){let e=!0;try{const n=new URL(r);if(t.allowedScriptHostnames||t.allowedScriptDomains){const r=(t.allowedScriptHostnames||[]).find((function(e){return e===n.hostname})),i=(t.allowedScriptDomains||[]).find((function(e){return n.hostname===e||n.hostname.endsWith(`.${e}`)}));e=r||i}}catch(t){e=!1}if(!e)return void delete n.attribs[i]}if(“iframe”===e&&”src”===i){let e=!0;try{if((r=r.replace(/^(w+:)?s*[\/]s*[\/]/,”$1//”)).startsWith(“relative:”))throw new Error(“relative: exploit attempt”);let n=”relative://relative-site”;for(let e=0;e<100;e++)n+=`/${e}`;const i=new URL(r,n);if(i&&"relative-site"===i.hostname&&"relative:"===i.protocol)e=p(t,"allowIframeRelativeUrls")?t.allowIframeRelativeUrls:!t.allowedIframeHostnames&&!t.allowedIframeDomains;else if(t.allowedIframeHostnames||t.allowedIframeDomains){const r=(t.allowedIframeHostnames||[]).find((function(e){return e===i.hostname})),n=(t.allowedIframeDomains||[]).find((function(e){return i.hostname===e||i.hostname.endsWith(`.${e}`)}));e=r||n}}catch(t){e=!1}if(!e)return void delete n.attribs[i]}if("srcset"===i)try{if(c=a(r),c.forEach((function(e){R("srcset",e.url)&&(e.evil=!0)})),c=d(c,(function(e){return!e.evil})),!c.length)return void delete n.attribs[i];r=d(c,(function(e){return!e.evil})).map((function(e){if(!e.url)throw new Error("URL missing");return e.url+(e.w?` ${e.w}w`:"")+(e.h?` ${e.h}h`:"")+(e.d?` ${e.d}x`:"")})).join(", "),n.attribs[i]=r}catch(e){return void delete n.attribs[i]}if("class"===i){const t=_[e],s=_["*"],a=O[e],l=E[e],c=[a,O["*"]].concat(l).filter((function(e){return e}));if(!(h=r,m=t&&s?o(t,s):t||s,g=c,r=m?(h=h.split(/s+/)).filter((function(e){return-1!==m.indexOf(e)||g.some((function(t){return t.test(e)}))})).join(" "):h).length)return void delete n.attribs[i]}if("style"===i)try{if(0===(r=function(e){return e.nodes[0].nodes.reduce((function(e,t){return e.push(`${t.prop}:${t.value}${t.important?" !important":""}`),e}),[]).join(";")}(function(e,t){if(!t)return e;const r=e.nodes[0];let n;return n=t[r.selector]&&t["*"]?o(t[r.selector],t["*"]):t[r.selector]||t["*"],n&&(e.nodes[0].nodes=r.nodes.reduce(function(e){return function(t,r){return p(e,r.prop)&&e[r.prop].some((function(e){return e.test(r.value)}))&&t.push(r),t}}(n),[])),e}(l(e+" {"+r+"}"),t.allowedStyles))).length)return void delete n.attribs[i]}catch(e){return void delete n.attribs[i]}b+=" "+i,r&&r.length&&(b+='="'+q(r,!0)+'"')}else delete n.attribs[i];var h,m,g})),-1!==t.selfClosing.indexOf(e)?b+=" />“:(b+=”>”,!n.innerText||c||t.textFilter||(b+=q(n.innerText),j=!0)),i&&(b=y+q(b),y=””)},ontext:function(e){if(D)return;const r=A[A.length-1];let n;if(r&&(n=r.tag,e=void 0!==r.innerText?r.innerText:e),”discard”!==t.disallowedTagsMode||”script”!==n&&”style”!==n){const r=q(e,!1);t.textFilter&&!j?b+=t.textFilter(r,n):j||(b+=r)}else b+=e;A.length&&(A[A.length-1].text+=e)},onclosetag:function(e){if(D){if(M–,M)return;D=!1}const r=A.pop();if(!r)return;D=!!t.enforceHtmlBoundary&&”html”===e,k–;const n=L[k];if(n){if(delete L[k],”discard”===t.disallowedTagsMode)return void r.updateParentNodeText();y=b,b=””}P[k]&&(e=P[k],delete P[k]),t.exclusiveFilter&&t.exclusiveFilter(r)?b=b.substr(0,r.tagPosition):(r.updateParentNodeMediaChildren(),r.updateParentNodeText(),-1===t.selfClosing.indexOf(e)?(b+=””,n&&(b=y+q(b),y=””),j=!1):n&&(b=y,y=””))}},t.parser);return N.write(e),N.end(),b;function I(){b=””,k=0,A=[],L={},P={},D=!1,M=0}function q(e,r){return”string”!=typeof e&&(e+=””),t.parser.decodeEntities&&(e=e.replace(/&/g,”&”).replace(//g,”>”),r&&(e=e.replace(/”/g,”””))),e=e.replace(/&(?![a-zA-Z0-9#]{1,20};)/g,”&”).replace(//g,”>”),r&&(e=e.replace(/”/g,”””)),e}function R(e,r){const n=(r=(r=r.replace(/[x00-x20]+/g,””)).replace(//g,””)).match(/^([a-zA-Z][a-zA-Z0-9.-+]*):/);if(!n)return!!r.match(/^[/\]{2}/)&&!t.allowProtocolRelative;const i=n[1].toLowerCase();return p(t.allowedSchemesByTag,e)?-1===t.allowedSchemesByTag[e].indexOf(i):!t.allowedSchemes||-1===t.allowedSchemes.indexOf(i)}}const g={decodeEntities:!0};m.defaults={allowedTags:[“address”,”article”,”aside”,”footer”,”header”,”h1″,”h2″,”h3″,”h4″,”h5″,”h6″,”hgroup”,”main”,”nav”,”section”,”blockquote”,”dd”,”div”,”dl”,”dt”,”figcaption”,”figure”,”hr”,”li”,”main”,”ol”,”p”,”pre”,”ul”,”a”,”abbr”,”b”,”bdi”,”bdo”,”br”,”cite”,”code”,”data”,”dfn”,”em”,”i”,”kbd”,”mark”,”q”,”rb”,”rp”,”rt”,”rtc”,”ruby”,”s”,”samp”,”small”,”span”,”strong”,”sub”,”sup”,”time”,”u”,”var”,”wbr”,”caption”,”col”,”colgroup”,”table”,”tbody”,”td”,”tfoot”,”th”,”thead”,”tr”],disallowedTagsMode:”discard”,allowedAttributes:{a:[“href”,”name”,”target”],img:[“src”,”srcset”,”alt”,”title”,”width”,”height”,”loading”]},selfClosing:[“img”,”br”,”hr”,”area”,”base”,”basefont”,”input”,”link”,”meta”],allowedSchemes:[“http”,”https”,”ftp”,”mailto”,”tel”],allowedSchemesByTag:{},allowedSchemesAppliedToAttributes:[“href”,”src”,”cite”],allowProtocolRelative:!0,enforceHtmlBoundary:!1},m.simpleTransform=function(e,t,r){return r=void 0===r||r,t=t||{},function(n,i){let s;if(r)for(s in t)i[s]=t[s];else i=t;return{tagName:e,attribs:i}}}},2997:e=>{“use strict”;e.exports=e=>{if(“string”!=typeof e)throw new TypeError(“Expected a string”);return e.replace(/[|\{}()[]^$+*?.]/g,”\$&”).replace(/-/g,”\x2d”)}},2473:e=>{“use strict”;e.exports=function(){}},6651:e=>{“use strict”;e.exports=window.slice.React},2081:e=>{“use strict”;e.exports=window.slice.ReactDOM},2868:()=>{},4777:()=>{},9830:()=>{},209:()=>{},7414:()=>{},2961:e=>{e.exports={nanoid:(e=21)=>{let t=””,r=e;for(;r–;)t+=”useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict”[64*Math.random()|0];return t},customAlphabet:(e,t=21)=>(r=t)=>{let n=””,i=r;for(;i–;)n+=e[Math.random()*e.length|0];return n}}},3600:e=>{“use strict”;e.exports=JSON.parse(‘{“0″:65533,”128″:8364,”130″:8218,”131″:402,”132″:8222,”133″:8230,”134″:8224,”135″:8225,”136″:710,”137″:8240,”138″:352,”139″:8249,”140″:338,”142″:381,”145″:8216,”146″:8217,”147″:8220,”148″:8221,”149″:8226,”150″:8211,”151″:8212,”152″:732,”153″:8482,”154″:353,”155″:8250,”156″:339,”158″:382,”159”:376}’)},9323:e=>{“use strict”;e.exports=JSON.parse(‘{“Aacute”:”Á”,”aacute”:”á”,”Abreve”:”Ă”,”abreve”:”ă”,”ac”:”∾”,”acd”:”∿”,”acE”:”∾̳”,”Acirc”:””,”acirc”:”â”,”acute”:”´”,”Acy”:”А”,”acy”:”а”,”AElig”:”Æ”,”aelig”:”æ”,”af”:””,”Afr”:”?”,”afr”:”?”,”Agrave”:”À”,”agrave”:”à”,”alefsym”:”ℵ”,”aleph”:”ℵ”,”Alpha”:”Α”,”alpha”:”α”,”Amacr”:”Ā”,”amacr”:”ā”,”amalg”:”⨿”,”amp”:”&”,”AMP”:”&”,”andand”:”⩕”,”And”:”⩓”,”and”:”∧”,”andd”:”⩜”,”andslope”:”⩘”,”andv”:”⩚”,”ang”:”∠”,”ange”:”⦤”,”angle”:”∠”,”angmsdaa”:”⦨”,”angmsdab”:”⦩”,”angmsdac”:”⦪”,”angmsdad”:”⦫”,”angmsdae”:”⦬”,”angmsdaf”:”⦭”,”angmsdag”:”⦮”,”angmsdah”:”⦯”,”angmsd”:”∡”,”angrt”:”∟”,”angrtvb”:”⊾”,”angrtvbd”:”⦝”,”angsph”:”∢”,”angst”:”Å”,”angzarr”:”⍼”,”Aogon”:”Ą”,”aogon”:”ą”,”Aopf”:”?”,”aopf”:”?”,”apacir”:”⩯”,”ap”:”≈”,”apE”:”⩰”,”ape”:”≊”,”apid”:”≋”,”apos”:”‘”,”ApplyFunction”:””,”approx”:”≈”,”approxeq”:”≊”,”Aring”:”Å”,”aring”:”å”,”Ascr”:”?”,”ascr”:”?”,”Assign”:”≔”,”ast”:”*”,”asymp”:”≈”,”asympeq”:”≍”,”Atilde”:”Ô,”atilde”:”ã”,”Auml”:”Ä”,”auml”:”ä”,”awconint”:”∳”,”awint”:”⨑”,”backcong”:”≌”,”backepsilon”:”϶”,”backprime”:”‵”,”backsim”:”∽”,”backsimeq”:”⋍”,”Backslash”:”∖”,”Barv”:”⫧”,”barvee”:”⊽”,”barwed”:”⌅”,”Barwed”:”⌆”,”barwedge”:”⌅”,”bbrk”:”⎵”,”bbrktbrk”:”⎶”,”bcong”:”≌”,”Bcy”:”Б”,”bcy”:”б”,”bdquo”:”„”,”becaus”:”∵”,”because”:”∵”,”Because”:”∵”,”bemptyv”:”⦰”,”bepsi”:”϶”,”bernou”:”ℬ”,”Bernoullis”:”ℬ”,”Beta”:”Β”,”beta”:”β”,”beth”:”ℶ”,”between”:”≬”,”Bfr”:”?”,”bfr”:”?”,”bigcap”:”⋂”,”bigcirc”:”◯”,”bigcup”:”⋃”,”bigodot”:”⨀”,”bigoplus”:”⨁”,”bigotimes”:”⨂”,”bigsqcup”:”⨆”,”bigstar”:”★”,”bigtriangledown”:”▽”,”bigtriangleup”:”△”,”biguplus”:”⨄”,”bigvee”:”⋁”,”bigwedge”:”⋀”,”bkarow”:”⤍”,”blacklozenge”:”⧫”,”blacksquare”:”▪”,”blacktriangle”:”▴”,”blacktriangledown”:”▾”,”blacktriangleleft”:”◂”,”blacktriangleright”:”▸”,”blank”:”␣”,”blk12″:”▒”,”blk14″:”░”,”blk34″:”▓”,”block”:”█”,”bne”:”=⃥”,”bnequiv”:”≡⃥”,”bNot”:”⫭”,”bnot”:”⌐”,”Bopf”:”?”,”bopf”:”?”,”bot”:”⊥”,”bottom”:”⊥”,”bowtie”:”⋈”,”boxbox”:”⧉”,”boxdl”:”┐”,”boxdL”:”╕”,”boxDl”:”╖”,”boxDL”:”╗”,”boxdr”:”┌”,”boxdR”:”╒”,”boxDr”:”╓”,”boxDR”:”╔”,”boxh”:”─”,”boxH”:”═”,”boxhd”:”┬”,”boxHd”:”╤”,”boxhD”:”╥”,”boxHD”:”╦”,”boxhu”:”┴”,”boxHu”:”╧”,”boxhU”:”╨”,”boxHU”:”╩”,”boxminus”:”⊟”,”boxplus”:”⊞”,”boxtimes”:”⊠”,”boxul”:”┘”,”boxuL”:”╛”,”boxUl”:”╜”,”boxUL”:”╝”,”boxur”:”└”,”boxuR”:”╘”,”boxUr”:”╙”,”boxUR”:”╚”,”boxv”:”│”,”boxV”:”║”,”boxvh”:”┼”,”boxvH”:”╪”,”boxVh”:”╫”,”boxVH”:”╬”,”boxvl”:”┤”,”boxvL”:”╡”,”boxVl”:”╢”,”boxVL”:”╣”,”boxvr”:”├”,”boxvR”:”╞”,”boxVr”:”╟”,”boxVR”:”╠”,”bprime”:”‵”,”breve”:”˘”,”Breve”:”˘”,”brvbar”:”¦”,”bscr”:”?”,”Bscr”:”ℬ”,”bsemi”:”⁏”,”bsim”:”∽”,”bsime”:”⋍”,”bsolb”:”⧅”,”bsol”:”\\”,”bsolhsub”:”⟈”,”bull”:”•”,”bullet”:”•”,”bump”:”≎”,”bumpE”:”⪮”,”bumpe”:”≏”,”Bumpeq”:”≎”,”bumpeq”:”≏”,”Cacute”:”Ć”,”cacute”:”ć”,”capand”:”⩄”,”capbrcup”:”⩉”,”capcap”:”⩋”,”cap”:”∩”,”Cap”:”⋒”,”capcup”:”⩇”,”capdot”:”⩀”,”CapitalDifferentialD”:”ⅅ”,”caps”:”∩︀”,”caret”:”⁁”,”caron”:”ˇ”,”Cayleys”:”ℭ”,”ccaps”:”⩍”,”Ccaron”:”Č”,”ccaron”:”č”,”Ccedil”:”Ç”,”ccedil”:”ç”,”Ccirc”:”Ĉ”,”ccirc”:”ĉ”,”Cconint”:”∰”,”ccups”:”⩌”,”ccupssm”:”⩐”,”Cdot”:”Ċ”,”cdot”:”ċ”,”cedil”:”¸”,”Cedilla”:”¸”,”cemptyv”:”⦲”,”cent”:”¢”,”centerdot”:”·”,”CenterDot”:”·”,”cfr”:”?”,”Cfr”:”ℭ”,”CHcy”:”Ч”,”chcy”:”ч”,”check”:”✓”,”checkmark”:”✓”,”Chi”:”Χ”,”chi”:”χ”,”circ”:”ˆ”,”circeq”:”≗”,”circlearrowleft”:”↺”,”circlearrowright”:”↻”,”circledast”:”⊛”,”circledcirc”:”⊚”,”circleddash”:”⊝”,”CircleDot”:”⊙”,”circledR”:”®”,”circledS”:”Ⓢ”,”CircleMinus”:”⊖”,”CirclePlus”:”⊕”,”CircleTimes”:”⊗”,”cir”:”○”,”cirE”:”⧃”,”cire”:”≗”,”cirfnint”:”⨐”,”cirmid”:”⫯”,”cirscir”:”⧂”,”ClockwiseContourIntegral”:”∲”,”CloseCurlyDoubleQuote”:”””,”CloseCurlyQuote”:”’”,”clubs”:”♣”,”clubsuit”:”♣”,”colon”:”:”,”Colon”:”∷”,”Colone”:”⩴”,”colone”:”≔”,”coloneq”:”≔”,”comma”:”,”,”commat”:”@”,”comp”:”∁”,”compfn”:”∘”,”complement”:”∁”,”complexes”:”ℂ”,”cong”:”≅”,”congdot”:”⩭”,”Congruent”:”≡”,”conint”:”∮”,”Conint”:”∯”,”ContourIntegral”:”∮”,”copf”:”?”,”Copf”:”ℂ”,”coprod”:”∐”,”Coproduct”:”∐”,”copy”:”©”,”COPY”:”©”,”copysr”:”℗”,”CounterClockwiseContourIntegral”:”∳”,”crarr”:”↵”,”cross”:”✗”,”Cross”:”⨯”,”Cscr”:”?”,”cscr”:”?”,”csub”:”⫏”,”csube”:”⫑”,”csup”:”⫐”,”csupe”:”⫒”,”ctdot”:”⋯”,”cudarrl”:”⤸”,”cudarrr”:”⤵”,”cuepr”:”⋞”,”cuesc”:”⋟”,”cularr”:”↶”,”cularrp”:”⤽”,”cupbrcap”:”⩈”,”cupcap”:”⩆”,”CupCap”:”≍”,”cup”:”∪”,”Cup”:”⋓”,”cupcup”:”⩊”,”cupdot”:”⊍”,”cupor”:”⩅”,”cups”:”∪︀”,”curarr”:”↷”,”curarrm”:”⤼”,”curlyeqprec”:”⋞”,”curlyeqsucc”:”⋟”,”curlyvee”:”⋎”,”curlywedge”:”⋏”,”curren”:”¤”,”curvearrowleft”:”↶”,”curvearrowright”:”↷”,”cuvee”:”⋎”,”cuwed”:”⋏”,”cwconint”:”∲”,”cwint”:”∱”,”cylcty”:”⌭”,”dagger”:”†”,”Dagger”:”‡”,”daleth”:”ℸ”,”darr”:”↓”,”Darr”:”↡”,”dArr”:”⇓”,”dash”:”‐”,”Dashv”:”⫤”,”dashv”:”⊣”,”dbkarow”:”⤏”,”dblac”:”˝”,”Dcaron”:”Ď”,”dcaron”:”ď”,”Dcy”:”Д”,”dcy”:”д”,”ddagger”:”‡”,”ddarr”:”⇊”,”DD”:”ⅅ”,”dd”:”ⅆ”,”DDotrahd”:”⤑”,”ddotseq”:”⩷”,”deg”:”°”,”Del”:”∇”,”Delta”:”Δ”,”delta”:”δ”,”demptyv”:”⦱”,”dfisht”:”⥿”,”Dfr”:”?”,”dfr”:”?”,”dHar”:”⥥”,”dharl”:”⇃”,”dharr”:”⇂”,”DiacriticalAcute”:”´”,”DiacriticalDot”:”˙”,”DiacriticalDoubleAcute”:”˝”,”DiacriticalGrave”:”`”,”DiacriticalTilde”:”˜”,”diam”:”⋄”,”diamond”:”⋄”,”Diamond”:”⋄”,”diamondsuit”:”♦”,”diams”:”♦”,”die”:”¨”,”DifferentialD”:”ⅆ”,”digamma”:”ϝ”,”disin”:”⋲”,”div”:”÷”,”divide”:”÷”,”divideontimes”:”⋇”,”divonx”:”⋇”,”DJcy”:”Ђ”,”djcy”:”ђ”,”dlcorn”:”⌞”,”dlcrop”:”⌍”,”dollar”:”$”,”Dopf”:”?”,”dopf”:”?”,”Dot”:”¨”,”dot”:”˙”,”DotDot”:”⃜”,”doteq”:”≐”,”doteqdot”:”≑”,”DotEqual”:”≐”,”dotminus”:”∸”,”dotplus”:”∔”,”dotsquare”:”⊡”,”doublebarwedge”:”⌆”,”DoubleContourIntegral”:”∯”,”DoubleDot”:”¨”,”DoubleDownArrow”:”⇓”,”DoubleLeftArrow”:”⇐”,”DoubleLeftRightArrow”:”⇔”,”DoubleLeftTee”:”⫤”,”DoubleLongLeftArrow”:”⟸”,”DoubleLongLeftRightArrow”:”⟺”,”DoubleLongRightArrow”:”⟹”,”DoubleRightArrow”:”⇒”,”DoubleRightTee”:”⊨”,”DoubleUpArrow”:”⇑”,”DoubleUpDownArrow”:”⇕”,”DoubleVerticalBar”:”∥”,”DownArrowBar”:”⤓”,”downarrow”:”↓”,”DownArrow”:”↓”,”Downarrow”:”⇓”,”DownArrowUpArrow”:”⇵”,”DownBreve”:”̑”,”downdownarrows”:”⇊”,”downharpoonleft”:”⇃”,”downharpoonright”:”⇂”,”DownLeftRightVector”:”⥐”,”DownLeftTeeVector”:”⥞”,”DownLeftVectorBar”:”⥖”,”DownLeftVector”:”↽”,”DownRightTeeVector”:”⥟”,”DownRightVectorBar”:”⥗”,”DownRightVector”:”⇁”,”DownTeeArrow”:”↧”,”DownTee”:”⊤”,”drbkarow”:”⤐”,”drcorn”:”⌟”,”drcrop”:”⌌”,”Dscr”:”?”,”dscr”:”?”,”DScy”:”Ѕ”,”dscy”:”ѕ”,”dsol”:”⧶”,”Dstrok”:”Đ”,”dstrok”:”đ”,”dtdot”:”⋱”,”dtri”:”▿”,”dtrif”:”▾”,”duarr”:”⇵”,”duhar”:”⥯”,”dwangle”:”⦦”,”DZcy”:”Џ”,”dzcy”:”џ”,”dzigrarr”:”⟿”,”Eacute”:”É”,”eacute”:”é”,”easter”:”⩮”,”Ecaron”:”Ě”,”ecaron”:”ě”,”Ecirc”:”Ê”,”ecirc”:”ê”,”ecir”:”≖”,”ecolon”:”≕”,”Ecy”:”Э”,”ecy”:”э”,”eDDot”:”⩷”,”Edot”:”Ė”,”edot”:”ė”,”eDot”:”≑”,”ee”:”ⅇ”,”efDot”:”≒”,”Efr”:”?”,”efr”:”?”,”eg”:”⪚”,”Egrave”:”È”,”egrave”:”è”,”egs”:”⪖”,”egsdot”:”⪘”,”el”:”⪙”,”Element”:”∈”,”elinters”:”⏧”,”ell”:”ℓ”,”els”:”⪕”,”elsdot”:”⪗”,”Emacr”:”Ē”,”emacr”:”ē”,”empty”:”∅”,”emptyset”:”∅”,”EmptySmallSquare”:”◻”,”emptyv”:”∅”,”EmptyVerySmallSquare”:”▫”,”emsp13″:” ”,”emsp14″:” ”,”emsp”:” ”,”ENG”:”Ŋ”,”eng”:”ŋ”,”ensp”:” ”,”Eogon”:”Ę”,”eogon”:”ę”,”Eopf”:”?”,”eopf”:”?”,”epar”:”⋕”,”eparsl”:”⧣”,”eplus”:”⩱”,”epsi”:”ε”,”Epsilon”:”Ε”,”epsilon”:”ε”,”epsiv”:”ϵ”,”eqcirc”:”≖”,”eqcolon”:”≕”,”eqsim”:”≂”,”eqslantgtr”:”⪖”,”eqslantless”:”⪕”,”Equal”:”⩵”,”equals”:”=”,”EqualTilde”:”≂”,”equest”:”≟”,”Equilibrium”:”⇌”,”equiv”:”≡”,”equivDD”:”⩸”,”eqvparsl”:”⧥”,”erarr”:”⥱”,”erDot”:”≓”,”escr”:”ℯ”,”Escr”:”ℰ”,”esdot”:”≐”,”Esim”:”⩳”,”esim”:”≂”,”Eta”:”Η”,”eta”:”η”,”ETH”:”Д,”eth”:”ð”,”Euml”:”Ë”,”euml”:”ë”,”euro”:”€”,”excl”:”!”,”exist”:”∃”,”Exists”:”∃”,”expectation”:”ℰ”,”exponentiale”:”ⅇ”,”ExponentialE”:”ⅇ”,”fallingdotseq”:”≒”,”Fcy”:”Ф”,”fcy”:”ф”,”female”:”♀”,”ffilig”:”ffi”,”fflig”:”ff”,”ffllig”:”ffl”,”Ffr”:”?”,”ffr”:”?”,”filig”:”fi”,”FilledSmallSquare”:”◼”,”FilledVerySmallSquare”:”▪”,”fjlig”:”fj”,”flat”:”♭”,”fllig”:”fl”,”fltns”:”▱”,”fnof”:”ƒ”,”Fopf”:”?”,”fopf”:”?”,”forall”:”∀”,”ForAll”:”∀”,”fork”:”⋔”,”forkv”:”⫙”,”Fouriertrf”:”ℱ”,”fpartint”:”⨍”,”frac12″:”½”,”frac13″:”⅓”,”frac14″:”¼”,”frac15″:”⅕”,”frac16″:”⅙”,”frac18″:”⅛”,”frac23″:”⅔”,”frac25″:”⅖”,”frac34″:”¾”,”frac35″:”⅗”,”frac38″:”⅜”,”frac45″:”⅘”,”frac56″:”⅚”,”frac58″:”⅝”,”frac78″:”⅞”,”frasl”:”⁄”,”frown”:”⌢”,”fscr”:”?”,”Fscr”:”ℱ”,”gacute”:”ǵ”,”Gamma”:”Γ”,”gamma”:”γ”,”Gammad”:”Ϝ”,”gammad”:”ϝ”,”gap”:”⪆”,”Gbreve”:”Ğ”,”gbreve”:”ğ”,”Gcedil”:”Ģ”,”Gcirc”:”Ĝ”,”gcirc”:”ĝ”,”Gcy”:”Г”,”gcy”:”г”,”Gdot”:”Ġ”,”gdot”:”ġ”,”ge”:”≥”,”gE”:”≧”,”gEl”:”⪌”,”gel”:”⋛”,”geq”:”≥”,”geqq”:”≧”,”geqslant”:”⩾”,”gescc”:”⪩”,”ges”:”⩾”,”gesdot”:”⪀”,”gesdoto”:”⪂”,”gesdotol”:”⪄”,”gesl”:”⋛︀”,”gesles”:”⪔”,”Gfr”:”?”,”gfr”:”?”,”gg”:”≫”,”Gg”:”⋙”,”ggg”:”⋙”,”gimel”:”ℷ”,”GJcy”:”Ѓ”,”gjcy”:”ѓ”,”gla”:”⪥”,”gl”:”≷”,”glE”:”⪒”,”glj”:”⪤”,”gnap”:”⪊”,”gnapprox”:”⪊”,”gne”:”⪈”,”gnE”:”≩”,”gneq”:”⪈”,”gneqq”:”≩”,”gnsim”:”⋧”,”Gopf”:”?”,”gopf”:”?”,”grave”:”`”,”GreaterEqual”:”≥”,”GreaterEqualLess”:”⋛”,”GreaterFullEqual”:”≧”,”GreaterGreater”:”⪢”,”GreaterLess”:”≷”,”GreaterSlantEqual”:”⩾”,”GreaterTilde”:”≳”,”Gscr”:”?”,”gscr”:”ℊ”,”gsim”:”≳”,”gsime”:”⪎”,”gsiml”:”⪐”,”gtcc”:”⪧”,”gtcir”:”⩺”,”gt”:”>”,”GT”:”>”,”Gt”:”≫”,”gtdot”:”⋗”,”gtlPar”:”⦕”,”gtquest”:”⩼”,”gtrapprox”:”⪆”,”gtrarr”:”⥸”,”gtrdot”:”⋗”,”gtreqless”:”⋛”,”gtreqqless”:”⪌”,”gtrless”:”≷”,”gtrsim”:”≳”,”gvertneqq”:”≩︀”,”gvnE”:”≩︀”,”Hacek”:”ˇ”,”hairsp”:” ”,”half”:”½”,”hamilt”:”ℋ”,”HARDcy”:”Ъ”,”hardcy”:”ъ”,”harrcir”:”⥈”,”harr”:”↔”,”hArr”:”⇔”,”harrw”:”↭”,”Hat”:”^”,”hbar”:”ℏ”,”Hcirc”:”Ĥ”,”hcirc”:”ĥ”,”hearts”:”♥”,”heartsuit”:”♥”,”hellip”:”…”,”hercon”:”⊹”,”hfr”:”?”,”Hfr”:”ℌ”,”HilbertSpace”:”ℋ”,”hksearow”:”⤥”,”hkswarow”:”⤦”,”hoarr”:”⇿”,”homtht”:”∻”,”hookleftarrow”:”↩”,”hookrightarrow”:”↪”,”hopf”:”?”,”Hopf”:”ℍ”,”horbar”:”―”,”HorizontalLine”:”─”,”hscr”:”?”,”Hscr”:”ℋ”,”hslash”:”ℏ”,”Hstrok”:”Ħ”,”hstrok”:”ħ”,”HumpDownHump”:”≎”,”HumpEqual”:”≏”,”hybull”:”⁃”,”hyphen”:”‐”,”Iacute”:”Í”,”iacute”:”í”,”ic”:””,”Icirc”:”Δ,”icirc”:”î”,”Icy”:”И”,”icy”:”и”,”Idot”:”İ”,”IEcy”:”Е”,”iecy”:”е”,”iexcl”:”¡”,”iff”:”⇔”,”ifr”:”?”,”Ifr”:”ℑ”,”Igrave”:”Ì”,”igrave”:”ì”,”ii”:”ⅈ”,”iiiint”:”⨌”,”iiint”:”∭”,”iinfin”:”⧜”,”iiota”:”℩”,”IJlig”:”IJ”,”ijlig”:”ij”,”Imacr”:”Ī”,”imacr”:”ī”,”image”:”ℑ”,”ImaginaryI”:”ⅈ”,”imagline”:”ℐ”,”imagpart”:”ℑ”,”imath”:”ı”,”Im”:”ℑ”,”imof”:”⊷”,”imped”:”Ƶ”,”Implies”:”⇒”,”incare”:”℅”,”in”:”∈”,”infin”:”∞”,”infintie”:”⧝”,”inodot”:”ı”,”intcal”:”⊺”,”int”:”∫”,”Int”:”∬”,”integers”:”ℤ”,”Integral”:”∫”,”intercal”:”⊺”,”Intersection”:”⋂”,”intlarhk”:”⨗”,”intprod”:”⨼”,”InvisibleComma”:””,”InvisibleTimes”:””,”IOcy”:”Ё”,”iocy”:”ё”,”Iogon”:”Į”,”iogon”:”į”,”Iopf”:”?”,”iopf”:”?”,”Iota”:”Ι”,”iota”:”ι”,”iprod”:”⨼”,”iquest”:”¿”,”iscr”:”?”,”Iscr”:”ℐ”,”isin”:”∈”,”isindot”:”⋵”,”isinE”:”⋹”,”isins”:”⋴”,”isinsv”:”⋳”,”isinv”:”∈”,”it”:””,”Itilde”:”Ĩ”,”itilde”:”ĩ”,”Iukcy”:”І”,”iukcy”:”і”,”Iuml”:”Ï”,”iuml”:”ï”,”Jcirc”:”Ĵ”,”jcirc”:”ĵ”,”Jcy”:”Й”,”jcy”:”й”,”Jfr”:”?”,”jfr”:”?”,”jmath”:”ȷ”,”Jopf”:”?”,”jopf”:”?”,”Jscr”:”?”,”jscr”:”?”,”Jsercy”:”Ј”,”jsercy”:”ј”,”Jukcy”:”Є”,”jukcy”:”є”,”Kappa”:”Κ”,”kappa”:”κ”,”kappav”:”ϰ”,”Kcedil”:”Ķ”,”kcedil”:”ķ”,”Kcy”:”К”,”kcy”:”к”,”Kfr”:”?”,”kfr”:”?”,”kgreen”:”ĸ”,”KHcy”:”Х”,”khcy”:”х”,”KJcy”:”Ќ”,”kjcy”:”ќ”,”Kopf”:”?”,”kopf”:”?”,”Kscr”:”?”,”kscr”:”?”,”lAarr”:”⇚”,”Lacute”:”Ĺ”,”lacute”:”ĺ”,”laemptyv”:”⦴”,”lagran”:”ℒ”,”Lambda”:”Λ”,”lambda”:”λ”,”lang”:”⟨”,”Lang”:”⟪”,”langd”:”⦑”,”langle”:”⟨”,”lap”:”⪅”,”Laplacetrf”:”ℒ”,”laquo”:”«”,”larrb”:”⇤”,”larrbfs”:”⤟”,”larr”:”←”,”Larr”:”↞”,”lArr”:”⇐”,”larrfs”:”⤝”,”larrhk”:”↩”,”larrlp”:”↫”,”larrpl”:”⤹”,”larrsim”:”⥳”,”larrtl”:”↢”,”latail”:”⤙”,”lAtail”:”⤛”,”lat”:”⪫”,”late”:”⪭”,”lates”:”⪭︀”,”lbarr”:”⤌”,”lBarr”:”⤎”,”lbbrk”:”❲”,”lbrace”:”{“,”lbrack”:”[“,”lbrke”:”⦋”,”lbrksld”:”⦏”,”lbrkslu”:”⦍”,”Lcaron”:”Ľ”,”lcaron”:”ľ”,”Lcedil”:”Ļ”,”lcedil”:”ļ”,”lceil”:”⌈”,”lcub”:”{“,”Lcy”:”Л”,”lcy”:”л”,”ldca”:”⤶”,”ldquo”:”“”,”ldquor”:”„”,”ldrdhar”:”⥧”,”ldrushar”:”⥋”,”ldsh”:”↲”,”le”:”≤”,”lE”:”≦”,”LeftAngleBracket”:”⟨”,”LeftArrowBar”:”⇤”,”leftarrow”:”←”,”LeftArrow”:”←”,”Leftarrow”:”⇐”,”LeftArrowRightArrow”:”⇆”,”leftarrowtail”:”↢”,”LeftCeiling”:”⌈”,”LeftDoubleBracket”:”⟦”,”LeftDownTeeVector”:”⥡”,”LeftDownVectorBar”:”⥙”,”LeftDownVector”:”⇃”,”LeftFloor”:”⌊”,”leftharpoondown”:”↽”,”leftharpoonup”:”↼”,”leftleftarrows”:”⇇”,”leftrightarrow”:”↔”,”LeftRightArrow”:”↔”,”Leftrightarrow”:”⇔”,”leftrightarrows”:”⇆”,”leftrightharpoons”:”⇋”,”leftrightsquigarrow”:”↭”,”LeftRightVector”:”⥎”,”LeftTeeArrow”:”↤”,”LeftTee”:”⊣”,”LeftTeeVector”:”⥚”,”leftthreetimes”:”⋋”,”LeftTriangleBar”:”⧏”,”LeftTriangle”:”⊲”,”LeftTriangleEqual”:”⊴”,”LeftUpDownVector”:”⥑”,”LeftUpTeeVector”:”⥠”,”LeftUpVectorBar”:”⥘”,”LeftUpVector”:”↿”,”LeftVectorBar”:”⥒”,”LeftVector”:”↼”,”lEg”:”⪋”,”leg”:”⋚”,”leq”:”≤”,”leqq”:”≦”,”leqslant”:”⩽”,”lescc”:”⪨”,”les”:”⩽”,”lesdot”:”⩿”,”lesdoto”:”⪁”,”lesdotor”:”⪃”,”lesg”:”⋚︀”,”lesges”:”⪓”,”lessapprox”:”⪅”,”lessdot”:”⋖”,”lesseqgtr”:”⋚”,”lesseqqgtr”:”⪋”,”LessEqualGreater”:”⋚”,”LessFullEqual”:”≦”,”LessGreater”:”≶”,”lessgtr”:”≶”,”LessLess”:”⪡”,”lesssim”:”≲”,”LessSlantEqual”:”⩽”,”LessTilde”:”≲”,”lfisht”:”⥼”,”lfloor”:”⌊”,”Lfr”:”?”,”lfr”:”?”,”lg”:”≶”,”lgE”:”⪑”,”lHar”:”⥢”,”lhard”:”↽”,”lharu”:”↼”,”lharul”:”⥪”,”lhblk”:”▄”,”LJcy”:”Љ”,”ljcy”:”љ”,”llarr”:”⇇”,”ll”:”≪”,”Ll”:”⋘”,”llcorner”:”⌞”,”Lleftarrow”:”⇚”,”llhard”:”⥫”,”lltri”:”◺”,”Lmidot”:”Ŀ”,”lmidot”:”ŀ”,”lmoustache”:”⎰”,”lmoust”:”⎰”,”lnap”:”⪉”,”lnapprox”:”⪉”,”lne”:”⪇”,”lnE”:”≨”,”lneq”:”⪇”,”lneqq”:”≨”,”lnsim”:”⋦”,”loang”:”⟬”,”loarr”:”⇽”,”lobrk”:”⟦”,”longleftarrow”:”⟵”,”LongLeftArrow”:”⟵”,”Longleftarrow”:”⟸”,”longleftrightarrow”:”⟷”,”LongLeftRightArrow”:”⟷”,”Longleftrightarrow”:”⟺”,”longmapsto”:”⟼”,”longrightarrow”:”⟶”,”LongRightArrow”:”⟶”,”Longrightarrow”:”⟹”,”looparrowleft”:”↫”,”looparrowright”:”↬”,”lopar”:”⦅”,”Lopf”:”?”,”lopf”:”?”,”loplus”:”⨭”,”lotimes”:”⨴”,”lowast”:”∗”,”lowbar”:”_”,”LowerLeftArrow”:”↙”,”LowerRightArrow”:”↘”,”loz”:”◊”,”lozenge”:”◊”,”lozf”:”⧫”,”lpar”:”(“,”lparlt”:”⦓”,”lrarr”:”⇆”,”lrcorner”:”⌟”,”lrhar”:”⇋”,”lrhard”:”⥭”,”lrm”:””,”lrtri”:”⊿”,”lsaquo”:”‹”,”lscr”:”?”,”Lscr”:”ℒ”,”lsh”:”↰”,”Lsh”:”↰”,”lsim”:”≲”,”lsime”:”⪍”,”lsimg”:”⪏”,”lsqb”:”[“,”lsquo”:”‘”,”lsquor”:”‚”,”Lstrok”:”Ł”,”lstrok”:”ł”,”ltcc”:”⪦”,”ltcir”:”⩹”,”lt”:”<","LT":"⃒","nvHarr":"⤄","nvinfin":"⧞","nvlArr":"⤂","nvle":"≤⃒","nvlt":"{"use strict";e.exports=JSON.parse('{"Aacute":"Á","aacute":"á","Acirc":"Â","acirc":"â","acute":"´","AElig":"Æ","aelig":"æ","Agrave":"À","agrave":"à","amp":"&","AMP":"&","Aring":"Å","aring":"å","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","brvbar":"¦","Ccedil":"Ç","ccedil":"ç","cedil":"¸","cent":"¢","copy":"©","COPY":"©","curren":"¤","deg":"°","divide":"÷","Eacute":"É","eacute":"é","Ecirc":"Ê","ecirc":"ê","Egrave":"È","egrave":"è","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","frac12":"½","frac14":"¼","frac34":"¾","gt":">“,”GT”:”>”,”Iacute”:”Í”,”iacute”:”í”,”Icirc”:”Δ,”icirc”:”î”,”iexcl”:”¡”,”Igrave”:”Ì”,”igrave”:”ì”,”iquest”:”¿”,”Iuml”:”Ï”,”iuml”:”ï”,”laquo”:”«”,”lt”:”<","LT":"{"use strict";e.exports=JSON.parse('{"amp":"&","apos":"'","gt":">“,”lt”:”{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if(“object”==typeof globalThis)return globalThis;try{return this||new Function(“return this”)()}catch(e){if(“object”==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{“undefined”!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:”Module”}),Object.defineProperty(e,”__esModule”,{value:!0})};var n={};(()=>{“use strict”;r.d(n,{default:()=>e});const e={hydrate:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},i=r(6651),s=r(2081),o=r(8590),a=o.default;return s.hydrate(i.createElement(a,e),t,n)}}})(),imageGallery=n.default})(); window.sliceComponents.imageGallery = imageGallery; var triggerHydrate = function() { window.sliceComponents.imageGallery.hydrate(data, componentContainer); } if (window.lazyObserveElement) { window.lazyObserveElement(componentContainer, triggerHydrate); } else { triggerHydrate(); } } }).catch(err => console.log(‘Hydration Script has failed for imageGallery-7 Slice’, err)); }).catch(err => console.log(‘Externals script failed to load’, err)); ]]>
Image 1 of 6
(Image credit: Future)
(Image credit: Future)
(Image credit: Future)
(Image credit: Future)
(Image credit: Future)
(Image credit: Future)
Now, take a look at that cooler! The AD103 won’t ever get away with a single slot cooler but at 320W, it presents no challenge for the Suprim X’s 450W+ RTX 3090 Ti/ 4090 class cooler. It’s based around a vapor chamber, with no less than ten heatpipes dissipating heat to the further reaches of its massive surface area.
The VRM and memory chips are cooled via thermal pads and there’s an additional frame atop the PCB that adds rigidity and cools additional components. The backplate too has some thermal padding for rear mounted heat dumping components.
The PCB itself is a custom design, with 18+3 phases and 50a stages. Put simply, it’s overkill for the requirements of the AD103 GPU, but it’s better to overspec than underspec! Much like we saw with the Zotac RTX 4080 Amp Extreme Airo (opens in new tab), the Suprim X includes 24Gbps rated GDDR6X memory, faster than the 22.4Gbps rated clock of the card. This means there should be some OC headroom.
MSI GeForce RTX 4080 Suprim X benchmarks and performance
Of course, a great looking card with awesome build quality isn’t going to be rated highly if it performs like a turkey. We have a good idea of what to expect from the RTX 4080 though, so let’s dive in.
{ window.reliableDOMContentLoaded.then(() => { var componentContainer = document.querySelector(“#slice-container-imageGallery-11”); if(componentContainer) { var data = {“galleryData”:[{“title”:””,”description”:[],”image”:{“id”:”hPDZMBsnb3M2FC2GD33hmh”,”name”:”Thermal Performance _ Peak Load Temperature (1).png”,”src”:”https://cdn.mos.cms.futurecdn.net/hPDZMBsnb3M2FC2GD33hmh.png”,”alt”:”MSI GeForce RTX 4080 Suprim X benchmarks”,”width”:941,”height”:641,”srcSetSizes”:[320,480,650,970,1024,1200],”sizes”:{“default”:”calc(100vw – 40px)”,”1000px”:”970px”},”fullscreen”:false,”lazyLoading”:true,”addSEOMetaData”:false,”eager”:false,”removeNativeWidthRestriction”:false}},{“title”:””,”description”:[],”image”:{“id”:”bL8KrVhzQU5owYnLuRA8uk”,”name”:”Peak System Power Consumption _ 3DMark Speedway 10 min Loop (2).png”,”src”:”https://cdn.mos.cms.futurecdn.net/bL8KrVhzQU5owYnLuRA8uk.png”,”alt”:”MSI GeForce RTX 4080 Suprim X benchmarks”,”width”:941,”height”:641,”srcSetSizes”:[320,480,650,970,1024,1200],”sizes”:{“default”:”calc(100vw – 40px)”,”1000px”:”970px”},”fullscreen”:false,”lazyLoading”:true,”addSEOMetaData”:false,”eager”:false,”removeNativeWidthRestriction”:false}}],”progressText”:”Image {currentSlide} of {totalSlides}”,”viewOriginalText”:”View Original”}; var triggerHydrate = function() { window.sliceComponents.imageGallery.hydrate(data, componentContainer); } if (window.lazyObserveElement) { window.lazyObserveElement(componentContainer, triggerHydrate); } else { triggerHydrate(); } } }).catch(err => console.log(‘Hydration Script has failed for imageGallery-11 Slice’, err)); }).catch(err => console.log(‘Externals script failed to load’, err)); ]]>
Image 1 of 2


The monstrous Suprim X cooler really delivers. A peak temperature of 57°C is one of the best I’ve ever seen from any GPU, high end or not. That’s a full five degrees cooler than the Zotac Airo. And it manages it while remaining all but silent. The CPU cooler fans and pump on my test platform are more noticeable. Admittedly 57°C is on an open test bench, so in a case your temps will be a little higher, but even in the mid 60s it would still be an outstanding result for a 320W GPU.
One of the most impressive RTX 4080 feats is its relatively low power consumption, or more specifically its performance per watt. I recorded a maximum system power draw of 399W for the Suprim X. That’s lower than the Zotac RTX 4080, the RTX 3080, RX 6900 XT and even the RX 7900 XT. For all the pre-release whispers of runaway RTX 40-series power consumption, the RTX 4080 delivers what appears to be the best power efficiency of any card released to date.
That lower power consumption does cost a fraction of performance though. The Zotac 4080 uses the extra 20w or so to sneak ahead a percentage point or two in some of the following benchmarks.
Synthetic gaming performance
{ window.reliableDOMContentLoaded.then(() => { var componentContainer = document.querySelector(“#slice-container-imageGallery-14”); if(componentContainer) { var data = {“galleryData”:[{“title”:””,”description”:[],”image”:{“id”:”cCTyME4a88SKYpfXH8f9fj”,”name”:”3DMark Time Spy Extreme (1).png”,”src”:”https://cdn.mos.cms.futurecdn.net/cCTyME4a88SKYpfXH8f9fj.png”,”alt”:”MSI GeForce RTX 4080 Suprim X benchmarks”,”width”:941,”height”:641,”srcSetSizes”:[320,480,650,970,1024,1200],”sizes”:{“default”:”calc(100vw – 40px)”,”1000px”:”970px”},”fullscreen”:false,”lazyLoading”:true,”addSEOMetaData”:false,”eager”:false,”removeNativeWidthRestriction”:false}},{“title”:””,”description”:[],”image”:{“id”:”SMsxZ6vbmfm7SXUTnpbNkn”,”name”:”3DMark Port Royal _ Synthetic Ray Tracing (1).png”,”src”:”https://cdn.mos.cms.futurecdn.net/SMsxZ6vbmfm7SXUTnpbNkn.png”,”alt”:”MSI GeForce RTX 4080 Suprim X benchmarks”,”width”:941,”height”:641,”srcSetSizes”:[320,480,650,970,1024,1200],”sizes”:{“default”:”calc(100vw – 40px)”,”1000px”:”970px”},”fullscreen”:false,”lazyLoading”:true,”addSEOMetaData”:false,”eager”:false,”removeNativeWidthRestriction”:false}},{“title”:””,”description”:[],”image”:{“id”:”xrx9x8PmWZzoU5zSvv7bh3″,”name”:”3DMark DirectX Raytracing Feature Test (1).png”,”src”:”https://cdn.mos.cms.futurecdn.net/xrx9x8PmWZzoU5zSvv7bh3.png”,”alt”:”MSI GeForce RTX 4080 Suprim X benchmarks”,”width”:941,”height”:641,”srcSetSizes”:[320,480,650,970,1024,1200],”sizes”:{“default”:”calc(100vw – 40px)”,”1000px”:”970px”},”fullscreen”:false,”lazyLoading”:true,”addSEOMetaData”:false,”eager”:false,”removeNativeWidthRestriction”:false}}],”progressText”:”Image {currentSlide} of {totalSlides}”,”viewOriginalText”:”View Original”}; var triggerHydrate = function() { window.sliceComponents.imageGallery.hydrate(data, componentContainer); } if (window.lazyObserveElement) { window.lazyObserveElement(componentContainer, triggerHydrate); } else { triggerHydrate(); } } }).catch(err => console.log(‘Hydration Script has failed for imageGallery-14 Slice’, err)); }).catch(err => console.log(‘Externals script failed to load’, err)); ]]>
1440p Gaming Performance
{ window.reliableDOMContentLoaded.then(() => { var componentContainer = document.querySelector(“#slice-container-imageGallery-16”); if(componentContainer) { var data = {“galleryData”:[{“title”:””,”description”:[],”image”:{“id”:”BAZviipm5CSBcG2u5S53pE”,”name”:”Cyberpunk 2077 _ DirectX 12 _ RT Medium _ 1440p (1).png”,”src”:”https://cdn.mos.cms.futurecdn.net/BAZviipm5CSBcG2u5S53pE.png”,”alt”:”MSI GeForce RTX 4080 Suprim X benchmarks”,”width”:941,”height”:641,”srcSetSizes”:[320,480,650,970,1024,1200],”sizes”:{“default”:”calc(100vw – 40px)”,”1000px”:”970px”},”fullscreen”:false,”lazyLoading”:true,”addSEOMetaData”:false,”eager”:false,”removeNativeWidthRestriction”:false}},{“title”:””,”description”:[],”image”:{“id”:”GACcKSFVqs3oB4euXHnAiH”,”name”:”Far Cry 6 _ DirectX 12 _ Ultra Preset _ 1440p (1).png”,”src”:”https://cdn.mos.cms.futurecdn.net/GACcKSFVqs3oB4euXHnAiH.png”,”alt”:”MSI GeForce RTX 4080 Suprim X benchmarks”,”width”:941,”height”:641,”srcSetSizes”:[320,480,650,970,1024,1200],”sizes”:{“default”:”calc(100vw – 40px)”,”1000px”:”970px”},”fullscreen”:false,”lazyLoading”:true,”addSEOMetaData”:false,”eager”:false,”removeNativeWidthRestriction”:false}},{“title”:””,”description”:[],”image”:{“id”:”YypuXcvt7hLZXP6KgNVgYL”,”name”:”F1 21 _ DirectX 12 _ Ultra Preset w_ Ray Tracing _ 1440p (1).png”,”src”:”https://cdn.mos.cms.futurecdn.net/YypuXcvt7hLZXP6KgNVgYL.png”,”alt”:”MSI GeForce RTX 4080 Suprim X benchmarks”,”width”:941,”height”:641,”srcSetSizes”:[320,480,650,970,1024,1200],”sizes”:{“default”:”calc(100vw – 40px)”,”1000px”:”970px”},”fullscreen”:false,”lazyLoading”:true,”addSEOMetaData”:false,”eager”:false,”removeNativeWidthRestriction”:false}},{“title”:””,”description”:[],”image”:{“id”:”exNN3g8WBXdx7jDYcSmu2Q”,”name”:”Ghost Recon_ Breakpoint _ Ultimate Preset _ 1440p (1).png”,”src”:”https://cdn.mos.cms.futurecdn.net/exNN3g8WBXdx7jDYcSmu2Q.png”,”alt”:”MSI GeForce RTX 4080 Suprim X benchmarks”,”width”:941,”height”:641,”srcSetSizes”:[320,480,650,970,1024,1200],”sizes”:{“default”:”calc(100vw – 40px)”,”1000px”:”970px”},”fullscreen”:false,”lazyLoading”:true,”addSEOMetaData”:false,”eager”:false,”removeNativeWidthRestriction”:false}},{“title”:””,”description”:[],”image”:{“id”:”MtLT9LHNFeSpwnqgX34SsS”,”name”:”Metro Exodus Enhanced Edition _ DirectX 12 _ Extreme _ 1440p (1).png”,”src”:”https://cdn.mos.cms.futurecdn.net/MtLT9LHNFeSpwnqgX34SsS.png”,”alt”:”MSI GeForce RTX 4080 Suprim X benchmarks”,”width”:941,”height”:641,”srcSetSizes”:[320,480,650,970,1024,1200],”sizes”:{“default”:”calc(100vw – 40px)”,”1000px”:”970px”},”fullscreen”:false,”lazyLoading”:true,”addSEOMetaData”:false,”eager”:false,”removeNativeWidthRestriction”:false}},{“title”:””,”description”:[],”image”:{“id”:”5t8oQRZhPEDRbUGSB6YZuV”,”name”:”Total War_ Warhammer III _ DirectX 12 _ Ultra Preset _ 1440p (1).png”,”src”:”https://cdn.mos.cms.futurecdn.net/5t8oQRZhPEDRbUGSB6YZuV.png”,”alt”:”MSI GeForce RTX 4080 Suprim X benchmarks”,”width”:941,”height”:641,”srcSetSizes”:[320,480,650,970,1024,1200],”sizes”:{“default”:”calc(100vw – 40px)”,”1000px”:”970px”},”fullscreen”:false,”lazyLoading”:true,”addSEOMetaData”:false,”eager”:false,”removeNativeWidthRestriction”:false}}],”progressText”:”Image {currentSlide} of {totalSlides}”,”viewOriginalText”:”View Original”}; var triggerHydrate = function() { window.sliceComponents.imageGallery.hydrate(data, componentContainer); } if (window.lazyObserveElement) { window.lazyObserveElement(componentContainer, triggerHydrate); } else { triggerHydrate(); } } }).catch(err => console.log(‘Hydration Script has failed for imageGallery-16 Slice’, err)); }).catch(err => console.log(‘Externals script failed to load’, err)); ]]>
4K Gaming Performance
{ window.reliableDOMContentLoaded.then(() => { var componentContainer = document.querySelector(“#slice-container-imageGallery-18”); if(componentContainer) { var data = {“galleryData”:[{“title”:””,”description”:[],”image”:{“id”:”Tph4veP2TdSNopBPXc2VFf”,”name”:”Cyberpunk 2077 _ DirectX 12 _ RT Medium _ 4K (1).png”,”src”:”https://cdn.mos.cms.futurecdn.net/Tph4veP2TdSNopBPXc2VFf.png”,”alt”:”MSI GeForce RTX 4080 Suprim X benchmarks”,”width”:941,”height”:641,”srcSetSizes”:[320,480,650,970,1024,1200],”sizes”:{“default”:”calc(100vw – 40px)”,”1000px”:”970px”},”fullscreen”:false,”lazyLoading”:true,”addSEOMetaData”:false,”eager”:false,”removeNativeWidthRestriction”:false}},{“title”:””,”description”:[],”image”:{“id”:”EtqVLswB5FgYwmyBZrjqMi”,”name”:”Far Cry 6 _ DirectX 12 _ Ultra Preset _ 4K (1).png”,”src”:”https://cdn.mos.cms.futurecdn.net/EtqVLswB5FgYwmyBZrjqMi.png”,”alt”:”MSI GeForce RTX 4080 Suprim X benchmarks”,”width”:941,”height”:641,”srcSetSizes”:[320,480,650,970,1024,1200],”sizes”:{“default”:”calc(100vw – 40px)”,”1000px”:”970px”},”fullscreen”:false,”lazyLoading”:true,”addSEOMetaData”:false,”eager”:false,”removeNativeWidthRestriction”:false}},{“title”:””,”description”:[],”image”:{“id”:”yahQQ6YFxucPGcex9jdQAm”,”name”:”F1 21 _ DirectX 12 _ Ultra Preset w_ Ray Tracing _ 4K (1).png”,”src”:”https://cdn.mos.cms.futurecdn.net/yahQQ6YFxucPGcex9jdQAm.png”,”alt”:”MSI GeForce RTX 4080 Suprim X benchmarks”,”width”:941,”height”:641,”srcSetSizes”:[320,480,650,970,1024,1200],”sizes”:{“default”:”calc(100vw – 40px)”,”1000px”:”970px”},”fullscreen”:false,”lazyLoading”:true,”addSEOMetaData”:false,”eager”:false,”removeNativeWidthRestriction”:false}},{“title”:””,”description”:[],”image”:{“id”:”zkBoft5xgoSnzXgEnL6j46″,”name”:”Ghost Recon_ Breakpoint _ Ultimate Preset _ 4K (1).png”,”src”:”https://cdn.mos.cms.futurecdn.net/zkBoft5xgoSnzXgEnL6j46.png”,”alt”:”MSI GeForce RTX 4080 Suprim X benchmarks”,”width”:941,”height”:641,”srcSetSizes”:[320,480,650,970,1024,1200],”sizes”:{“default”:”calc(100vw – 40px)”,”1000px”:”970px”},”fullscreen”:false,”lazyLoading”:true,”addSEOMetaData”:false,”eager”:false,”removeNativeWidthRestriction”:false}},{“title”:””,”description”:[],”image”:{“id”:”Qw3zEwtneKDm7Rjh4zh2j8″,”name”:”Metro Exodus Enhanced Edition _ DirectX 12 _ Extreme _ 4K (1).png”,”src”:”https://cdn.mos.cms.futurecdn.net/Qw3zEwtneKDm7Rjh4zh2j8.png”,”alt”:”MSI GeForce RTX 4080 Suprim X benchmarks”,”width”:941,”height”:641,”srcSetSizes”:[320,480,650,970,1024,1200],”sizes”:{“default”:”calc(100vw – 40px)”,”1000px”:”970px”},”fullscreen”:false,”lazyLoading”:true,”addSEOMetaData”:false,”eager”:false,”removeNativeWidthRestriction”:false}},{“title”:””,”description”:[],”image”:{“id”:”MGKpsHmjA5a6dam2btiUiB”,”name”:”Total War_ Warhammer III _ DirectX 12 _ Ultra Preset _ 4K (1).png”,”src”:”https://cdn.mos.cms.futurecdn.net/MGKpsHmjA5a6dam2btiUiB.png”,”alt”:”MSI GeForce RTX 4080 Suprim X benchmarks”,”width”:941,”height”:641,”srcSetSizes”:[320,480,650,970,1024,1200],”sizes”:{“default”:”calc(100vw – 40px)”,”1000px”:”970px”},”fullscreen”:false,”lazyLoading”:true,”addSEOMetaData”:false,”eager”:false,”removeNativeWidthRestriction”:false}}],”progressText”:”Image {currentSlide} of {totalSlides}”,”viewOriginalText”:”View Original”}; var triggerHydrate = function() { window.sliceComponents.imageGallery.hydrate(data, componentContainer); } if (window.lazyObserveElement) { window.lazyObserveElement(componentContainer, triggerHydrate); } else { triggerHydrate(); } } }).catch(err => console.log(‘Hydration Script has failed for imageGallery-18 Slice’, err)); }).catch(err => console.log(‘Externals script failed to load’, err)); ]]>
MSI GeForce RTX 4080 Suprim X analysis
The RTX 4080 Suprim X delivers very good performance, but it appears as though MSI has placed emphasis on cool and quiet operation rather than all out performance. Not that that’s a bad thing, though it would be nice if manufacturers used the second BIOS in a more aggressive way, perhaps allowing a 450W power limit. Nvidia might not be happy with that though.
Test rig
CPU: Intel Core i9 12900K
Motherboard: Asus ROG Maximus Z690 Apex
RAM: 2x 16GB G.Skill Trident-Z DDR5-6000 C36
Storage: 2TB Seagate FireCuda 530
Cooling: Cooler Master PL360 Flux 360mm AIO
PSU: Corsair AX1000
At 1440p, even the most demanding titles including Cyberpunk 2077 without DLSS is possible and in many cases, even a 12900K CPU bottlenecks the card.
Most of the games that struggled to break 60Hz at 4K can now do so, even with ray tracing effects enabled, and that’s before enabling DLSS.
At the time of writing, I haven’t had the chance to comprehensively benchmark the Radeon RX 7900 XTX myself. If you look at our launch day review, you can see it’s a decent enough RTX 4080 competitor, though it can’t match Nvidia in ray traced games. It’s cheaper too, and definitely worth considering if you can live without the RTX 4080’s superior ray tracing performance and more importantly, DLSS.

(Image credit: Future)
MSI GeForce RTX 4080 Suprim X verdict
If we ignore the price for a second, the RTX 4080 is an excellent graphics card and the MSI Suprim X is arguably the best of the lot. It’s built like a battleship, it’s cool, quiet, it looks fantastic and it has a PCB that will never be stressed by the power requirements of the AD103 GPU.
If we ignore the price for a second, the RTX 4080 is an excellent graphics card and the MSI Suprim X is arguably the best of the lot.
That second is now up. At $1,379 | £1,359 | AU$2,449 it’s one of the more expensive RTX 4080 cards, meaning Nvidia, or someone along the supply chain is making a ton of money. But those are today’s prices. I don’t believe they will stay at these levels beyond the short term. When someone searches for ‘RTX 4080 Suprim X review’ in a year’s time, the graphics card landscape, and what you get for your dollar could look very different. Right now, its tough to recommend a high-end graphics card from a bang for buck perspective.
If you do pull the trigger and buy a Suprim X, at least you know you’ll be getting an excellent graphics card that can play all games at 4K and surely will do for the foreseeable future being arguably the best example of Nvidia’s Ada GPU. The Nvidia feature set is hard to ignore, too. All we need is some good news on the price front. If that happens, the RTX 4080 and the Suprim X flavor will go from being merely good to becoming great.
View Original Article Source Here