From 6257fef025eaf0b7ab440ac3eba0105bef11b51d Mon Sep 17 00:00:00 2001 From: Sean <12197162+S34NW@users.noreply.github.com> Date: Thu, 31 Oct 2024 17:57:28 +0000 Subject: [PATCH] [S] Yikes exploit fixes attempt 2 (#27248) * how did we miss this * paper prevention * optimise prime * wow --- code/modules/paperwork/paper.dm | 12 ++ tgui/packages/tgui-panel/chat/renderer.js | 9 + tgui/public/tgui-panel.bundle.js | 244 +++++++++++----------- 3 files changed, 143 insertions(+), 122 deletions(-) diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 03009f4c219..29330bc8feb 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -47,6 +47,7 @@ var/const/deffont = "Verdana" var/const/signfont = "Times New Roman" var/const/crayonfont = "Comic Sans MS" + var/regex/blacklist = new("( "}, "window=paper_help") +/obj/item/paper/vv_edit_var(var_name, var_value) + if((var_name == "info") && blacklist.Find(var_value)) //uh oh, they tried to be naughty + message_admins("EXPLOIT WARNING: ADMIN [usr.ckey] attempted to write paper containing JS abusable tags!") + log_admin("EXPLOIT WARNING: ADMIN [usr.ckey] attempted to write paper containing JS abusable tags") + return FALSE + return ..() + /obj/item/paper/proc/topic_href_write(id, input_element) var/obj/item/item_write = usr.get_active_hand() // Check to see if he still got that darn pen, also check if he's using a crayon or pen. add_hiddenprint(usr) // No more forging nasty documents as someone else, you jerks @@ -321,6 +329,10 @@ return if(loc != usr && !Adjacent(usr) && !((istype(loc, /obj/item/clipboard) || istype(loc, /obj/item/folder)) && ((usr in get_turf(src)) || loc.Adjacent(usr)))) return // If paper is not in usr, then it must be near them, or in a clipboard or folder, which must be in or near usr + if(blacklist.Find(input_element)) //uh oh, they tried to be naughty + message_admins("EXPLOIT WARNING: [usr.ckey] attempted to write paper containing JS abusable tags!") + log_admin("EXPLOIT WARNING: [usr.ckey] attempted to write paper containing JS abusable tags") + return FALSE input_element = parsepencode(input_element, item_write, usr) // Encode everything from pencode to html if(id != "end") addtofield(text2num(id), input_element) // He wants to edit a field, let him. diff --git a/tgui/packages/tgui-panel/chat/renderer.js b/tgui/packages/tgui-panel/chat/renderer.js index aa2dde85837..455c296ebd2 100644 --- a/tgui/packages/tgui-panel/chat/renderer.js +++ b/tgui/packages/tgui-panel/chat/renderer.js @@ -4,6 +4,7 @@ * @license MIT */ +import DOMPurify from 'dompurify'; import { EventEmitter } from 'common/events'; import { classes } from 'common/react'; import { createLogger } from 'tgui/logging'; @@ -29,6 +30,9 @@ const logger = createLogger('chatRenderer'); // that is still trackable. const SCROLL_TRACKING_TOLERANCE = 24; +// List of blacklisted tags +const blacklisted_tags = ['iframe', 'video']; + const findNearestScrollableParent = (startingNode) => { const body = document.body; let node = startingNode; @@ -359,6 +363,11 @@ class ChatRenderer { // Payload is HTML else if (message.html) { node.innerHTML = message.html; + node.innerHTML = DOMPurify.sanitize(node.innerHTML, { + // No iframes in my chat kkthxbye + FORBID_TAGS: blacklisted_tags, + ALLOW_UNKNOWN_PROTOCOLS: true, + }); } else { logger.error('Error: message is missing text payload', message); } diff --git a/tgui/public/tgui-panel.bundle.js b/tgui/public/tgui-panel.bundle.js index 8b51192ba87..09f4c45d267 100644 --- a/tgui/public/tgui-panel.bundle.js +++ b/tgui/public/tgui-panel.bundle.js @@ -1,30 +1,30 @@ -(function(){(function(){var xn={96376:function(E,n,t){"use strict";n.__esModule=!0,n.createPopper=void 0,n.popperGenerator=g;var e=i(t(74758)),r=i(t(28811)),o=i(t(98309)),a=i(t(44896)),s=i(t(33118)),u=i(t(10579)),c=i(t(56500)),p=i(t(17633));n.detectOverflow=p.default;var d=t(75573);function i(h){return h&&h.__esModule?h:{default:h}}var v={placement:"bottom",modifiers:[],strategy:"absolute"};function l(){for(var h=arguments.length,m=new Array(h),b=0;b0&&(0,r.round)(i.width)/c.offsetWidth||1,l=c.offsetHeight>0&&(0,r.round)(i.height)/c.offsetHeight||1);var g=(0,e.isElement)(c)?(0,o.default)(c):window,f=g.visualViewport,h=!(0,a.default)()&&d,m=(i.left+(h&&f?f.offsetLeft:0))/v,b=(i.top+(h&&f?f.offsetTop:0))/l,I=i.width/v,O=i.height/l;return{width:I,height:O,top:b,right:m+I,bottom:b+O,left:m,x:m,y:b}}},49035:function(E,n,t){"use strict";n.__esModule=!0,n.default=O;var e=t(46206),r=h(t(87991)),o=h(t(79752)),a=h(t(98309)),s=h(t(44896)),u=h(t(40600)),c=h(t(16599)),p=t(75573),d=h(t(37786)),i=h(t(57819)),v=h(t(4206)),l=h(t(12972)),g=h(t(81666)),f=t(63618);function h(C){return C&&C.__esModule?C:{default:C}}function m(C,y){var S=(0,d.default)(C,!1,y==="fixed");return S.top=S.top+C.clientTop,S.left=S.left+C.clientLeft,S.bottom=S.top+C.clientHeight,S.right=S.left+C.clientWidth,S.width=C.clientWidth,S.height=C.clientHeight,S.x=S.left,S.y=S.top,S}function b(C,y,S){return y===e.viewport?(0,g.default)((0,r.default)(C,S)):(0,p.isElement)(y)?m(y,S):(0,g.default)((0,o.default)((0,u.default)(C)))}function I(C){var y=(0,a.default)((0,i.default)(C)),S=["absolute","fixed"].indexOf((0,c.default)(C).position)>=0,T=S&&(0,p.isHTMLElement)(C)?(0,s.default)(C):C;return(0,p.isElement)(T)?y.filter(function(P){return(0,p.isElement)(P)&&(0,v.default)(P,T)&&(0,l.default)(P)!=="body"}):[]}function O(C,y,S,T){var P=y==="clippingParents"?I(C):[].concat(y),N=[].concat(P,[S]),M=N[0],R=N.reduce(function(D,V){var x=b(C,V,T);return D.top=(0,f.max)(x.top,D.top),D.right=(0,f.min)(x.right,D.right),D.bottom=(0,f.min)(x.bottom,D.bottom),D.left=(0,f.max)(x.left,D.left),D},b(C,M,T));return R.width=R.right-R.left,R.height=R.bottom-R.top,R.x=R.left,R.y=R.top,R}},74758:function(E,n,t){"use strict";n.__esModule=!0,n.default=v;var e=d(t(37786)),r=d(t(13390)),o=d(t(12972)),a=t(75573),s=d(t(79697)),u=d(t(40600)),c=d(t(10798)),p=t(63618);function d(l){return l&&l.__esModule?l:{default:l}}function i(l){var g=l.getBoundingClientRect(),f=(0,p.round)(g.width)/l.offsetWidth||1,h=(0,p.round)(g.height)/l.offsetHeight||1;return f!==1||h!==1}function v(l,g,f){f===void 0&&(f=!1);var h=(0,a.isHTMLElement)(g),m=(0,a.isHTMLElement)(g)&&i(g),b=(0,u.default)(g),I=(0,e.default)(l,m,f),O={scrollLeft:0,scrollTop:0},C={x:0,y:0};return(h||!h&&!f)&&(((0,o.default)(g)!=="body"||(0,c.default)(b))&&(O=(0,r.default)(g)),(0,a.isHTMLElement)(g)?(C=(0,e.default)(g,!0),C.x+=g.clientLeft,C.y+=g.clientTop):b&&(C.x=(0,s.default)(b))),{x:I.left+O.scrollLeft-C.x,y:I.top+O.scrollTop-C.y,width:I.width,height:I.height}}},16599:function(E,n,t){"use strict";n.__esModule=!0,n.default=o;var e=r(t(95115));function r(a){return a&&a.__esModule?a:{default:a}}function o(a){return(0,e.default)(a).getComputedStyle(a)}},40600:function(E,n,t){"use strict";n.__esModule=!0,n.default=r;var e=t(75573);function r(o){return(((0,e.isElement)(o)?o.ownerDocument:o.document)||window.document).documentElement}},79752:function(E,n,t){"use strict";n.__esModule=!0,n.default=c;var e=u(t(40600)),r=u(t(16599)),o=u(t(79697)),a=u(t(43750)),s=t(63618);function u(p){return p&&p.__esModule?p:{default:p}}function c(p){var d,i=(0,e.default)(p),v=(0,a.default)(p),l=(d=p.ownerDocument)==null?void 0:d.body,g=(0,s.max)(i.scrollWidth,i.clientWidth,l?l.scrollWidth:0,l?l.clientWidth:0),f=(0,s.max)(i.scrollHeight,i.clientHeight,l?l.scrollHeight:0,l?l.clientHeight:0),h=-v.scrollLeft+(0,o.default)(p),m=-v.scrollTop;return(0,r.default)(l||i).direction==="rtl"&&(h+=(0,s.max)(i.clientWidth,l?l.clientWidth:0)-g),{width:g,height:f,x:h,y:m}}},3073:function(E,n){"use strict";n.__esModule=!0,n.default=t;function t(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}},28811:function(E,n,t){"use strict";n.__esModule=!0,n.default=o;var e=r(t(37786));function r(a){return a&&a.__esModule?a:{default:a}}function o(a){var s=(0,e.default)(a),u=a.offsetWidth,c=a.offsetHeight;return Math.abs(s.width-u)<=1&&(u=s.width),Math.abs(s.height-c)<=1&&(c=s.height),{x:a.offsetLeft,y:a.offsetTop,width:u,height:c}}},12972:function(E,n){"use strict";n.__esModule=!0,n.default=t;function t(e){return e?(e.nodeName||"").toLowerCase():null}},13390:function(E,n,t){"use strict";n.__esModule=!0,n.default=u;var e=s(t(43750)),r=s(t(95115)),o=t(75573),a=s(t(3073));function s(c){return c&&c.__esModule?c:{default:c}}function u(c){return c===(0,r.default)(c)||!(0,o.isHTMLElement)(c)?(0,e.default)(c):(0,a.default)(c)}},44896:function(E,n,t){"use strict";n.__esModule=!0,n.default=v;var e=p(t(95115)),r=p(t(12972)),o=p(t(16599)),a=t(75573),s=p(t(87031)),u=p(t(57819)),c=p(t(35366));function p(l){return l&&l.__esModule?l:{default:l}}function d(l){return!(0,a.isHTMLElement)(l)||(0,o.default)(l).position==="fixed"?null:l.offsetParent}function i(l){var g=/firefox/i.test((0,c.default)()),f=/Trident/i.test((0,c.default)());if(f&&(0,a.isHTMLElement)(l)){var h=(0,o.default)(l);if(h.position==="fixed")return null}var m=(0,u.default)(l);for((0,a.isShadowRoot)(m)&&(m=m.host);(0,a.isHTMLElement)(m)&&["html","body"].indexOf((0,r.default)(m))<0;){var b=(0,o.default)(m);if(b.transform!=="none"||b.perspective!=="none"||b.contain==="paint"||["transform","perspective"].indexOf(b.willChange)!==-1||g&&b.willChange==="filter"||g&&b.filter&&b.filter!=="none")return m;m=m.parentNode}return null}function v(l){for(var g=(0,e.default)(l),f=d(l);f&&(0,s.default)(f)&&(0,o.default)(f).position==="static";)f=d(f);return f&&((0,r.default)(f)==="html"||(0,r.default)(f)==="body"&&(0,o.default)(f).position==="static")?g:f||i(l)||g}},57819:function(E,n,t){"use strict";n.__esModule=!0,n.default=s;var e=a(t(12972)),r=a(t(40600)),o=t(75573);function a(u){return u&&u.__esModule?u:{default:u}}function s(u){return(0,e.default)(u)==="html"?u:u.assignedSlot||u.parentNode||((0,o.isShadowRoot)(u)?u.host:null)||(0,r.default)(u)}},24426:function(E,n,t){"use strict";n.__esModule=!0,n.default=u;var e=s(t(57819)),r=s(t(10798)),o=s(t(12972)),a=t(75573);function s(c){return c&&c.__esModule?c:{default:c}}function u(c){return["html","body","#document"].indexOf((0,o.default)(c))>=0?c.ownerDocument.body:(0,a.isHTMLElement)(c)&&(0,r.default)(c)?c:u((0,e.default)(c))}},87991:function(E,n,t){"use strict";n.__esModule=!0,n.default=u;var e=s(t(95115)),r=s(t(40600)),o=s(t(79697)),a=s(t(89331));function s(c){return c&&c.__esModule?c:{default:c}}function u(c,p){var d=(0,e.default)(c),i=(0,r.default)(c),v=d.visualViewport,l=i.clientWidth,g=i.clientHeight,f=0,h=0;if(v){l=v.width,g=v.height;var m=(0,a.default)();(m||!m&&p==="fixed")&&(f=v.offsetLeft,h=v.offsetTop)}return{width:l,height:g,x:f+(0,o.default)(c),y:h}}},95115:function(E,n){"use strict";n.__esModule=!0,n.default=t;function t(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var r=e.ownerDocument;return r&&r.defaultView||window}return e}},43750:function(E,n,t){"use strict";n.__esModule=!0,n.default=o;var e=r(t(95115));function r(a){return a&&a.__esModule?a:{default:a}}function o(a){var s=(0,e.default)(a),u=s.pageXOffset,c=s.pageYOffset;return{scrollLeft:u,scrollTop:c}}},79697:function(E,n,t){"use strict";n.__esModule=!0,n.default=s;var e=a(t(37786)),r=a(t(40600)),o=a(t(43750));function a(u){return u&&u.__esModule?u:{default:u}}function s(u){return(0,e.default)((0,r.default)(u)).left+(0,o.default)(u).scrollLeft}},75573:function(E,n,t){"use strict";n.__esModule=!0,n.isElement=o,n.isHTMLElement=a,n.isShadowRoot=s;var e=r(t(95115));function r(u){return u&&u.__esModule?u:{default:u}}function o(u){var c=(0,e.default)(u).Element;return u instanceof c||u instanceof Element}function a(u){var c=(0,e.default)(u).HTMLElement;return u instanceof c||u instanceof HTMLElement}function s(u){if(typeof ShadowRoot=="undefined")return!1;var c=(0,e.default)(u).ShadowRoot;return u instanceof c||u instanceof ShadowRoot}},89331:function(E,n,t){"use strict";n.__esModule=!0,n.default=o;var e=r(t(35366));function r(a){return a&&a.__esModule?a:{default:a}}function o(){return!/^((?!chrome|android).)*safari/i.test((0,e.default)())}},10798:function(E,n,t){"use strict";n.__esModule=!0,n.default=o;var e=r(t(16599));function r(a){return a&&a.__esModule?a:{default:a}}function o(a){var s=(0,e.default)(a),u=s.overflow,c=s.overflowX,p=s.overflowY;return/auto|scroll|overlay|hidden/.test(u+p+c)}},87031:function(E,n,t){"use strict";n.__esModule=!0,n.default=o;var e=r(t(12972));function r(a){return a&&a.__esModule?a:{default:a}}function o(a){return["table","td","th"].indexOf((0,e.default)(a))>=0}},98309:function(E,n,t){"use strict";n.__esModule=!0,n.default=u;var e=s(t(24426)),r=s(t(57819)),o=s(t(95115)),a=s(t(10798));function s(c){return c&&c.__esModule?c:{default:c}}function u(c,p){var d;p===void 0&&(p=[]);var i=(0,e.default)(c),v=i===((d=c.ownerDocument)==null?void 0:d.body),l=(0,o.default)(i),g=v?[l].concat(l.visualViewport||[],(0,a.default)(i)?i:[]):i,f=p.concat(g);return v?f:f.concat(u((0,r.default)(g)))}},46206:function(E,n){"use strict";n.__esModule=!0,n.write=n.viewport=n.variationPlacements=n.top=n.start=n.right=n.reference=n.read=n.popper=n.placements=n.modifierPhases=n.main=n.left=n.end=n.clippingParents=n.bottom=n.beforeWrite=n.beforeRead=n.beforeMain=n.basePlacements=n.auto=n.afterWrite=n.afterRead=n.afterMain=void 0;var t=n.top="top",e=n.bottom="bottom",r=n.right="right",o=n.left="left",a=n.auto="auto",s=n.basePlacements=[t,e,r,o],u=n.start="start",c=n.end="end",p=n.clippingParents="clippingParents",d=n.viewport="viewport",i=n.popper="popper",v=n.reference="reference",l=n.variationPlacements=s.reduce(function(P,N){return P.concat([N+"-"+u,N+"-"+c])},[]),g=n.placements=[].concat(s,[a]).reduce(function(P,N){return P.concat([N,N+"-"+u,N+"-"+c])},[]),f=n.beforeRead="beforeRead",h=n.read="read",m=n.afterRead="afterRead",b=n.beforeMain="beforeMain",I=n.main="main",O=n.afterMain="afterMain",C=n.beforeWrite="beforeWrite",y=n.write="write",S=n.afterWrite="afterWrite",T=n.modifierPhases=[f,h,m,b,I,O,C,y,S]},95996:function(E,n,t){"use strict";n.__esModule=!0;var e={popperGenerator:!0,detectOverflow:!0,createPopperBase:!0,createPopper:!0,createPopperLite:!0};n.popperGenerator=n.detectOverflow=n.createPopperLite=n.createPopperBase=n.createPopper=void 0;var r=t(46206);Object.keys(r).forEach(function(c){c==="default"||c==="__esModule"||Object.prototype.hasOwnProperty.call(e,c)||c in n&&n[c]===r[c]||(n[c]=r[c])});var o=t(39805);Object.keys(o).forEach(function(c){c==="default"||c==="__esModule"||Object.prototype.hasOwnProperty.call(e,c)||c in n&&n[c]===o[c]||(n[c]=o[c])});var a=t(96376);n.popperGenerator=a.popperGenerator,n.detectOverflow=a.detectOverflow,n.createPopperBase=a.createPopper;var s=t(83312);n.createPopper=s.createPopper;var u=t(2473);n.createPopperLite=u.createPopper},19975:function(E,n,t){"use strict";n.__esModule=!0,n.default=void 0;var e=o(t(12972)),r=t(75573);function o(c){return c&&c.__esModule?c:{default:c}}function a(c){var p=c.state;Object.keys(p.elements).forEach(function(d){var i=p.styles[d]||{},v=p.attributes[d]||{},l=p.elements[d];!(0,r.isHTMLElement)(l)||!(0,e.default)(l)||(Object.assign(l.style,i),Object.keys(v).forEach(function(g){var f=v[g];f===!1?l.removeAttribute(g):l.setAttribute(g,f===!0?"":f)}))})}function s(c){var p=c.state,d={popper:{position:p.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(p.elements.popper.style,d.popper),p.styles=d,p.elements.arrow&&Object.assign(p.elements.arrow.style,d.arrow),function(){Object.keys(p.elements).forEach(function(i){var v=p.elements[i],l=p.attributes[i]||{},g=Object.keys(p.styles.hasOwnProperty(i)?p.styles[i]:d[i]),f=g.reduce(function(h,m){return h[m]="",h},{});!(0,r.isHTMLElement)(v)||!(0,e.default)(v)||(Object.assign(v.style,f),Object.keys(l).forEach(function(h){v.removeAttribute(h)}))})}}var u=n.default={name:"applyStyles",enabled:!0,phase:"write",fn:a,effect:s,requires:["computeStyles"]}},52744:function(E,n,t){"use strict";n.__esModule=!0,n.default=void 0;var e=i(t(83104)),r=i(t(28811)),o=i(t(4206)),a=i(t(44896)),s=i(t(41199)),u=t(28595),c=i(t(43286)),p=i(t(81447)),d=t(46206);function i(h){return h&&h.__esModule?h:{default:h}}var v=function(){function h(m,b){return m=typeof m=="function"?m(Object.assign({},b.rects,{placement:b.placement})):m,(0,c.default)(typeof m!="number"?m:(0,p.default)(m,d.basePlacements))}return h}();function l(h){var m,b=h.state,I=h.name,O=h.options,C=b.elements.arrow,y=b.modifiersData.popperOffsets,S=(0,e.default)(b.placement),T=(0,s.default)(S),P=[d.left,d.right].indexOf(S)>=0,N=P?"height":"width";if(!(!C||!y)){var M=v(O.padding,b),R=(0,r.default)(C),D=T==="y"?d.top:d.left,V=T==="y"?d.bottom:d.right,x=b.rects.reference[N]+b.rects.reference[T]-y[T]-b.rects.popper[N],$=y[T]-b.rects.reference[T],Y=(0,a.default)(C),j=Y?T==="y"?Y.clientHeight||0:Y.clientWidth||0:0,F=x/2-$/2,U=M[D],K=j-R[N]-M[V],H=j/2-R[N]/2+F,z=(0,u.within)(U,H,K),et=T;b.modifiersData[I]=(m={},m[et]=z,m.centerOffset=z-H,m)}}function g(h){var m=h.state,b=h.options,I=b.element,O=I===void 0?"[data-popper-arrow]":I;O!=null&&(typeof O=="string"&&(O=m.elements.popper.querySelector(O),!O)||(0,o.default)(m.elements.popper,O)&&(m.elements.arrow=O))}var f=n.default={name:"arrow",enabled:!0,phase:"main",fn:l,effect:g,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]}},59894:function(E,n,t){"use strict";n.__esModule=!0,n.default=void 0,n.mapToStyles=l;var e=t(46206),r=d(t(44896)),o=d(t(95115)),a=d(t(40600)),s=d(t(16599)),u=d(t(83104)),c=d(t(45)),p=t(63618);function d(h){return h&&h.__esModule?h:{default:h}}var i={top:"auto",right:"auto",bottom:"auto",left:"auto"};function v(h,m){var b=h.x,I=h.y,O=m.devicePixelRatio||1;return{x:(0,p.round)(b*O)/O||0,y:(0,p.round)(I*O)/O||0}}function l(h){var m,b=h.popper,I=h.popperRect,O=h.placement,C=h.variation,y=h.offsets,S=h.position,T=h.gpuAcceleration,P=h.adaptive,N=h.roundOffsets,M=h.isFixed,R=y.x,D=R===void 0?0:R,V=y.y,x=V===void 0?0:V,$=typeof N=="function"?N({x:D,y:x}):{x:D,y:x};D=$.x,x=$.y;var Y=y.hasOwnProperty("x"),j=y.hasOwnProperty("y"),F=e.left,U=e.top,K=window;if(P){var H=(0,r.default)(b),z="clientHeight",et="clientWidth";if(H===(0,o.default)(b)&&(H=(0,a.default)(b),(0,s.default)(H).position!=="static"&&S==="absolute"&&(z="scrollHeight",et="scrollWidth")),H=H,O===e.top||(O===e.left||O===e.right)&&C===e.end){U=e.bottom;var lt=M&&H===K&&K.visualViewport?K.visualViewport.height:H[z];x-=lt-I.height,x*=T?1:-1}if(O===e.left||(O===e.top||O===e.bottom)&&C===e.end){F=e.right;var ut=M&&H===K&&K.visualViewport?K.visualViewport.width:H[et];D-=ut-I.width,D*=T?1:-1}}var Z=Object.assign({position:S},P&&i),_=N===!0?v({x:D,y:x},(0,o.default)(b)):{x:D,y:x};if(D=_.x,x=_.y,T){var at;return Object.assign({},Z,(at={},at[U]=j?"0":"",at[F]=Y?"0":"",at.transform=(K.devicePixelRatio||1)<=1?"translate("+D+"px, "+x+"px)":"translate3d("+D+"px, "+x+"px, 0)",at))}return Object.assign({},Z,(m={},m[U]=j?x+"px":"",m[F]=Y?D+"px":"",m.transform="",m))}function g(h){var m=h.state,b=h.options,I=b.gpuAcceleration,O=I===void 0?!0:I,C=b.adaptive,y=C===void 0?!0:C,S=b.roundOffsets,T=S===void 0?!0:S,P={placement:(0,u.default)(m.placement),variation:(0,c.default)(m.placement),popper:m.elements.popper,popperRect:m.rects.popper,gpuAcceleration:O,isFixed:m.options.strategy==="fixed"};m.modifiersData.popperOffsets!=null&&(m.styles.popper=Object.assign({},m.styles.popper,l(Object.assign({},P,{offsets:m.modifiersData.popperOffsets,position:m.options.strategy,adaptive:y,roundOffsets:T})))),m.modifiersData.arrow!=null&&(m.styles.arrow=Object.assign({},m.styles.arrow,l(Object.assign({},P,{offsets:m.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:T})))),m.attributes.popper=Object.assign({},m.attributes.popper,{"data-popper-placement":m.placement})}var f=n.default={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:g,data:{}}},36692:function(E,n,t){"use strict";n.__esModule=!0,n.default=void 0;var e=r(t(95115));function r(u){return u&&u.__esModule?u:{default:u}}var o={passive:!0};function a(u){var c=u.state,p=u.instance,d=u.options,i=d.scroll,v=i===void 0?!0:i,l=d.resize,g=l===void 0?!0:l,f=(0,e.default)(c.elements.popper),h=[].concat(c.scrollParents.reference,c.scrollParents.popper);return v&&h.forEach(function(m){m.addEventListener("scroll",p.update,o)}),g&&f.addEventListener("resize",p.update,o),function(){v&&h.forEach(function(m){m.removeEventListener("scroll",p.update,o)}),g&&f.removeEventListener("resize",p.update,o)}}var s=n.default={name:"eventListeners",enabled:!0,phase:"write",fn:function(){function u(){}return u}(),effect:a,data:{}}},23798:function(E,n,t){"use strict";n.__esModule=!0,n.default=void 0;var e=p(t(71376)),r=p(t(83104)),o=p(t(86459)),a=p(t(17633)),s=p(t(9041)),u=t(46206),c=p(t(45));function p(l){return l&&l.__esModule?l:{default:l}}function d(l){if((0,r.default)(l)===u.auto)return[];var g=(0,e.default)(l);return[(0,o.default)(l),g,(0,o.default)(g)]}function i(l){var g=l.state,f=l.options,h=l.name;if(!g.modifiersData[h]._skip){for(var m=f.mainAxis,b=m===void 0?!0:m,I=f.altAxis,O=I===void 0?!0:I,C=f.fallbackPlacements,y=f.padding,S=f.boundary,T=f.rootBoundary,P=f.altBoundary,N=f.flipVariations,M=N===void 0?!0:N,R=f.allowedAutoPlacements,D=g.options.placement,V=(0,r.default)(D),x=V===D,$=C||(x||!M?[(0,e.default)(D)]:d(D)),Y=[D].concat($).reduce(function(nt,k){return nt.concat((0,r.default)(k)===u.auto?(0,s.default)(g,{placement:k,boundary:S,rootBoundary:T,padding:y,flipVariations:M,allowedAutoPlacements:R}):k)},[]),j=g.rects.reference,F=g.rects.popper,U=new Map,K=!0,H=Y[0],z=0;z=0,_=Z?"width":"height",at=(0,a.default)(g,{placement:et,boundary:S,rootBoundary:T,altBoundary:P,padding:y}),vt=Z?ut?u.right:u.left:ut?u.bottom:u.top;j[_]>F[_]&&(vt=(0,e.default)(vt));var ft=(0,e.default)(vt),J=[];if(b&&J.push(at[lt]<=0),O&&J.push(at[vt]<=0,at[ft]<=0),J.every(function(nt){return nt})){H=et,K=!1;break}U.set(et,J)}if(K)for(var ot=M?3:1,st=function(){function nt(k){var q=Y.find(function(tt){var pt=U.get(tt);if(pt)return pt.slice(0,k).every(function(Et){return Et})});if(q)return H=q,"break"}return nt}(),mt=ot;mt>0;mt--){var rt=st(mt);if(rt==="break")break}g.placement!==H&&(g.modifiersData[h]._skip=!0,g.placement=H,g.reset=!0)}}var v=n.default={name:"flip",enabled:!0,phase:"main",fn:i,requiresIfExists:["offset"],data:{_skip:!1}}},83761:function(E,n,t){"use strict";n.__esModule=!0,n.default=void 0;var e=t(46206),r=o(t(17633));function o(p){return p&&p.__esModule?p:{default:p}}function a(p,d,i){return i===void 0&&(i={x:0,y:0}),{top:p.top-d.height-i.y,right:p.right-d.width+i.x,bottom:p.bottom-d.height+i.y,left:p.left-d.width-i.x}}function s(p){return[e.top,e.right,e.bottom,e.left].some(function(d){return p[d]>=0})}function u(p){var d=p.state,i=p.name,v=d.rects.reference,l=d.rects.popper,g=d.modifiersData.preventOverflow,f=(0,r.default)(d,{elementContext:"reference"}),h=(0,r.default)(d,{altBoundary:!0}),m=a(f,v),b=a(h,l,g),I=s(m),O=s(b);d.modifiersData[i]={referenceClippingOffsets:m,popperEscapeOffsets:b,isReferenceHidden:I,hasPopperEscaped:O},d.attributes.popper=Object.assign({},d.attributes.popper,{"data-popper-reference-hidden":I,"data-popper-escaped":O})}var c=n.default={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:u}},39805:function(E,n,t){"use strict";n.__esModule=!0,n.preventOverflow=n.popperOffsets=n.offset=n.hide=n.flip=n.eventListeners=n.computeStyles=n.arrow=n.applyStyles=void 0;var e=i(t(19975));n.applyStyles=e.default;var r=i(t(52744));n.arrow=r.default;var o=i(t(59894));n.computeStyles=o.default;var a=i(t(36692));n.eventListeners=a.default;var s=i(t(23798));n.flip=s.default;var u=i(t(83761));n.hide=u.default;var c=i(t(61410));n.offset=c.default;var p=i(t(40107));n.popperOffsets=p.default;var d=i(t(75137));n.preventOverflow=d.default;function i(v){return v&&v.__esModule?v:{default:v}}},61410:function(E,n,t){"use strict";n.__esModule=!0,n.default=void 0,n.distanceAndSkiddingToXY=a;var e=o(t(83104)),r=t(46206);function o(c){return c&&c.__esModule?c:{default:c}}function a(c,p,d){var i=(0,e.default)(c),v=[r.left,r.top].indexOf(i)>=0?-1:1,l=typeof d=="function"?d(Object.assign({},p,{placement:c})):d,g=l[0],f=l[1];return g=g||0,f=(f||0)*v,[r.left,r.right].indexOf(i)>=0?{x:f,y:g}:{x:g,y:f}}function s(c){var p=c.state,d=c.options,i=c.name,v=d.offset,l=v===void 0?[0,0]:v,g=r.placements.reduce(function(b,I){return b[I]=a(I,p.rects,l),b},{}),f=g[p.placement],h=f.x,m=f.y;p.modifiersData.popperOffsets!=null&&(p.modifiersData.popperOffsets.x+=h,p.modifiersData.popperOffsets.y+=m),p.modifiersData[i]=g}var u=n.default={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:s}},40107:function(E,n,t){"use strict";n.__esModule=!0,n.default=void 0;var e=r(t(89951));function r(s){return s&&s.__esModule?s:{default:s}}function o(s){var u=s.state,c=s.name;u.modifiersData[c]=(0,e.default)({reference:u.rects.reference,element:u.rects.popper,strategy:"absolute",placement:u.placement})}var a=n.default={name:"popperOffsets",enabled:!0,phase:"read",fn:o,data:{}}},75137:function(E,n,t){"use strict";n.__esModule=!0,n.default=void 0;var e=t(46206),r=l(t(83104)),o=l(t(41199)),a=l(t(28066)),s=t(28595),u=l(t(28811)),c=l(t(44896)),p=l(t(17633)),d=l(t(45)),i=l(t(34780)),v=t(63618);function l(h){return h&&h.__esModule?h:{default:h}}function g(h){var m=h.state,b=h.options,I=h.name,O=b.mainAxis,C=O===void 0?!0:O,y=b.altAxis,S=y===void 0?!1:y,T=b.boundary,P=b.rootBoundary,N=b.altBoundary,M=b.padding,R=b.tether,D=R===void 0?!0:R,V=b.tetherOffset,x=V===void 0?0:V,$=(0,p.default)(m,{boundary:T,rootBoundary:P,padding:M,altBoundary:N}),Y=(0,r.default)(m.placement),j=(0,d.default)(m.placement),F=!j,U=(0,o.default)(Y),K=(0,a.default)(U),H=m.modifiersData.popperOffsets,z=m.rects.reference,et=m.rects.popper,lt=typeof x=="function"?x(Object.assign({},m.rects,{placement:m.placement})):x,ut=typeof lt=="number"?{mainAxis:lt,altAxis:lt}:Object.assign({mainAxis:0,altAxis:0},lt),Z=m.modifiersData.offset?m.modifiersData.offset[m.placement]:null,_={x:0,y:0};if(H){if(C){var at,vt=U==="y"?e.top:e.left,ft=U==="y"?e.bottom:e.right,J=U==="y"?"height":"width",ot=H[U],st=ot+$[vt],mt=ot-$[ft],rt=D?-et[J]/2:0,nt=j===e.start?z[J]:et[J],k=j===e.start?-et[J]:-z[J],q=m.elements.arrow,tt=D&&q?(0,u.default)(q):{width:0,height:0},pt=m.modifiersData["arrow#persistent"]?m.modifiersData["arrow#persistent"].padding:(0,i.default)(),Et=pt[vt],it=pt[ft],yt=(0,s.within)(0,z[J],tt[J]),Pt=F?z[J]/2-rt-yt-Et-ut.mainAxis:nt-yt-Et-ut.mainAxis,bt=F?-z[J]/2+rt+yt+it+ut.mainAxis:k+yt+it+ut.mainAxis,ct=m.elements.arrow&&(0,c.default)(m.elements.arrow),gt=ct?U==="y"?ct.clientTop||0:ct.clientLeft||0:0,It=(at=Z==null?void 0:Z[U])!=null?at:0,Lt=ot+Pt-It-gt,Vt=ot+bt-It,Ot=(0,s.within)(D?(0,v.min)(st,Lt):st,ot,D?(0,v.max)(mt,Vt):mt);H[U]=Ot,_[U]=Ot-ot}if(S){var dt,St=U==="x"?e.top:e.left,At=U==="x"?e.bottom:e.right,Tt=H[K],Nt=K==="y"?"height":"width",Ft=Tt+$[St],jt=Tt-$[At],$t=[e.top,e.left].indexOf(Y)!==-1,Ht=(dt=Z==null?void 0:Z[K])!=null?dt:0,Yt=$t?Ft:Tt-z[Nt]-et[Nt]-Ht+ut.altAxis,Wt=$t?Tt+z[Nt]+et[Nt]-Ht-ut.altAxis:jt,te=D&&$t?(0,s.withinMaxClamp)(Yt,Tt,Wt):(0,s.within)(D?Yt:Ft,Tt,D?Wt:jt);H[K]=te,_[K]=te-Tt}m.modifiersData[I]=_}}var f=n.default={name:"preventOverflow",enabled:!0,phase:"main",fn:g,requiresIfExists:["offset"]}},2473:function(E,n,t){"use strict";n.__esModule=!0,n.defaultModifiers=n.createPopper=void 0;var e=t(96376);n.popperGenerator=e.popperGenerator,n.detectOverflow=e.detectOverflow;var r=u(t(36692)),o=u(t(40107)),a=u(t(59894)),s=u(t(19975));function u(d){return d&&d.__esModule?d:{default:d}}var c=n.defaultModifiers=[r.default,o.default,a.default,s.default],p=n.createPopper=(0,e.popperGenerator)({defaultModifiers:c})},83312:function(E,n,t){"use strict";n.__esModule=!0;var e={createPopper:!0,createPopperLite:!0,defaultModifiers:!0,popperGenerator:!0,detectOverflow:!0};n.defaultModifiers=n.createPopperLite=n.createPopper=void 0;var r=t(96376);n.popperGenerator=r.popperGenerator,n.detectOverflow=r.detectOverflow;var o=f(t(36692)),a=f(t(40107)),s=f(t(59894)),u=f(t(19975)),c=f(t(61410)),p=f(t(23798)),d=f(t(75137)),i=f(t(52744)),v=f(t(83761)),l=t(2473);n.createPopperLite=l.createPopper;var g=t(39805);Object.keys(g).forEach(function(b){b==="default"||b==="__esModule"||Object.prototype.hasOwnProperty.call(e,b)||b in n&&n[b]===g[b]||(n[b]=g[b])});function f(b){return b&&b.__esModule?b:{default:b}}var h=n.defaultModifiers=[o.default,a.default,s.default,u.default,c.default,p.default,d.default,i.default,v.default],m=n.createPopperLite=n.createPopper=(0,r.popperGenerator)({defaultModifiers:h})},9041:function(E,n,t){"use strict";n.__esModule=!0,n.default=u;var e=s(t(45)),r=t(46206),o=s(t(17633)),a=s(t(83104));function s(c){return c&&c.__esModule?c:{default:c}}function u(c,p){p===void 0&&(p={});var d=p,i=d.placement,v=d.boundary,l=d.rootBoundary,g=d.padding,f=d.flipVariations,h=d.allowedAutoPlacements,m=h===void 0?r.placements:h,b=(0,e.default)(i),I=b?f?r.variationPlacements:r.variationPlacements.filter(function(y){return(0,e.default)(y)===b}):r.basePlacements,O=I.filter(function(y){return m.indexOf(y)>=0});O.length===0&&(O=I);var C=O.reduce(function(y,S){return y[S]=(0,o.default)(c,{placement:S,boundary:v,rootBoundary:l,padding:g})[(0,a.default)(S)],y},{});return Object.keys(C).sort(function(y,S){return C[y]-C[S]})}},89951:function(E,n,t){"use strict";n.__esModule=!0,n.default=u;var e=s(t(83104)),r=s(t(45)),o=s(t(41199)),a=t(46206);function s(c){return c&&c.__esModule?c:{default:c}}function u(c){var p=c.reference,d=c.element,i=c.placement,v=i?(0,e.default)(i):null,l=i?(0,r.default)(i):null,g=p.x+p.width/2-d.width/2,f=p.y+p.height/2-d.height/2,h;switch(v){case a.top:h={x:g,y:p.y-d.height};break;case a.bottom:h={x:g,y:p.y+p.height};break;case a.right:h={x:p.x+p.width,y:f};break;case a.left:h={x:p.x-d.width,y:f};break;default:h={x:p.x,y:p.y}}var m=v?(0,o.default)(v):null;if(m!=null){var b=m==="y"?"height":"width";switch(l){case a.start:h[m]=h[m]-(p[b]/2-d[b]/2);break;case a.end:h[m]=h[m]+(p[b]/2-d[b]/2);break;default:}}return h}},10579:function(E,n){"use strict";n.__esModule=!0,n.default=t;function t(e){var r;return function(){return r||(r=new Promise(function(o){Promise.resolve().then(function(){r=void 0,o(e())})})),r}}},17633:function(E,n,t){"use strict";n.__esModule=!0,n.default=v;var e=i(t(49035)),r=i(t(40600)),o=i(t(37786)),a=i(t(89951)),s=i(t(81666)),u=t(46206),c=t(75573),p=i(t(43286)),d=i(t(81447));function i(l){return l&&l.__esModule?l:{default:l}}function v(l,g){g===void 0&&(g={});var f=g,h=f.placement,m=h===void 0?l.placement:h,b=f.strategy,I=b===void 0?l.strategy:b,O=f.boundary,C=O===void 0?u.clippingParents:O,y=f.rootBoundary,S=y===void 0?u.viewport:y,T=f.elementContext,P=T===void 0?u.popper:T,N=f.altBoundary,M=N===void 0?!1:N,R=f.padding,D=R===void 0?0:R,V=(0,p.default)(typeof D!="number"?D:(0,d.default)(D,u.basePlacements)),x=P===u.popper?u.reference:u.popper,$=l.rects.popper,Y=l.elements[M?x:P],j=(0,e.default)((0,c.isElement)(Y)?Y:Y.contextElement||(0,r.default)(l.elements.popper),C,S,I),F=(0,o.default)(l.elements.reference),U=(0,a.default)({reference:F,element:$,strategy:"absolute",placement:m}),K=(0,s.default)(Object.assign({},$,U)),H=P===u.popper?K:F,z={top:j.top-H.top+V.top,bottom:H.bottom-j.bottom+V.bottom,left:j.left-H.left+V.left,right:H.right-j.right+V.right},et=l.modifiersData.offset;if(P===u.popper&&et){var lt=et[m];Object.keys(z).forEach(function(ut){var Z=[u.right,u.bottom].indexOf(ut)>=0?1:-1,_=[u.top,u.bottom].indexOf(ut)>=0?"y":"x";z[ut]+=lt[_]*Z})}return z}},81447:function(E,n){"use strict";n.__esModule=!0,n.default=t;function t(e,r){return r.reduce(function(o,a){return o[a]=e,o},{})}},28066:function(E,n){"use strict";n.__esModule=!0,n.default=t;function t(e){return e==="x"?"y":"x"}},83104:function(E,n,t){"use strict";n.__esModule=!0,n.default=r;var e=t(46206);function r(o){return o.split("-")[0]}},34780:function(E,n){"use strict";n.__esModule=!0,n.default=t;function t(){return{top:0,right:0,bottom:0,left:0}}},41199:function(E,n){"use strict";n.__esModule=!0,n.default=t;function t(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}},71376:function(E,n){"use strict";n.__esModule=!0,n.default=e;var t={left:"right",right:"left",bottom:"top",top:"bottom"};function e(r){return r.replace(/left|right|bottom|top/g,function(o){return t[o]})}},86459:function(E,n){"use strict";n.__esModule=!0,n.default=e;var t={start:"end",end:"start"};function e(r){return r.replace(/start|end/g,function(o){return t[o]})}},45:function(E,n){"use strict";n.__esModule=!0,n.default=t;function t(e){return e.split("-")[1]}},63618:function(E,n){"use strict";n.__esModule=!0,n.round=n.min=n.max=void 0;var t=n.max=Math.max,e=n.min=Math.min,r=n.round=Math.round},56500:function(E,n){"use strict";n.__esModule=!0,n.default=t;function t(e){var r=e.reduce(function(o,a){var s=o[a.name];return o[a.name]=s?Object.assign({},s,a,{options:Object.assign({},s.options,a.options),data:Object.assign({},s.data,a.data)}):a,o},{});return Object.keys(r).map(function(o){return r[o]})}},43286:function(E,n,t){"use strict";n.__esModule=!0,n.default=o;var e=r(t(34780));function r(a){return a&&a.__esModule?a:{default:a}}function o(a){return Object.assign({},(0,e.default)(),a)}},33118:function(E,n,t){"use strict";n.__esModule=!0,n.default=o;var e=t(46206);function r(a){var s=new Map,u=new Set,c=[];a.forEach(function(d){s.set(d.name,d)});function p(d){u.add(d.name);var i=[].concat(d.requires||[],d.requiresIfExists||[]);i.forEach(function(v){if(!u.has(v)){var l=s.get(v);l&&p(l)}}),c.push(d)}return a.forEach(function(d){u.has(d.name)||p(d)}),c}function o(a){var s=r(a);return e.modifierPhases.reduce(function(u,c){return u.concat(s.filter(function(p){return p.phase===c}))},[])}},81666:function(E,n){"use strict";n.__esModule=!0,n.default=t;function t(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}},35366:function(E,n){"use strict";n.__esModule=!0,n.default=t;function t(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(r){return r.brand+"/"+r.version}).join(" "):navigator.userAgent}},28595:function(E,n,t){"use strict";n.__esModule=!0,n.within=r,n.withinMaxClamp=o;var e=t(63618);function r(a,s,u){return(0,e.max)(a,(0,e.min)(s,u))}function o(a,s,u){var c=r(a,s,u);return c>u?u:c}},22734:function(E){"use strict";/*! @license DOMPurify 2.5.4 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.5.4/LICENSE */(function(n,t){E.exports=t()})(void 0,function(){"use strict";function n(ct){"@babel/helpers - typeof";return n=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(gt){return typeof gt}:function(gt){return gt&&typeof Symbol=="function"&>.constructor===Symbol&>!==Symbol.prototype?"symbol":typeof gt},n(ct)}function t(ct,gt){return t=Object.setPrototypeOf||function(){function It(Lt,Vt){return Lt.__proto__=Vt,Lt}return It}(),t(ct,gt)}function e(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(ct){return!1}}function r(ct,gt,It){return e()?r=Reflect.construct:r=function(){function Lt(Vt,Ot,dt){var St=[null];St.push.apply(St,Ot);var At=Function.bind.apply(Vt,St),Tt=new At;return dt&&t(Tt,dt.prototype),Tt}return Lt}(),r.apply(null,arguments)}function o(ct){return a(ct)||s(ct)||u(ct)||p()}function a(ct){if(Array.isArray(ct))return c(ct)}function s(ct){if(typeof Symbol!="undefined"&&ct[Symbol.iterator]!=null||ct["@@iterator"]!=null)return Array.from(ct)}function u(ct,gt){if(ct){if(typeof ct=="string")return c(ct,gt);var It=Object.prototype.toString.call(ct).slice(8,-1);if(It==="Object"&&ct.constructor&&(It=ct.constructor.name),It==="Map"||It==="Set")return Array.from(ct);if(It==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(It))return c(ct,gt)}}function c(ct,gt){(gt==null||gt>ct.length)&&(gt=ct.length);for(var It=0,Lt=new Array(gt);It1?It-1:0),Vt=1;Vt/gm),mt=h(/\${[\w\W]*}/gm),rt=h(/^data-[\-\w.\u00B7-\uFFFF]/),nt=h(/^aria-[\-\w]+$/),k=h(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),q=h(/^(?:\w+script|data):/i),tt=h(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),pt=h(/^html$/i),Et=h(/^[a-z][.\w]*(-[.\w]+)+$/i),it=function(){function ct(){return typeof window=="undefined"?null:window}return ct}(),yt=function(){function ct(gt,It){if(n(gt)!=="object"||typeof gt.createPolicy!="function")return null;var Lt=null,Vt="data-tt-policy-suffix";It.currentScript&&It.currentScript.hasAttribute(Vt)&&(Lt=It.currentScript.getAttribute(Vt));var Ot="dompurify"+(Lt?"#"+Lt:"");try{return gt.createPolicy(Ot,{createHTML:function(){function dt(St){return St}return dt}(),createScriptURL:function(){function dt(St){return St}return dt}()})}catch(dt){return null}}return ct}();function Pt(){var ct=arguments.length>0&&arguments[0]!==void 0?arguments[0]:it(),gt=function(){function B(w){return Pt(w)}return B}();if(gt.version="2.5.4",gt.removed=[],!ct||!ct.document||ct.document.nodeType!==9)return gt.isSupported=!1,gt;var It=ct.document,Lt=ct.document,Vt=ct.DocumentFragment,Ot=ct.HTMLTemplateElement,dt=ct.Node,St=ct.Element,At=ct.NodeFilter,Tt=ct.NamedNodeMap,Nt=Tt===void 0?ct.NamedNodeMap||ct.MozNamedAttrMap:Tt,Ft=ct.HTMLFormElement,jt=ct.DOMParser,$t=ct.trustedTypes,Ht=St.prototype,Yt=K(Ht,"cloneNode"),Wt=K(Ht,"nextSibling"),te=K(Ht,"childNodes"),Ce=K(Ht,"parentNode");if(typeof Ot=="function"){var Me=Lt.createElement("template");Me.content&&Me.content.ownerDocument&&(Lt=Me.content.ownerDocument)}var _t=yt($t,It),we=_t?_t.createHTML(""):"",ve=Lt,se=ve.implementation,sn=ve.createNodeIterator,cn=ve.createDocumentFragment,On=ve.getElementsByTagName,ln=It.importNode,fn={};try{fn=U(Lt).documentMode?Lt.documentMode:{}}catch(B){}var ne={};gt.isSupported=typeof Ce=="function"&&se&&se.createHTMLDocument!==void 0&&fn!==9;var He=ot,Re=st,Le=mt,An=rt,dn=nt,Pn=q,vn=tt,Be=Et,he=k,Gt=null,re=F({},[].concat(o(H),o(z),o(et),o(ut),o(_))),Xt=null,hn=F({},[].concat(o(at),o(vt),o(ft),o(J))),zt=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ce=null,De=null,pn=!0,We=!0,gn=!1,mn=!0,le=!1,Fe=!0,fe=!1,xe=!1,Oe=!1,kt=!1,Ve=!1,je=!1,ze=!0,ke=!1,pe="user-content-",Xe=!0,Ae=!1,be={},ge=null,Qe=F({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),yn=null,Ze=F({},["audio","video","img","source","image","track"]),Je=null,oe=F({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Ue="http://www.w3.org/1998/Math/MathML",$e="http://www.w3.org/2000/svg",ue="http://www.w3.org/1999/xhtml",Te=ue,_e=!1,qe=null,tn=F({},[Ue,$e,ue],P),me,Sn=["application/xhtml+xml","text/html"],Nn="text/html",Qt,Ie=null,En=255,Mn=Lt.createElement("form"),Cn=function(){function B(w){return w instanceof RegExp||w instanceof Function}return B}(),ee=function(){function B(w){Ie&&Ie===w||((!w||n(w)!=="object")&&(w={}),w=U(w),me=Sn.indexOf(w.PARSER_MEDIA_TYPE)===-1?me=Nn:me=w.PARSER_MEDIA_TYPE,Qt=me==="application/xhtml+xml"?P:T,Gt="ALLOWED_TAGS"in w?F({},w.ALLOWED_TAGS,Qt):re,Xt="ALLOWED_ATTR"in w?F({},w.ALLOWED_ATTR,Qt):hn,qe="ALLOWED_NAMESPACES"in w?F({},w.ALLOWED_NAMESPACES,P):tn,Je="ADD_URI_SAFE_ATTR"in w?F(U(oe),w.ADD_URI_SAFE_ATTR,Qt):oe,yn="ADD_DATA_URI_TAGS"in w?F(U(Ze),w.ADD_DATA_URI_TAGS,Qt):Ze,ge="FORBID_CONTENTS"in w?F({},w.FORBID_CONTENTS,Qt):Qe,ce="FORBID_TAGS"in w?F({},w.FORBID_TAGS,Qt):{},De="FORBID_ATTR"in w?F({},w.FORBID_ATTR,Qt):{},be="USE_PROFILES"in w?w.USE_PROFILES:!1,pn=w.ALLOW_ARIA_ATTR!==!1,We=w.ALLOW_DATA_ATTR!==!1,gn=w.ALLOW_UNKNOWN_PROTOCOLS||!1,mn=w.ALLOW_SELF_CLOSE_IN_ATTR!==!1,le=w.SAFE_FOR_TEMPLATES||!1,Fe=w.SAFE_FOR_XML!==!1,fe=w.WHOLE_DOCUMENT||!1,kt=w.RETURN_DOM||!1,Ve=w.RETURN_DOM_FRAGMENT||!1,je=w.RETURN_TRUSTED_TYPE||!1,Oe=w.FORCE_BODY||!1,ze=w.SANITIZE_DOM!==!1,ke=w.SANITIZE_NAMED_PROPS||!1,Xe=w.KEEP_CONTENT!==!1,Ae=w.IN_PLACE||!1,he=w.ALLOWED_URI_REGEXP||he,Te=w.NAMESPACE||ue,zt=w.CUSTOM_ELEMENT_HANDLING||{},w.CUSTOM_ELEMENT_HANDLING&&Cn(w.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(zt.tagNameCheck=w.CUSTOM_ELEMENT_HANDLING.tagNameCheck),w.CUSTOM_ELEMENT_HANDLING&&Cn(w.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(zt.attributeNameCheck=w.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),w.CUSTOM_ELEMENT_HANDLING&&typeof w.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(zt.allowCustomizedBuiltInElements=w.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),le&&(We=!1),Ve&&(kt=!0),be&&(Gt=F({},o(_)),Xt=[],be.html===!0&&(F(Gt,H),F(Xt,at)),be.svg===!0&&(F(Gt,z),F(Xt,vt),F(Xt,J)),be.svgFilters===!0&&(F(Gt,et),F(Xt,vt),F(Xt,J)),be.mathMl===!0&&(F(Gt,ut),F(Xt,ft),F(Xt,J))),w.ADD_TAGS&&(Gt===re&&(Gt=U(Gt)),F(Gt,w.ADD_TAGS,Qt)),w.ADD_ATTR&&(Xt===hn&&(Xt=U(Xt)),F(Xt,w.ADD_ATTR,Qt)),w.ADD_URI_SAFE_ATTR&&F(Je,w.ADD_URI_SAFE_ATTR,Qt),w.FORBID_CONTENTS&&(ge===Qe&&(ge=U(ge)),F(ge,w.FORBID_CONTENTS,Qt)),Xe&&(Gt["#text"]=!0),fe&&F(Gt,["html","head","body"]),Gt.table&&(F(Gt,["tbody"]),delete ce.tbody),f&&f(w),Ie=w)}return B}(),Pe=F({},["mi","mo","mn","ms","mtext"]),en=F({},["foreignobject","annotation-xml"]),wn=F({},["title","style","font","a","script"]),Ge=F({},z);F(Ge,et),F(Ge,lt);var Ye=F({},ut);F(Ye,Z);var bn=function(){function B(w){var G=Ce(w);(!G||!G.tagName)&&(G={namespaceURI:Te,tagName:"template"});var W=T(w.tagName),X=T(G.tagName);return qe[w.namespaceURI]?w.namespaceURI===$e?G.namespaceURI===ue?W==="svg":G.namespaceURI===Ue?W==="svg"&&(X==="annotation-xml"||Pe[X]):!!Ge[W]:w.namespaceURI===Ue?G.namespaceURI===ue?W==="math":G.namespaceURI===$e?W==="math"&&en[X]:!!Ye[W]:w.namespaceURI===ue?G.namespaceURI===$e&&!en[X]||G.namespaceURI===Ue&&!Pe[X]?!1:!Ye[W]&&(wn[W]||!Ge[W]):!!(me==="application/xhtml+xml"&&qe[w.namespaceURI]):!1}return B}(),Zt=function(){function B(w){S(gt.removed,{element:w});try{w.parentNode.removeChild(w)}catch(G){try{w.outerHTML=we}catch(W){w.remove()}}}return B}(),ye=function(){function B(w,G){try{S(gt.removed,{attribute:G.getAttributeNode(w),from:G})}catch(W){S(gt.removed,{attribute:null,from:G})}if(G.removeAttribute(w),w==="is"&&!Xt[w])if(kt||Ve)try{Zt(G)}catch(W){}else try{G.setAttribute(w,"")}catch(W){}}return B}(),Tn=function(){function B(w){var G,W;if(Oe)w=""+w;else{var X=N(w,/^[\r\n\t ]+/);W=X&&X[0]}me==="application/xhtml+xml"&&Te===ue&&(w=''+w+"");var ht=_t?_t.createHTML(w):w;if(Te===ue)try{G=new jt().parseFromString(ht,me)}catch(wt){}if(!G||!G.documentElement){G=se.createDocument(Te,"template",null);try{G.documentElement.innerHTML=_e?we:ht}catch(wt){}}var Ct=G.body||G.documentElement;return w&&W&&Ct.insertBefore(Lt.createTextNode(W),Ct.childNodes[0]||null),Te===ue?On.call(G,fe?"html":"body")[0]:fe?G.documentElement:Ct}return B}(),Ke=function(){function B(w){return sn.call(w.ownerDocument||w,w,At.SHOW_ELEMENT|At.SHOW_COMMENT|At.SHOW_TEXT|At.SHOW_PROCESSING_INSTRUCTION|At.SHOW_CDATA_SECTION,null,!1)}return B}(),nn=function(){function B(w){return w instanceof Ft&&(typeof w.__depth!="undefined"&&typeof w.__depth!="number"||typeof w.__removalCount!="undefined"&&typeof w.__removalCount!="number"||typeof w.nodeName!="string"||typeof w.textContent!="string"||typeof w.removeChild!="function"||!(w.attributes instanceof Nt)||typeof w.removeAttribute!="function"||typeof w.setAttribute!="function"||typeof w.namespaceURI!="string"||typeof w.insertBefore!="function"||typeof w.hasChildNodes!="function")}return B}(),Ne=function(){function B(w){return n(dt)==="object"?w instanceof dt:w&&n(w)==="object"&&typeof w.nodeType=="number"&&typeof w.nodeName=="string"}return B}(),ae=function(){function B(w,G,W){ne[w]&&C(ne[w],function(X){X.call(gt,G,W,Ie)})}return B}(),rn=function(){function B(w){var G;if(ae("beforeSanitizeElements",w,null),nn(w)||V(/[\u0080-\uFFFF]/,w.nodeName))return Zt(w),!0;var W=Qt(w.nodeName);if(ae("uponSanitizeElement",w,{tagName:W,allowedTags:Gt}),w.hasChildNodes()&&!Ne(w.firstElementChild)&&(!Ne(w.content)||!Ne(w.content.firstElementChild))&&V(/<[/\w]/g,w.innerHTML)&&V(/<[/\w]/g,w.textContent)||W==="select"&&V(/