[]The best air purifiers are a great way to clean and control the quality of your indoor air, protecting you and your family from pollutants such as mold spores, dust, pet dander and pollen. They can be particularly helpful for those with asthma, allergies or other conditions that impact the respiratory system, and with this in mind we’ve rounded up the best air purifiers available on the market right now. We’ve tested these air purifiers in our designated testing facility and noted which features may particularly benefit certain groups, as well as any drawbacks.
[]According to Ernesta Jones, from the Environmental Protection Agency (opens in new tab), air purifiers are capable of capturing some of the smallest indoor air pollutants. “Some portable air cleaners can filter the small particles of greatest health concern — those that are smaller than 2.5 microns in diameter,” she told Live Science. There are also air cleaners that can filter both particles and gasses.
[]Many of the best air purifiers contain a High Efficiency Particulate Absorbing (HEPA) filter, which are able to remove at least 99.97% of allergens down to 0.3 microns in size. Anything smaller than ten microns in size is inhalable and can cause respiratory irritation, but a HEPA filter is capable of removing almost all of these small particles.
[]These filters can be particularly beneficial for people with asthma. In a 2004 study of 937 children with atopic asthma, those who used a HEPA filter had significantly fewer asthma symptoms during the 12-month study period, compared with those who did not. There were also demonstrably lower levels of allergens such as house dust mite and cockroach allergen detected on the bedroom floor in the treatment group, and these lower allergen levels correlated with clinical improvements in asthma.
[]Modern air purifiers generally provide several layers of air cleaning, with many containing an ionizer, UV sterilization system, and a host of other filters. Some also have activated carbon filters to deal with bad odors, and pre-filters to catch larger particles and extend the life of the HEPA filter. They may also come with a range of additional features, such as an in-built humidifier or essential oil trays.
[]At Live Science, our team has spent countless hours testing the best air purifiers to come up with a list of recommended models. As well as price, we’ve considered ease-of-use, design, functionality, and of course, performance. Scroll down to discover our round-up of the best models you can buy — or skip to our FAQ section, to read through advice from doctors and environmental protection agency members on the benefits of air purifiers. If you’re looking specifically for an air purifier for allergies, we’ve put together another handy guide to help you choose.
Experts
{ var componentContainer = document.querySelector(“#slice-container-person-768204724”); if(componentContainer) { var data = {“separator”:true,”name”:”Environmental Protection Agency”,”role”:”Independent executive agency”,”image”:{“src”:”https://cdn.mos.cms.futurecdn.net/QqYW2sMnsdupefmCA5RMYg.png”,”alt”:”Environmental Protection Agency”,”srcSetSizes”:[140,300],”fullscreen”:false,”lazyLoading”:true,”addSEOMetaData”:false,”eager”:false,”removeNativeWidthRestriction”:false,”noCredit”:false},”socialLinks”:{“socialButtons”:[{“iconName”:”WEBSITE”,”href”:”https://www.epa.gov/”}]},”biography”:”[]We spoke with members of the Environmental Protection Agency to confirm the latest research and findings on air purifiers.”}; /*! For license information please see person.js.LICENSE.txt */ var person;(()=>{var e={3759:(e,t,r)=>{“use strict”;function n(){return n=Object.assign||function(e){for(var t=1;tie});var i=r(6651),s=r.n(i),o=r(1036),a=r.n(o),l={allowedTags:[“b”,”i”,”em”,”strong”,”a”,”p”,”br”],allowedAttributes:{a:[“href”,”name”,”target”]},selfClosing:[“input”,”br”],transformTags:{h1:”strong”,h2:”strong”,h3:”strong”}};function c(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;t0&&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(D):D};var I=r(4942),q=r(181);function R(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:”undefined”!=typeof Symbol&&e[Symbol.iterator]||e[“@@iterator”];if(null!=r){var n,i,s=[],o=!0,a=!1;try{for(r=r.call(e);!(o=(n=r.next()).done)&&(s.push(n.value),!t||s.length!==t);o=!0);}catch(e){a=!0,i=e}finally{try{o||null==r.return||r.return()}finally{if(a)throw i}}return s}}(e,t)||(0,q.Z)(e,t)||function(){throw new TypeError(“Invalid attempt to destructure non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.”)}()}r(3279);var z=function(e){return”string”==typeof e?new URL(e.replace(” “,”%20″)):e};const B=function(e,t,r){var n=””;return t.forEach((function(i,s){var o=t.length!==s+1?”, “:””;n=””.concat(n).concat(function(e,t){var r,n,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:80,s=arguments.length>2&&void 0!==arguments[2]&&arguments[2]?”.webp”:””,o=z(e),a=new RegExp(M,”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};function H(e){return H=”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},H(e)}const U=function e(t){return”object”===H(t)&&t.origin?e(t.origin):”string”==typeof t&&t.includes(“.mos.cms.futurecdn.net”)};var F=function(e){var t=function(e){var t,r=new RegExp(M,”i”),n=z(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 V=function(e){var t=z(e),r=new RegExp(M,”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 G=[“src”,”dataSrcSet”,”dataSrcSetWebp”,”imageSizes”,”onError”];function W(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 $=function(e){var t=e.src,r=e.alt,o=void 0===r?””:r,a=e.className,l=void 0===a?””:a,c=e.attributes,u=void 0===c?{}:c,h=e.srcSetSizes,p=void 0===h?N:h,d=e.sizes,f=void 0===d?L:d,m=e.missingImageSrc,g=void 0===m?j():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,E=e.lazyLoading,_=void 0===E||E,O=e.useOriginalUrl,T=void 0!==O&&O,k=(0,i.useRef)(null),A=(0,i.useRef)(null),C=R((0,i.useState)(l),2),P=C[0],M=C[1],D=R((0,i.useState)(!1),2),q=D[0],z=D[1],H=function(){M((function(e){return””.concat(e,” loaded”)})),w()},$=T?V(t):t;if(!U($))return s().createElement(“img”,n({“data-hydrate”:!0,key:”nomosimage “.concat($,” “).concat(o),src:$,alt:o,onLoad:H,className:P},u));if(!_)return s().createElement(“img”,n({“data-hydrate”:!0,key:””.concat($,” “).concat(o),src:$,alt:o,onLoad:H,className:P},u));var X,Z,J,Y=function(e){for(var t=1;t{“use strict”;var t=function(e){return function(e){return!!e&&”object”==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return”[object RegExp]”===t||”[object Date]”===t||function(e){return e.$$typeof===r}(e)}(e)},r=”function”==typeof Symbol&&Symbol.for?Symbol.for(“react.element”):60103;function n(e,t){return!1!==t.clone&&t.isMergeableObject(e)?a((r=e,Array.isArray(r)?[]:{}),e,t):e;var r}function i(e,t,r){return e.concat(t).map((function(e){return n(e,r)}))}function s(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return e.propertyIsEnumerable(t)})):[]}(e))}function o(e,t){try{return t in e}catch(e){return!1}}function a(e,r,l){(l=l||{}).arrayMerge=l.arrayMerge||i,l.isMergeableObject=l.isMergeableObject||t,l.cloneUnlessOtherwiseSpecified=n;var c=Array.isArray(r);return c===Array.isArray(e)?c?l.arrayMerge(e,r,l):function(e,t,r){var i={};return r.isMergeableObject(e)&&s(e).forEach((function(t){i[t]=n(e[t],r)})),s(t).forEach((function(s){(function(e,t){return o(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,s)||(o(e,s)&&r.isMergeableObject(t[s])?i[s]=function(e,t){if(!t.customMerge)return a;var r=t.customMerge(e);return”function”==typeof r?r:a}(s,r)(e[s],t[s],r):i[s]=n(t[s],r))})),i}(e,r,l):n(r,l)}a.all=function(e,t){if(!Array.isArray(e))throw new Error(“first argument should be an array”);return e.reduce((function(e,r){return a(e,r,t)}),{})};var l=a;e.exports=l},7837:(e,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(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(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(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(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),E=u("P",42,1),_=u("T",43,1),O=h("Y",45),T=h("L",46),k=h("E",47),A=u("Y",49,1),C=u("L",50,1),P=u("E",51,1),M=h("I",54),D=h("T",55),N=h("L",56),L=h("E",57),j=u("I",58,1),I=u("T",59,1),q=u("L",60,1),R=u("E",61,1),z=u("#",63,64),B=u("X",66,65),H=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 E(){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),E.cancel=function(){void 0!==p&&clearTimeout(p),f=0,l=d=c=p=void 0},E.flush=function(){return void 0===p?h:S(i())},E}},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”‘(/\]/,E=/[da-f]/i;e.exports=function(e,_={}){let O,T,k,A,C,P,M,D,N,L,j=e.css.valueOf(),I=_.ignoreErrors,q=j.length,R=0,z=[],B=[];function H(t){throw e.error(“Unclosed “+t,R)}return{back:function(e){B.push(e)},nextToken:function(e){if(B.length)return B.pop();if(R>=q)return;let _=!!e&&e.ignoreUnclosed;switch(O=j.charCodeAt(R),O){case s:case o:case l:case c:case a:T=R;do{T+=1,O=j.charCodeAt(T)}while(O===o||O===s||O===l||O===c||O===a);L=[“space”,j.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(O);L=[e,e,R];break}case p:if(D=z.length?z.pop()[1]:””,N=j.charCodeAt(R+1),”url”===D&&N!==t&&N!==r&&N!==o&&N!==s&&N!==l&&N!==a&&N!==c){T=R;do{if(P=!1,T=j.indexOf(“)”,T+1),-1===T){if(I||_){T=R;break}H(“bracket”)}for(M=T;j.charCodeAt(M-1)===n;)M-=1,P=!P}while(P);L=[“brackets”,j.slice(R,T+1),R,T],R=T}else T=j.indexOf(“)”,R+1),A=j.slice(R,T+1),-1===T||S.test(A)?L=[“(“,”(“,R]:(L=[“brackets”,A,R,T],R=T);break;case t:case r:k=O===t?”‘”:'”‘,T=R;do{if(P=!1,T=j.indexOf(k,T+1),-1===T){if(I||_){T=R+1;break}H(“string”)}for(M=T;j.charCodeAt(M-1)===n;)M-=1,P=!P}while(P);L=[“string”,j.slice(R,T+1),R,T],R=T;break;case v:w.lastIndex=R+1,w.test(j),T=0===w.lastIndex?j.length-1:w.lastIndex-2,L=[“at-word”,j.slice(R,T+1),R,T],R=T;break;case n:for(T=R,C=!0;j.charCodeAt(T+1)===n;)T+=1,C=!C;if(O=j.charCodeAt(T+1),C&&O!==i&&O!==o&&O!==s&&O!==l&&O!==c&&O!==a&&(T+=1,E.test(j.charAt(T)))){for(;E.test(j.charAt(T+1));)T+=1;j.charCodeAt(T+1)===o&&(T+=1)}L=[“word”,j.slice(R,T+1),R,T],R=T;break;default:O===i&&j.charCodeAt(R+1)===b?(T=j.indexOf(“*/”,R+2)+1,0===T&&(I||_?T=j.length:H(“comment”)),L=[“comment”,j.slice(R,T+1),R,T],R=T):(x.lastIndex=R+1,x.test(j),T=0===x.lastIndex?j.length-1:x.lastIndex-2,L=[“word”,j.slice(R,T+1),R,T],z.push(L),R=T)}return R++,L},endOfFile:function(){return 0===B.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},1036:(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(){C.length&&(C[C.length-1].text+=r.text)},this.updateParentNodeMediaChildren=function(){C.length&&c.includes(this.tag)&&C[C.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 E={},_={},O={};h(t.allowedClasses,(function(e,t){x&&(p(x,t)||(x[t]=[]),x[t].push(“class”)),E[t]=[],O[t]=[];const r=[];e.forEach((function(e){“string”==typeof e&&e.indexOf(“*”)>=0?r.push(i(e).replace(/\*/g,”.*”)):e instanceof RegExp?O[t].push(e):E[t].push(e)})),r.length&&(_[t]=new RegExp(“^(“+r.join(“|”)+”)$”))}));const T={};let k,A,C,P,M,D,N;h(t.transformTags,(function(e,t){let r;”function”==typeof e?r=e:”string”==typeof e&&(r=m.simpleTransform(e)),”*”===t?k=r:T[t]=r}));let L=!1;I();const j=new n.Parser({onopentag:function(e,r){if(t.enforceHtmlBoundary&&”html”===e&&I(),D)return void N++;const n=new v(e,r);C.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,M[A]=u.tagName)),k&&(u=k(e,r),n.attribs=r=u.attribs,e!==u.tagName&&(n.name=e=u.tagName,M[A]=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}(P)||null!=t.nestingLimit&&A>=t.nestingLimit)&&(i=!0,P[A]=!0,”discard”===t.disallowedTagsMode&&-1!==w.indexOf(e)&&(D=!0,N=1),P[A]=!0),A++,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[e],s=E["*"],a=_[e],l=O[e],c=[a,_["*"]].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),L=!0)),i&&(b=y+q(b),y=””)},ontext:function(e){if(D)return;const r=C[C.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&&!L?b+=t.textFilter(r,n):L||(b+=r)}else b+=e;C.length&&(C[C.length-1].text+=e)},onclosetag:function(e){if(D){if(N–,N)return;D=!1}const r=C.pop();if(!r)return;D=!!t.enforceHtmlBoundary&&”html”===e,A–;const n=P[A];if(n){if(delete P[A],”discard”===t.disallowedTagsMode)return void r.updateParentNodeText();y=b,b=””}M[A]&&(e=M[A],delete M[A]),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=””),L=!1):n&&(b=y,y=””))}},t.parser);return j.write(e),j.end(),b;function I(){b=””,A=0,C=[],P={},M={},D=!1,N=0}function q(e,r){return”string”!=typeof e&&(e+=””),t.parser.decodeEntities&&(e=e.replace(/&/g,”&”).replace(/,”<").replace(/>/g,”>”),r&&(e=e.replace(/”/g,”””))),e=e.replace(/&(?![a-zA-Z0-9#]{1,20};)/g,”&”).replace(/,”<").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”)}},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}}},907:(e,t,r)=>{“use strict”;function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);rn})},4942:(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}r.d(t,{Z:()=>n})},181:(e,t,r)=>{“use strict”;r.d(t,{Z:()=>i});var n=r(907);function i(e,t){if(e){if(“string”==typeof e)return(0,n.Z)(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return”Object”===r&&e.constructor&&(r=e.constructor.name),”Map”===r||”Set”===r?Array.from(e):”Arguments”===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?(0,n.Z)(e,t):void 0}}},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:()=>u});var e=r(4942),t=r(907),i=r(181);function s(e){return function(e){if(Array.isArray(e))return(0,t.Z)(e)}(e)||function(e){if(“undefined”!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[“@@iterator”])return Array.from(e)}(e)||(0,i.Z)(e)||function(){throw new TypeError(“Invalid attempt to spread non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.”)}()}function o(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}function a(t){for(var r=1;r0&&void 0!==arguments[0]?arguments[0]:””.concat(t||””,”/”).concat(r);return new Promise((function(t,r){var o=document.createElement(“script”);o.async=!0,o.onload=t,o.onerror=function(){i.length?(Promise.all(s(i).map((function(t){var r=t.window,n=t.src;return window[r]?(window.slice[r]=window[r],Promise.resolve()):e(n).then((function(){return window.slice[r]=window[r]}))}))).then((function(){t(void 0)})),i=[]):r()},o.src=n,document.body.appendChild(o)}))}()})))};window.slice=a(a({},window.slice||{}),{},{resolveDependencies:l});const c=l,u={load:function(){return c([{endpoint:”react.js”,windowObject:”React”,fallback:[{window:”ReactDOM”,src:”https://unpkg.com/react-dom@17/umd/react-dom.production.min.js”},{window:”React”,src:”https://unpkg.com/react@17/umd/react.production.min.js”}]}],window.slice.hostname)},hydrate:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){};return this.load().then((function(){var i=r(6651),s=r(2081),o=r(3759).default;return s.hydrate(i.createElement(o,e),t,n)}),(function(e){console.error(e)}))}}})(),person=n.default})(); window.sliceComponents.person = person; var triggerHydrate = function() { window.sliceComponents.person.hydrate(data, componentContainer); } if (window.lazyObserveElement) { window.lazyObserveElement(componentContainer, triggerHydrate); } else { triggerHydrate(); } } }).catch(err => console.log(‘Hydration Script has failed for person-768204724 Slice’, err)); ]]>
Environmental Protection AgencyIndependent executive agency[]We spoke with members of the Environmental Protection Agency to confirm the latest research and findings on air purifiers.
{ var componentContainer = document.querySelector(“#slice-container-person-888043819”); if(componentContainer) { var data = {“separator”:true,”name”:”Dr. Ross Perry”,”role”:”Medical Doctor”,”image”:{“src”:”https://cdn.mos.cms.futurecdn.net/guJiN3PoNH7CFe29bAYx79.jpg”,”alt”:”Dr Ross Perry”,”srcSetSizes”:[140,300],”fullscreen”:false,”lazyLoading”:true,”addSEOMetaData”:false,”eager”:false,”removeNativeWidthRestriction”:false,”noCredit”:false},”socialLinks”:{“socialButtons”:[{“iconName”:”LINKEDIN”,”href”:”https://www.linkedin.com/in/ross-perry-b4a54512a”},{“iconName”:”WEBSITE”,”href”:”https://www.cosmedics.co.uk/doctors-surgeons/dr-ross-perry/”}]},”biography”:”[]Dr Ross Perry qualified at Guyu2019s & St Thomasu2019 Hospital Medical School in 1994. He is now the medical director of Cosmedics Skin Clinics. For this piece, he offers advice on potential pollutants in the home and the efficacy of air purifiers.”}; var triggerHydrate = function() { window.sliceComponents.person.hydrate(data, componentContainer); } if (window.lazyObserveElement) { window.lazyObserveElement(componentContainer, triggerHydrate); } else { triggerHydrate(); } } }).catch(err => console.log(‘Hydration Script has failed for person-888043819 Slice’, err)); ]]>
[]Dr Ross Perry qualified at Guy’s & St Thomas’ Hospital Medical School in 1994. He is now the medical director of Cosmedics Skin Clinics. For this piece, he offers advice on potential pollutants in the home and the efficacy of air purifiers.
Best air purifiers in our tests
[]
(Image credit: Joanne Lewsley)[]This is the best air purifier we’ve tested
Specifications
[]Energy star certified: No
[]Height: 20.5 inches
[]Diameter: 10.8 inches
[]Weight: 11lbs
Reasons to buy
+[]Affordably priced
+[]PM2.5/timer display
+[]Easy to set up and use
Reasons to avoid
-[]The app can be unreliable
[]The Levoit 400S performed best to remove airborne particles in our at-home testing, capturing at least 99.5% and up to 100% or particles during testing.
[]Its sleek and stylish cylinder shape with a neutral colorway makes it an easy addition to any room, whatever the décor, while a color-coded display gives users a great visual on air quality at any given moment.
[]What the users say
[]The Levoit 400S scores an impressive 5 stars out of 5 on Amazon, with 85% of reviews giving it the full 5 stars. Negative reviews cite problems with the VeSync app and a lack of sturdiness in design. Positive reviews praise the purifier’s accuracy in tracking 2.5 microns and its ability to manage and remove unpleasant odors, dust and pet dander. Customers particularly like the look of the Levoit 400S, although some say it feels a little big. They also appreciate how quietly the purifier runs on its lower settings.
[]The air purifier is light and features indented handles at either side, making it easy to move from room-to-room.
[]A companion app that users can download gives useful data on air quality and allows users to schedule and time the air purifier to fit round a busy family schedule. Unfortunately, for all its great functionality, the VeSync app wasn’t always reliable. During the course of our testing, we had to uninstall and reinstall the app twice when it crashed. The quietest setting on the Levoit 400S is barely discernible, while the most powerful setting still clocks in at just 52 decibels.
[]Stylish, quietly powerful, and with an intuitive, easy-to-use Smart interface, the Levoit 400S is our top pick of air purifiers. It could be the ideal appliance for you if you’re looking for an effective air purifier that’s big on performance but doesn’t blow the budget.
[]
(Image credit: Joanne Lewsley)[]Our favorite budget air purifier
Specifications
[]Energy star certified: Yes
[]Height: 18 inches
[]Diameter: 10 inches
[]Weight: 12.5lbs
Reasons to buy
+[]Space saving design for bedrooms
+[]Energy-saving eco mode
+[]Four-stage filtration system
Reasons to avoid
-[]Small design unsuitable for entire home
-[]Replacement filters aren’t cheap
-[]Noisy at highest setting
[]The Coway AP 1512 is known as a standout air purifier due to its excellent value and high-quality performance. It may not be as stylish as other air purifiers in our round-up, but our testing found it to do a remarkable job of removing particles in just 30 minutes.
[]What the users say
[]The Coway AP 1512 HH Air Purifier has an impressive 4.7 star rating out of five on Amazon, and with reviewers praising its quiet running, affordable replacement filters and its economical performance, it’s fair to say that this is a total winner with users. Negative reviews said that the included instructions did not quite go far enough in instructing users how to set up and use their air purifier. Positive reviews were sold by how lightweight and easy to maneuver the air purifier was, as well as the design which was easy to integrate into their home.
[]For an initial cost of under $300, this air purifier can offer you a four-stage filtration system, a HEPA filter and coverage of up to 361 square feet. The air purifier itself is packaged in a neat, sleek design and available in two different colors, black and white.
[]This air purifier excels when it comes to dust and eradicating odors, with a pre-filter and odorization filter for reducing contaminants in the air. It’s also inconspicuous when it comes to noise, making it a suitable addition to any bedroom when paired when its smaller size.
[]The Coway-AP-1512HH air Purifier also benefits from a built-in particle sensor. That means that you can get an idea of the air quality in your home from the color coding system on the top of the device. It’ll show a blue light when the air is clean, purple to flag pollution and red for high pollution. Another clever feature of the Coway AP- 1512HH is the sensors that can adjust the fan speed to keep the air clean, so that you don’t have to mess with the settings.
[]We particularly liked the Eco mode on the Coway AP-512HH which worked well to power down the air purifier when air pollution was low, saving energy and money. Our tester also found the auto mode worked well to toggle between fan settings depending on indoor air quality.
[]The Coway AP-1512HH is an air purifier suited to small spaces of rooms up to 361 square feet, making it suitable for smaller spaces and bedrooms. If you need something for a larger room, then you might want to look elsewhere while bearing in mind that this is a fantastic choice for smaller spaces.
[]
(Image credit: Future)[]A stylish air purifier with excellent smart features and cooling capabilities
Specifications
[]Energy star certified: Yes
[]Height: 41 inches
[]Length: 4.72 inches
[]Width: 8.7 inches
[]Weight: 11lbs
Reasons to buy
+[]Sleek, stylish design
+[]Powerful air purifying capability
+[]Connectivity and smart features
Reasons to avoid
-[]Expensive outlay
-[]Can get noisy at elevated levels
[]The Dyson Purifier Cool is one of the most stylish air purifiers on the market. Its unusual design marks it out as a talking point in any room, while simple but genius extras, such as a magnetic remote control, take it a step up from your average air purifier.
[]What the users say
[]The Dyson Purifier Cool scores an average of 4.2 out of five stars on Home Depot. Negative reviews cite problems with the sensors’ baseline readings, poor fan quality, and noisiness when in use. Positive reviews praise the purifier’s ability to improve the symptoms of allergy sufferers, as well as removing unpleasant odors. Customers particularly like the integration with smart devices, the auto setting and the purifier’s stylish design, with one user commenting, ‘It looks like a piece of art’.
[]The purifier also doubles up as a fan in hotter weather, although this isn’t as powerful as some users would like. Users can activate, schedule and monitor their purifier via the Dyson app, allowing them to set fan speed, timers and check air quality whether they’re home or away.
[]A clever LCD display flicks between icons that show air quality data in real time, while an auto-mode senses air particles and adjusts fan settings to suit.
[]We burned a series of matches to test how well the purifier captures particles. At a level 6 setting, we found that the purifier removed 98% of particles smaller than 0.3 microns, 72% of particles smaller than 2.5 microns and 73% of particles measuring smaller than 10 microns. At a level 10 setting, we found that the purifier captured 95% of particles smaller than 0.3 microns, 96% of particles smaller than 2.5 microns, and almost 100% of particles measuring smaller than 10 microns.
[]Based on these limited tests, our results weren’t consistent enough to support Dyson’s claim that it can remove 99.95% of particles. However, it still performed well, often capturing more than 95% of monitored particles when used at its highest setting for at least 30 minutes.
[]The Dyson Purifier Cool’s high price tag may be too expensive to suit everyone’s budget, but its stylish, sleek design and smart, connected functionality is impressive.
[]
(Image credit: Future)[]One of the most powerful air purifiers we tested – perfect for larger spaces
Specifications
[]Energy star certified: Yes
[]Height: 21 inches
[]Depth: 13 inches
[]Width: 13 inches
[]Weight: 15.5lbs
Reasons to buy
+[]Low energy consumption
+[]Powerful air purifying capability
+[]360-degree air intake
+[]Ideal for larger rooms or offices
Reasons to avoid
-[]No smart features
-[]Bulky, heavy unit
[]The Blue Pure 221 is designed to cover areas of up to 600 square feet, making it an excellent choice for homes with larger rooms or office spaces. With three power settings operated with a one-touch button, simplicity is the key for this purifier.
[]What the users say
[]The Blue Pure 221 scores an impressive 4.8 out of five stars on Home Depot, with hundreds of five-star reviews from satisfied customers. Positive reviews praise the purifier’s performance, saying it helps them sleep better, feel less congested, and enjoy cleaner air quality in their home. Many users love the unit’s design and are happy with how quiet it can run. Negative reviews cite problems with performance, the expense of replacing filters, and some complain that the higher settings are too noisy.
[]Our at-home tests found the Blue Pure 221 to be consistently better than all the other air purifiers we tested. Despite its lack of Smart technology, it out-performed purifiers at almost double the price.
[]We burned a series of matches to test how well the purifier absorbed particles. At a level 2 setting, we found that the purifier absorbed 99.7% of particles smaller than 0.3 microns, 99.5% of particles smaller than 2.5 microns, and 100% of particles measuring smaller than 10 microns. At a level 3 setting, we found that the purifier absorbed 99.9% of particles smaller than 0.3 microns, 99.6% of particles smaller than 2.5 microns, and 100% of particles measuring smaller than 10 microns
[]Some users may be put off by the unit’s weight and bulk. But it’s still a stylish machine that’s thoughtfully designed. Plus, its customizable fabric pre–filters make it easy to pair the unit with any home’s color scheme.
[]Our verdict? A dependable workhorse of an air purifier that puts performance above presentation. Plus, we like the fact that it’s energy star certified and cheap to run.
[]
(Image credit: Joanne Lewsley)[]A great air purifier if you’re on a very tight budget
Specifications
[]Energy star certified: No
[]Height: 12.6 inches
[]Diameter: 20 inches
[]Weight: 6.5 lbs
Reasons to buy
+[]Affordable
+[]Quiet fan, even at fastest speed
+[]Easy to set up and use
Reasons to avoid
-[]Can’t program the unit
-[]Didn’t perform as well as expected in tests
[]Small enough for any desktop or shelf, the Levoit H132’s compact size and low price makes it the ideal air purifier for someone looking to try their first air purifier at home. If you have a small apartment, or you simply want to use an air purifier in one room only, then this might be the product for you.
[]What the users say
[]The Levoit H132 scores an impressive 4.7 out of five stars on Home Depot. Negative reviews are few and far between, with one customer finding problems with the motor whining after a few weeks. Most reviews are positive, with users praising the purifier as convenient and highly efficient at reducing the symptoms of allergies. Customers particularly like how quiet the purifier runs, even at the highest setting. Users say the purifier worked so well to improve indoor air quality that they bought a second one for another room.
[]The Levoit H132 might lack the wow–factor of more stylish purifiers. However, what it lacks in style, it certainly delivers in sheer affordability. Available for under $100, this is definitely one of the best air purifiers for those on a budget.
[]While this particular air purifier might lack the HEPA filter that gives premium air purifiers their mark of quality, it does come with an in-built dimmable nightlight, making it an ideal air purifier for a nursery or child’s bedroom. While it’s not possible to pre-program the unit, a memory function means that previous fan settings are logged before it powers down.
[]Unfortunately, the Levoit H132 didn’t quite live up to expectations when it came to testing how well it absorbed particles, consistently falling some way below the 99.97% expected from a device with an H13 HEPA filter. However, running the purifier for longer periods may yield better results.
[]The Levoit H132 may not have all the bells and whistles of a smart air purifier, but its affordability and compact size makes it the ideal entry-level indoor air purifier that performs well in small to medium-sized rooms.
[]
(Image credit: Future)[]This portable air purifier is a convenient option for travel
Specifications
[]Energy star certified: No
[]Height: 7.5 (in)
[]Diameter: 6.9 (in)
[]Weight: 2.5 lbs
Reasons to buy
+[]Works straight out of the box
+[]Small enough to travel with
+[]Built-in night light
Reasons to avoid
-[]Noisy on highest setting
-[]Not the best performance
-[]Expensive replacement filters
[]Light and compact, the KOIOS EPI810 is the smallest air purifier we’ve reviewed. It will sit comfortably on any office desk or shelf and its 2.5lb weight makes it light enough to take travelling.
[]What the users say
[]The Koios EPI810 has an impressive 4.5 stars out of five on Amazon.com. Users who gave it the full five stars praise the purifier’s performance as well as its conveniently compact size. Others rate its ability to neutralize unpleasant cooking odors and pet smells. Many reviewers have bought several purifiers to use in multiple rooms. Negative reviews point out that the purifier can be noisy at its highest setting, or that they have been unable to switch the night light setting off. Other criticize the quality of the unit as having a ‘cheap’ feel and say the replacement filters are too expensive, at almost half the price of the base unit.
[]The purifier can operate from a mains socket or via USB, while a simple one-click button control makes it one of the easiest air purifiers to operate straight out of the box. A built-in night light makes it a good choice for a nursery or kids’ room.
[]Our at-home incense smoke test evaluated how well the purifier performed after burning five incense cones simultaneously and found mixed results. While the KOIOS EPI810 absorbed an impressive 99% of particles measuring 10 microns, it only absorbed 52% of particles smaller than 2.5 microns
[]While it doesn’t have the wow factor when it comes to design, or the sophistication of a smart, connected air purifier, the KOIOS EPI810 may work well if you want something easy to operate. However, a noisy higher setting and a lacklustre performance in our at-home tests may put some users off.
[]
(Image credit: Anna Gora)[]A great no frills air purifier for tight spaces
Specifications
[]Energy Star Certified: No
[]Height: 25.24 (in)
[]Diameter: 10.12 (in)
[]Weight: 13.27 lbs
Reasons to buy
+[]Relatively affordable
+[]Great for tight spaces
+[]Easy to set up and use
Reasons to avoid
-[]Limited setting
-[]No 24-hour timer
-[]No smart features
[]Despite its basic settings, the HoMedics TotalClean Deluxe 5-in-1 is a good value air purifier that’s efficient, easy to set up and intuitive to use — all while taking up little space within your home or office.
[]What the users say
[]The HoMedics TotalClean Deluxe 5-in-1 scores a really good rating of 4.6 stars out of 5 on Amazon (opens in new tab), with 79% of reviews awarding it the full 5 stars. Positive reviews tend to praise this air purifier for its effectiveness, energy efficiency, portability and relatively low noise levels. Many users also appreciate the 3-year warranty and like that the lights on the HoMedics TotalClean Deluxe 5-in-1 are not too distracting during the night.
[]HoMedics TotalClean Deluxe 5-in-1 is a tower air purifier equipped with UV-C technology and a 360-degree true HEPA filter. According to the manufacturer’s claims, this piece of equipment can remove up to 99.9% of harmful microbes, mold, fungi and airborne allergens. And thanks to its pre-filter and additional carbon filter, it can also be effective at getting rid of lingering odors, pet hair and volatile organic compounds — all for less than $250 per unit.
[]The HoMedics TotalClean Deluxe 5-in-1 air purifier was clearly designed to perform, no matter the circumstances. This piece of equipment comes with UV-C technology and an ionizer, which, according to the manufacturer claims, can effectively kill most bacteria, viruses, molds and fungi. It also contains several different filters to ensure no unwanted pollutants are left hanging in the air.
[]In our tests, the HoMedics TotalClean Deluxe 5-in-1 demonstrated really good performance in several different circumstances, particularly in relation to small and medium-sized particles. In fact, in our match smoke test it removed 88.5% of 0.3 nano particles on the highest setting after just 30 minutes.
How do we test air purifiers on Live Science?
[]Every air purifier in this guide has been tested to the exact same standards, using the same processes. We created a series of tests to measure particles of different sizes, to see how each air purifier performs with certain types of impurities. We use a particle counter for all our testing, and our equipment is capable of measuring the smallest pollutants (0.3 microns) that can be removed from the air by a purifier.
[]We start by running an ambient air quality test, where we run the air purifier in multiple rooms in a home to see how it performs at the regular setting, and the highest possible setting (below 50 decibels). We make note of readings after 15 and 30 minutes to see the speed at which the machine removes particles from the air. We also measure the noise levels generated by the fan, to comment on how noticeable the purifier will be in an average home.
[]We then test different particle sizes using matches and incense to generate different types of smoke, taking measurements at regular intervals and on different speed settings.
[]Our testing also takes into account the size of the unit, the cost, ease of use, availability of additional parts, and the energy use on the lowest and highest settings. Finally, we check online user reviews to see what people think, and we test for any persistent problems or defects that we read about.
[]As per our testing policy, we fully disclose all our findings in our reviews.
[]
(Image credit: Getty Images)
Are air purifiers worth it?
[]The best air purifiers are a great way to help improve the air space around you and your family. As well as protecting those with health issues from the multitude of air pollutants that gather indoors, those without specific concerns will have peace of mind that the right air purifier will make their environment cleaner.
[]The air purifiers that are most likely to give you the most benefit, for example those including a HEPA filter, tend to be at the higher end of budgets — generally into the hundreds of dollars. The size of the unit will also play a huge part in the cost — with the larger units that cover a larger area being greater in price.
[]If you have health concerns, or a recurring allergy, keeping pollutants out of your home with an air purifier is definitely worthwhile. Americans now spend roughly 90% of their time indoors, according to the Environmental Protection Agency (opens in new tab). It’s here that potentially harmful air is able to build up, meaning there are up to five times higher levels of pollutants indoors, than outdoors. An air purifier can help reduce these levels significantly, though not entirely eradicate them, helping you and those around you breathe easier.
Do air purifiers work?
[]Depending on the type of allergy, and the trigger, air purifiers have also been found to help reduce the presence of particles in the air that cause allergic reactions, which can in turn cause asthma attacks. Dehumidifiers have also been shown to be helpful for asthma sufferers, during times of high humidity. In cases where your indoor space has little or poor ventilation, air purifiers can also come in useful, especially if you are looking to tackle smoke and the resulting odor.
[]It is still unclear whether air purifiers do anything to prevent the spread of COVID-19 indoors. The Center for Disease Control (CDC) advises that you should open doors and windows to keep a good flow of air moving indoors — weather permitting, of course. HEPA filters, found in some air purifiers, have been found to remove some viruses from the air.
[]“Portable air cleaners, also known as air purifiers or air sanitizers, are designed to filter the air in a single room or area, and they have the potential to improve the indoor air quality in that space,” said Ernesta Jones, from the Environmental Protection Agency.
[]Jones added that HEPA filters (opens in new tab) can be particularly useful for those suffering from allergies or asthma. “Multiple studies with portable air cleaners that use a HEPA filter have found improvements in one or more allergy and/or asthma symptoms,” she said.
[]“Several studies suggest that using a portable air cleaner where people are spending time, such as in the bedroom while sleeping, may be more effective than leaving it in a central location, such as in the living room.”
[]Dr. Lee adds that the scientific evidence of research into childhood asthma also indicate that the best air purifiers can significantly help reduce potentially triggering particulate matter within the home.
[]”In one study, air purifiers were installed in eight houses, with children with childhood asthma. A control group was also studied which did not have an air purifier,” she explains. “After 12 weeks, the treatment group showed a clinical improvement in asthma, with better night-time peak flows, whereas these had deteriorated in the control group. The concentration of particulate matter found in the treatment group had decreased by 43%, and this was significantly greater than the control group.”
What causes indoor pollution?
[]”High temperatures and humidity can increase concentrations of some pollutants and be detrimental to health,” Dr. Ross Perry, Medical Director of Cosmedics skin clinics, told Live Science.
[]”The most common pollutants are cigarette smoke or tobacco and cleaning products – harsh chemicals can give off fumes that irritate the nose, mouth, lungs and skin.
[]“Another source of indoor pollution is air fresheners and candles. These can reduce air quality and linger in the home. Paints, glue and craft products can also be problematic as can mold, pollen, pets, dust mites, wood burners and gas stoves.”
[]Dr Lee adds that you need to be aware of the cleanliness and humidity levels of your environment if you want to keep indoor pollution levels low. “Reduce environmental triggers by hoovering regularly — twice a week or more — with a hoover with a HEPA filter,” she recommends. “Use anti-allergy bedding and don’t smoke in the house or anywhere near the bedroom. Keep the humidity less than 50% as high humidity encourages house dust mites. Take your shoes off as soon as you come into the house to avoid treading allergens into the carpets and up the stairs.”
What are HEPA filters?
[]You’ll notice most of the air purifiers for rooms that we tested have something called a high-efficiency particulate absorbing (HEPA) filter. These can remove 99.97 percent of air pollutants from 0.3 microns in size, which basically means they are really effective at getting rid of the majority of indoor air pollutants.
[]For context, most dust particles are about five microns in size, and pollen is a staggering 10-1,00 microns – all of which a HEPA filter is able to trap and remove.
[]Perry tells Live Science that while the most effective air cleaners can remove lots of different types of particles, you’ll never get 100 percent pure air.
[]He says: “The idea of an air purifier is that it’s designed to get rid of the impurities in your home and neutralize any nasties, such as dust, smells, pet dander, smoke, bacteria and viruses.
[]“Air purifiers work by having a fan that sucks the dirty air in the home into filters. These then remove any impurities before releasing the cleaned air back into the room. It’s important to note, however, that it’s impossible to get rid of all particles, which can live on walls, carpets, bedding and hard surfaces.”
Air purifier benefits
[]For many of us, clean air can make our living space more comfortable. But for those who struggle with respiratory problems, such as allergies, asthma or COPD, the presence of harmful airborne particles can make their symptoms unbearable and directly endanger their health. Similarly, immunocompromised individuals may feel much safer knowing that their air purifier will trap microbes that can make them very sick.
[]As Perry points out, we may still need more large-scale studies to assess the exact effect of air purifiers on our health, but it’s hard to deny the fact that, for some, these devices may be indispensable.
[]“It makes sense that the cleaner the air, the easier it is for anyone with breathing problems and susceptible to allergies,” he says. “If you’re an asthma sufferer and want to purchase an at-home air purifier, then it’s a good idea to keep a diary to see if it does make a difference in symptoms. Remember though that an air purifier will not get rid of all impurities so asthma needs to be managed as prescribed by your doctor.”
[]“The same goes for people who suffer from allergies, the cleaner the air and being able to manage pollen and dust is going to help and will be dependent, of course, on the time of year when pollen count is higher.”
[]Today’s best air purifier deals
(opens in new tab) (opens in new tab) (opens in new tab) (opens in new tab)
Read The Full Article Here