You are on page 1of 12

(e, ...

t) => {
/*!
* This file is part of eyeo's Anti-Circumvention Snippets module (@eyeo/snippets),
* Copyright (C) 2006-present eyeo GmbH
*
* @eyeo/snippets is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
* published by the Free Software Foundation.
*
* @eyeo/snippets is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with @eyeo/snippets. If not, see <http://www.gnu.org/licenses/>.
*/
((environment, ...filters) => {
const e=Proxy,
{apply:t,bind:n,call:o}=Function,r=o.bind(t),i=o.bind(n),s=o.bind(o),a={get:
(e,t)=>i(o,e[t])},c=t=>new e(t,a),l={get:(e,t)=>i(e[t],e)},u=t=>new e(t,l),
{assign:d,defineProperties:h,freeze:f,getOwnPropertyDescriptor:p,getOwnPropertyDesc
riptors:w,getPrototypeOf:g}=u(Object),{hasOwnProperty:m}=c({}),
{species:b}=Symbol,y={get(e,t){const n=e[t];class o extends n{}const
r=w(n.prototype);delete r.constructor,f(h(o.prototype,r));const i=w(n);return
delete i.length,delete i.prototype,i[b]={value:o},f(h(o,i))}},v=t=>new
e(t,y),S="undefined"!=typeof environment?environment:{};"undefined"==typeof
globalThis&&(window.globalThis=window);const{apply:k,ownKeys:E}=u(Reflect),M="world
"in S,x=M&&"ISOLATED"===S.world,C=M&&"MAIN"===S.world,T="object"==typeof chrome&&!!
chrome.runtime,W="object"==typeof browser&&!!browser.runtime,L=!C&&(x||T||
W),O=e=>L?e:P(e,R(e)),
{create:P,defineProperties:D,defineProperty:N,freeze:I,getOwnPropertyDescriptor:A,g
etOwnPropertyDescriptors:R}=u(Object),V=u(globalThis),$=L?globalThis:v(globalThis),
{Map:H,RegExp:j,Set:F,WeakMap:_,WeakSet:q}=$,B=(e,t,n=null)=>{const
o=E(t);for(const r of E(e)){if(o.includes(r))continue;const
i=A(e,r);if(n&&"value"in i){const{value:e}=i;"function"==typeof
e&&(i.value=n(e))}N(t,r,i)}},z=e=>{const t=$[e];class n extends
t{}const{toString:o,valueOf:r}=t.prototype;D(n.prototype,{toString:
{value:o},valueOf:{value:r}});const i=e.toLowerCase(),s=e=>function(){const
t=k(e,this,arguments);return typeof t===i?new n(t):t};return
B(t,n,s),B(t.prototype,n.prototype,s),n},X=I({frozen:new _,hidden:new
q,iframePropertiesToAbort:{read:new F,write:new F},abortedIframes:new _}),J=new
j("^[A-Z]");var U=new Proxy(new H([["chrome",L&&(T&&chrome||W&&browser)||void 0],
["isExtensionContext",L],["variables",X],["console",O(console)],
["document",globalThis.document],["performance",O(performance)],["JSON",O(JSON)],
["Map",H],["Math",O(Math)],["Number",L?Number:z("Number")],["RegExp",j],["Set",F],
["String",L?String:z("String")],["WeakMap",_],["WeakSet",q],
["MouseEvent",MouseEvent]]),{get(e,t){if(e.has(t))return e.get(t);let
n=globalThis[t];return"function"==typeof n&&(n=(J.test(t)?$:V)
[t]),e.set(t,n),n},has:(e,t)=>e.has(t)});const
G={WeakSet:WeakSet,WeakMap:WeakMap,WeakValue:class{has(){return!1}set(){}}},
{apply:K}=Reflect;const{Map:Q,WeakMap:Y,WeakSet:Z,setTimeout:ee}=U;let te=!
0,ne=e=>{e.clear(),te=!te};var oe=function(e)
{const{WeakSet:t,WeakMap:n,WeakValue:o}=this||G,r=new t,i=new n,s=new o;return
function(t){if(r.has(t))return t;if(i.has(t))return i.get(t);if(s.has(t))return
s.get(t);const n=K(e,this,arguments);return r.add(n),n!==t&&("object"==typeof t&&t?
i:s).set(t,n),n}}.bind({WeakMap:Y,WeakSet:Z,WeakValue:class extends Q{set(e,t)
{return te&&(te=!
te,ee(ne,0,this)),super.set(e,t)}}});const{concat:re,includes:ie,join:se,reduce:ae,
unshift:ce}=c([]),le=v(globalThis),{Map:ue,WeakMap:de}=le,he=new ue,fe=t=>{const
n=(e=>{const t=[];let n=e;for(;n;){if(he.has(n))ce(t,he.get(n));else{const
e=w(n);he.set(n,e),ce(t,e)}n=g(n)}return ce(t,{}),r(d,null,t)})("function"==typeof
t?t.prototype:t),o={get(e,t){if(t in n){const{value:o,get:r}=n[t];if(r)return
s(r,e);if("function"==typeof o)return i(o,e)}return e[t]},set(e,t,o){if(t in n)
{const{set:r}=n[t];if(r)return s(r,e,o),!0}return e[t]=o,!0}};return t=>new
e(t,o)},{isExtensionContext:pe,Array:we,Number:ge,String:me,Object:be}=U,
{isArray:ye}=we,{getOwnPropertyDescriptor:ve,setPrototypeOf:Se}=be,
{toString:ke}=be.prototype,{slice:Ee}=me.prototype,
{get:Me}=ve(Node.prototype,"nodeType"),xe=pe?{}:
{Attr:fe(Attr),CanvasRenderingContext2D:fe(CanvasRenderingContext2D),CSSStyleDeclar
ation:fe(CSSStyleDeclaration),Document:fe(Document),Element:fe(Element),HTMLCanvasE
lement:fe(HTMLCanvasElement),HTMLElement:fe(HTMLElement),HTMLImageElement:fe(HTMLIm
ageElement),HTMLScriptElement:fe(HTMLScriptElement),MutationRecord:fe(MutationRecor
d),Node:fe(Node),ShadowRoot:fe(ShadowRoot),get CSS2Properties(){return
xe.CSSStyleDeclaration}},Ce=(e,t)=>{if("Element"!==t&&t in xe)return xe[t]
(e);if(ye(e))return Se(e,we.prototype);const n=(e=>s(Ee,s(ke,e),8,-1))(e);if(n in
xe)return xe[n](e);if(n in U)return Se(e,U[n].prototype);if("nodeType"in
e)switch(s(Me,e)){case 1:if(!(t in xe))throw new Error("unknown hint "+t);return
xe[t](e);case 2:return xe.Attr(e);case 3:return xe.Node(e);case 9:return
xe.Document(e)}throw new Error("unknown brand "+n)};var Te=pe?e=>e===window||
e===globalThis?U:e:oe(((e,t="Element")=>{if(e===window||e===globalThis)return
U;switch(typeof e){case"object":return e&&Ce(e,t);case"string":return new
me(e);case"number":return new ge(e);default:throw new Error("unsupported
value")}}));let{document:We,getComputedStyle:Le,isExtensionContext:Oe,variables:Pe,
Array:De,MutationObserver:Ne,Object:Ie,XPathEvaluator:Ae,XPathExpression:Re,XPathRe
sult:Ve}=Te(window),{querySelectorAll:
$e}=We,He=$e&&i($e,We);const{assign:je,setPrototypeOf:Fe}=Ie;class _e extends
Re{evaluate(...e){return Fe(r(super.evaluate,this,e),Ve.prototype)}}class qe
extends Ae{createExpression(...e){return
Fe(r(super.createExpression,this,e),_e.prototype)}}function Be(e)
{if(Pe.hidden.has(e))return!1;!function(e){Oe&&"function"==typeof
checkElement&&checkElement(e)}
(e),Pe.hidden.add(e);let{style:t}=Te(e),n=Te(t,"CSSStyleDeclaration"),o=Te([]),
{debugCSSProperties:r}=S;for(let[e,t]of r||
[["display","none"]])n.setProperty(e,t,"important"),o.push([e,n.getPropertyValue(e)
]);return new Ne((()=>{for(let[e,t]of o){let
o=n.getPropertyValue(e),r=n.getPropertyPriority(e);o==t&&"important"==r||
n.setProperty(e,t,"important")}})).observe(e,{attributes:!0,attributeFilter:
["style"]}),!0}function ze(e){let t=e;if(t.startsWith("xpath(")&&t.endsWith(")"))
{let e=t.slice(6,-1),n=(new
qe).createExpression(e,null),o=Ve.ORDERED_NODE_SNAPSHOT_TYPE;return e=>{if(!
e)return;let t=n.evaluate(We,o,null),{snapshotLength:r}=t;for(let n=0;n<r;n+
+)e(t.snapshotItem(n))}}return t=>He(e).forEach(t)}function Xe(e,t,n,o){let
r;null==n&&(n=t);const i=()=>{for(const i of He(n)){const
n=Te(i).closest(t);n&&e(i,n)&&(r(),Be(n)&&"function"==typeof o&&o(n))}};return
je(new Ne(i),{race(e){r=e,this.observe(We,{childList:!0,characterData:!0,subtree:!
0}),i()}})}function Je(e,t,n){let
o=Te(t,"CSSStyleDeclaration");if("none"==o.getPropertyValue("display"))return!1;let
r=o.getPropertyValue("visibility");if("hidden"==r||"collapse"==r)return!1;if(!n||
e==n)return!0;let i=Te(e).parentElement;return!i||Je(i,Le(i),n)}function Ue(e){let
t=Le(e),{cssText:n}=t;if(n)return n;for(let e of t)n+=`${e}: ${t[e]}; `;return
Te(n).trim()}let{Math:Ge,RegExp:Ke}=Te(window);function Qe(e)
{let{length:t}=e;if(t>1&&"/"===e[0]){let n="/"===e[t-1];if(n||
t>2&&Te(e).endsWith("/i")){let t=[Te(e).slice(1,n?-1:-2)];return n||t.push("i"),new
Ke(...t)}}return new Ke(Te(e).replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"))}let Ye=!
1;function Ze(){return Ye}const{console:et}=Te(window),tt=()=>{};function nt(...e)
{Ze()&&Te(e).unshift("%c DEBUG","font-weight: bold"),et.log(...e)}function ot(e)
{return i(Ze()?
nt:tt,null,e)}let{Array:rt,Error:it,Map:st,parseInt:at}=Te(window),ct=null,lt=null;
function ut(e,t){if(null===ct)return tt;let n=ct,{participants:o}=n;return
o.set(r,t),r;function r(){if(n.winners<1)return;if(ot("race")(`${e} won the
race`),n===ct)lt.push(r);else if(o.delete(r),--n.winners<1){for(let e of
o.values())e();o.clear()}}}const dt={get(e,t){const n=e;for(;!
m(e,t);)e=g(e);const{get:o,set:i}=p(e,t);return function(){return arguments.length?
r(i,n,arguments):s(o,n)}}};var ht;function ft(e,t,n){var o,r;n?"load"===n?
(e("Waiting until window.load"),window.addEventListener("load",(()=>{e("Window.load
fired."),t()}))):"loading"===n||"interactive"===n||"complete"===n?(e("Waiting
document state until :",n),document.addEventListener("readystatechange",
(()=>{e("Document state
changed:",document.readyState),document.readyState===n&&t()}))):(e("Waiting until
",n," event is triggered on document"),(o=document,r=n,new Promise((e=>{const
t=()=>{o.removeEventListener(r,t),e()};o.addEventListener(r,t)}))).then((()=>{e(n,"
is triggered on document, starting the snippet"),t()})).catch((t=>{e("There was an
error while waiting for the event.",t)}))):t()}Te(window),ht=window,new
e(ht,dt),Te(/^\d+
$/);let{MutationObserver:pt,WeakSet:wt,getComputedStyle:gt}=Te(window);let{clearTim
eout:mt,fetch:bt,getComputedStyle:yt,setTimeout:vt,Map:St,MutationObserver:kt,Uint8
Array:Et}=Te(window);let Mt=new St;function xt(e,
{as:t="arrayBuffer",cleanup:n=6e4}={}){let o=t+":"+e,r=Mt.get(o)||{remove:
()=>Mt.delete(o),result:null,timer:0};return
mt(r.timer),r.timer=vt(r.remove,n),r.result||(r.result=bt(e).then((e=>e[t]
())).catch(r.remove),Mt.set(o,r)),r.result}function Ct(e){return
e.reduce(((e,t)=>e+function(e,t=2){let n=Te(e).toString(16);return
n.length<t&&(n=Te("0").repeat(t-n.length)+n),n}
(t)),"")}const{parseFloat:Tt,Math:Wt,MutationObserver:Lt,WeakSet:Ot}=Te(window),
{min:Pt}=Wt,Dt=(e,t)=>{const n=e.length+1,o=t.length+1,r=[[0]];let i=0,s=0;for(;+
+i<o;)r[0][i]=i;for(i=0;++i<n;){const n=e[s];let a=0,c=0;for(r[i]=[i];++a<o;)r[i]
[a]=Pt(r[s][a]+1,r[i][c]+1,r[s][c]+(n!=t[c])),++c;++s}return r[n-1][o-
1]};let{getComputedStyle:Nt,Map:It,WeakSet:At,parseFloat:Rt}=Te(window);const{ELEME
NT_NODE:Vt,TEXT_NODE:
$t}=Node;let{MutationObserver:Ht,WeakSet:jt,getComputedStyle:Ft}=Te(window);let{get
ComputedStyle:_t,MutationObserver:qt,WeakSet:Bt}=Te(window);Te(window);const
zt={mark(){},end(){},toString:()=>"{mark(){},end(){}}"};function Xt(e,t=10){return
zt}let{MutationObserver:Jt,WeakSet:Ut}=Te(window);const{ELEMENT_NODE:Gt}=Node;let{M
utationObserver:Kt,WeakSet:Qt}=Te(window);const{ELEMENT_NODE:Yt}=Node;let{parseInt:
Zt,setTimeout:en,Error:tn,MouseEvent:nn,MutationObserver:on,WeakSet:rn}=Te(window);
let{parseInt:sn,setTimeout:an,Error:cn,MouseEvent:ln,MutationObserver:un,WeakSet:dn
}=Te(window);const
hn=["auxclick","click","dblclick","gotpointercapture","lostpointercapture","mouseen
ter","mousedown","mouseleave","mousemove","mouseout","mouseover","mouseup","pointer
down","pointerenter","pointermove","pointerover","pointerout","pointerup","pointerc
ancel","
pointerleave"];let{isNaN:fn,MutationObserver:pn,parseInt:wn,parseFloat:gn,setTimeou
t:mn}=Te(window);const bn={log:nt,race:function(e,t="1"){switch(e)
{case"start":ct={winners:at(t,10)||1,participants:new st},lt=new
rt;break;case"end":case"finish":case"stop":ct=null;for(let e of
lt)e();lt=null;break;default:throw new it(`Invalid action: $
{e}`)}},debug:function(){Ye=!0},"hide-if-matches-xpath":function(e,t)
{const{mark:n,end:o}=Xt(),r=ot("hide-if-matches-xpath"),i=t=>{const i=ze(`xpath($
{e})`),s=new Ut,a=()=>{n(),i((t=>{if(s.has(t))return!
1;s.add(t),l(),Te(t).nodeType===Gt?Be(t):Te(t).textContent="",r("Matched: ",t," for
selector: ",e)})),o()},c=new Jt(a),l=ut("hide-if-matches-xpath",
(()=>c.disconnect()));c.observe(t,{characterData:!0,childList:!0,subtree:!
0}),a()};if(t){let e,n=0;const o=ze(`xpath(${t})`),r=()=>{o((e=>{i(e),n+
+})),n>0&&e.disconnect()};e=new Jt(r),e.observe(document,{characterData:!
0,childList:!0,subtree:!0}),r()}else i(document)},"hide-if-matches-computed-
xpath":function(e,t,n,o){const{mark:r,end:i}=Xt(),s=ot("hide-if-matches-computed-
xpath");if(!t||!e)return void s("No query or searchQuery provided.");const
a=t=>{const n=(t=>e.replace("{{}}",t))(t);s("Starting hiding elements that match
query: ",n);const o=ze(`xpath(${n})`),a=new
Qt,c=()=>{r(),o((t=>{if(a.has(t))return!1;a.add(t),u(),Te(t).nodeType===Yt?
Be(t):Te(t).textContent="",s("Matched: ",t," for selector: ",e)})),i()},l=new
Kt(c),u=ut("hide-if-matches-computed-xpath",
(()=>l.disconnect()));l.observe(document,{characterData:!0,childList:!0,subtree:!
0}),c()},c=Qe(n);ft(s,(()=>{if(t){s("Started searching for: ",t);const e=new Qt;let
n;const o=ze(`xpath(${t})`),r=()=>{o((t=>{if(e.has(t))return!1;if(e.add(t),s("Found
node: ",t),t.innerHTML){s("Searching in: ",t.innerHTML);const
e=t.innerHTML.match(c);if(e&&e.length){let t="";t=e[1]?e[1]:e[0],s("Matched search
query: ",t),a(t)}}}))};n=new Kt(r),n.observe(document,{characterData:!0,childList:!
0,subtree:!0}),r()}}),o)},"hide-if-contains":function(e,t="*",n=null){const
o=ot("hide-if-contains");let r=Qe(e);const i=Xe((e=>r.test(Te(e).textContent)),t,n,
(e=>{o("Matched: ",e," for selector: ",t,n)}));i.race(ut("hide-if-contains",
(()=>{i.disconnect()})))},"hide-if-contains-similar-
text":function(e,t,n=null,o=0,r=0){const i=new Ot,s=ot("hide-if-contains-similar-
text"),a=Te(e),{length:c}=a,l=c+Tt(o)||0,u=Te([...a]).sort(),d=Tt(r)||
1/0;null==n&&(n=t),s("Looking for similar text: "+a);const h=()=>{for(const e of
He(n)){if(i.has(e))continue;i.add(e);const{innerText:n}=Te(e),r=Pt(d,n.length-
l+1);for(let i=0;i<r;i++){const r=Te(n).substr(i,l);if(Dt(u,Te([...r]).sort())-
o<=0){const n=Te(e).closest(t);if(s("Found similar text: "+a,n),n)
{p(),Be(n);break}}}}};let f=new Lt(h),p=ut("hide-if-contains-similar-text",
(()=>f.disconnect()));f.observe(document,{childList:!0,characterData:!0,subtree:!
0}),h()},"hide-if-contains-visible-text":function(e,t,n=null,...o){let
r=Te([]);const i=new It([["-snippet-box-margin","2"],["-disable-bg-color-
check","false"],["-check-is-contained","false"]]);for(let e of o){e=Te(e);let
t=e.indexOf(":");if(t<0)continue;let
n=e.slice(0,t).trim().toString(),o=e.slice(t+1).trim().toString();n&&o&&(i.has(n)?
i.set(n,o):r.push([n,o]))}let s=Te([["opacity","0"],["font-size","0px"],
["color","rgba(0, 0, 0, 0)"]]),a=new It(s.concat(r));function c(e,t,
{bgColorCheck:n=!0}={}){t||(t=Nt(e)),t=Te(t);for(const[e,n]of a)
{if(Qe(n).test(t.getPropertyValue(e)))return!1}let
o=t.getPropertyValue("color");return!n||t.getPropertyValue("background-color")!
=o}function l(e,t,{bgColorCheck:n=!0}={}){let o=Nt(e,t);if(!Je(e,o)||!c(e,o,
{bgColorCheck:n}))return"";let{content:r}=Te(o);if(r&&"none"!==r){let
t=Te([]);return r=Te(r).trim().replace(/(["'])(?:(?=(\\?))\2.)*?\1/g,(e=>"#"+
(t.push(Te(e).slice(1,-1))-1))),r=r.replace(/\s*attr\(\s*([^\s,)]+)[^)]*?\)\s*/g,
((t,n)=>Te(e).getAttribute(n)||"")),r.replace(/\x01(\d+)/g,
((e,n)=>t[n]))}return""}function u(e,t,{boxMargin:n=2}={}){const
o=Te(e).getBoundingClientRect(),r=Te(t).getBoundingClientRect(),i=r.left-
n,s=r.right+n,a=r.top-n,c=r.bottom+n;return
i<=o.left&&o.left<=s&&a<=o.top&&o.top<=c&&a<=o.bottom&&o.bottom<=c&&i<=o.right&&o.r
ight<=s}function d(e,t,n,o,r,{boxMargin:i=2,bgColorCheck:s,checkIsContained:a}={})
{let h=!n;if(h&&(n=Nt(e)),!Je(e,n,h&&t))return"";o||"hidden"!
==Te(n).getPropertyValue("overflow-x")&&"hidden"!
==Te(n).getPropertyValue("overflow-y")||(o=e);let f=l(e,":before",
{bgColorCheck:s});for(let t of Te(e).childNodes)switch(Te(t).nodeType){case
Vt:f+=d(t,e,Nt(t),o,r,{boxMargin:i,bgColorCheck:s,checkIsContained:a});break;case
$t:if(o)u(e,o,{boxMargin:i})&&c(e,n,{bgColorCheck:s})&&(f+=Te(t).nodeValue);else
if(c(e,n,{bgColorCheck:s})){if(a&&!u(e,r,
{boxMargin:i}))continue;f+=Te(t).nodeValue}}return f+l(e,":after",
{bgColorCheck:s})}const h=i.get("-snippet-box-margin"),f=Rt(h)||0,p=!
("true"===i.get("-disable-bg-color-check")),w="true"===i.get("-check-is-
contained");let g=Qe(e),m=new At;const b=Xe(((e,t)=>{if(m.has(e))return!
1;m.add(e);let n=d(e,t,null,null,e,
{boxMargin:f,bgColorCheck:p,checkIsContained:w}),o=g.test(n);return
Ze()&&n.length&&nt(o,g,n),o}),t,n);b.race(ut("hide-if-contains-visible-text",
(()=>{b.disconnect()})))},"hide-if-contains-and-matches-
style":function(e,t="*",n=null,o=null,r=null,i,s=null,a=null){const c=ot("hide-if-
contains-and-matches-style"),l=new wt,u=Ze()&&new wt;null==n&&(n=t);const
d=Qe(e),h=o?Qe(o):null,f=r?Qe(r):null,p=()=>{const e=()=>{if(!
(s&&window.innerWidth<s||a&&window.innerWidth>a))for(const e of He(n))if(!
l.has(e)&&d.test(Te(e).textContent))if(!f||f.test(Ue(e))){const
n=Te(e).closest(t);if(!n)continue;if(!h||
h.test(Ue(n)))r(),Be(n),l.add(e),c("Matched: ",n,"which contains: ",e," for params:
",...arguments);else{if(!u||u.has(n))continue;c("In this element the searchStyle
matched but style didn't:\n",n,gt(n),...arguments),u.add(n)}}else{if(!u||
u.has(e))continue;c("In this element the searchStyle didn't match:\
n",e,gt(e),...arguments),u.add(e)}},o=new pt(e),r=ut("hide-if-contains-and-matches-
style",(()=>o.disconnect()));o.observe(document,{childList:!0,characterData:!
0,subtree:!0}),e()};ft(c,p,i)},"hide-if-has-and-matches-
style":function(e,t="*",n=null,o=null,r=null,i=null,s=null,a=null){const
c=ot("hide-if-has-and-matches-style"),l=new jt,u=Ze()&&new jt;null==n&&(n=t);const
d=o?Qe(o):null,h=r?Qe(r):null,f=()=>{const o=()=>{if(!(s&&window.innerWidth<s||
a&&window.innerWidth>a))for(const o of He(n))if(!l.has(o))if(!
Te(o).querySelector(e)||h&&!h.test(Ue(o))){if(!u||u.has(o))continue;c("In this
element the searchStyle didn't match:\n",o,Ft(o),...arguments),u.add(o)}else{const
e=Te(o).closest(t);if(!e||d&&!d.test(Ue(e))){if(!u||u.has(e))continue;c("In this
element the searchStyle matched but style didn't:\
n",e,Ft(e),...arguments),u.add(e)}else i(),Be(e),l.add(o),c("Matched: ",e,"which
contains: ",o," for params: ",...arguments)}},r=new Ht(o),i=ut("hide-if-has-and-
matches-style",(()=>r.disconnect()));r.observe(document,{childList:!0,subtree:!
0}),o()};ft(c,f,i)},"hide-if-labelled-by":function(e,t,n=null){let
o=null==n,r=Qe(e),i=new Bt,s=()=>{for(let e of He(t)){let t=o?
e:Te(e).closest(n);if(!t||!Je(e,_t(e),t))continue;let s=Te(e).getAttribute("aria-
labelledby"),a=()=>{i.has(t)||r.test(Te(e).getAttribute("aria-
label")||"")&&(c(),i.add(t),Be(t))};if(s)for(let e of Te(s).split(/\s+/)){let
n=Te(document).getElementById(e);n?!
i.has(n)&&r.test(n.innerText)&&(c(),i.add(n),Be(t)):a()}else a()}},a=new
qt(s),c=ut("hide-if-labelled-by",(()=>a.disconnect()));a.observe(document,
{characterData:!0,childList:!0,subtree:!0}),s()},"hide-if-contains-
image":function(e,t,n){null==n&&(n=t);let o=Qe(e);const r=ot("hide-if-contains-
image");let i=()=>{for(let e of He(n)){let n=yt(e),i=Te(n["background-
image"]).match(/^url\("(.*)"\)$/);i&&xt(i[1]).then((n=>{if(o.test(Ct(new Et(n))))
{let n=Te(e).closest(t);n&&(a(),Be(n),r("Matched: ",n,"
for:",...arguments))}}))}},s=new kt(i),a=ut("hide-if-contains-image",
(()=>s.disconnect()));s.observe(document,{childList:!0,subtree:!0}),i()},"simulate-
event-poc":function(e,t,n="0"){if(!e)throw new tn("[simulate-event snippet]: No
event type provided.");if(!t)throw new tn("[simulate-event snippet]: No selector
provided.");let o=ze(t),r=Zt(n,10),i=new rn;function s(){o((t=>{i.has(t)||
(i.add(t),en((()=>{Te(t).dispatchEvent(new nn(e,{bubbles:!0,cancelable:!
0}))}),r))}))}new on(s).observe(document,{childList:!0,subtree:!0}),s()},"simulate-
mouse-event":function(...e){const t=ot("simulate-mouse-event");if(e.length<1)throw
new cn("[simulate-mouse-event snippet]: No selector
provided.");e.length>7&&(e=e.slice(0,7));const n=Te([]);function o(){return
n.forEach((e=>{if(!e.found){(function(e){let
t=e;if(t.startsWith("xpath(")&&t.endsWith(")")){let t=ze(e);return()=>{let
e=Te([]);return t((t=>e.push(t))),e}}return()=>De.from(He(e))})(e.selector)
().length>0&&(e.found=!0)}})),n.every((e=>e.found))}function r(e,n,o)
{e&&n&&("click"===n&&e.click?(e.click(),t("Clicked on this node:\n",e,"\nwith a
delay of",o,"ms")):(e.dispatchEvent(new ln(n,{bubbles:!0,cancelable:!
0})),t("A",n,"event was dispatched with a delay of",o,"ms on this node:\
n",e)))}Te(e).forEach((e=>{const o=function(e){if(!e)return null;const
n={selector:"",continue:!1,trigger:!1,event:"click",delay:"500",clicked:!1,found:!
1},o=e.split("$");let r=[];o.length>=2&&(r=o[1].toLowerCase().split(",")),
[n.selector]=o;for(const e of r)if("trigger"===e)n.trigger=!0;else
if("continue"===e)n.continue=!0;else if(e.startsWith("event")){const
t=e.toLowerCase().split("=");t[1]?n.event=t[1]:n.event="click"}else
if(e.startsWith("delay")){const t=e.toLowerCase().split("=");t[1]?
n.delay=t[1]:n.delay="500"}return hn.includes(n.event)||t(n.event," might be
misspelled, check for typos.\n","These are the supported events:",hn),n}
(e);n.push(o)}));let i=!1;const[s]=n.slice(-1);s.trigger=!0;let a=new dn;function
c(){if(i||(i=o()),i)for(const e of n){const
t=ze(e.selector),n=sn(e.delay,10);e.trigger&&t((t=>{a.has(t)||(a.add(t),e.continue?
setInterval((()=>{r(t,e.event,e.delay)}),n):an((()=>{r(t,e.event,e.delay)}),n))
}))}}new un(c).observe(document,{childList:!0,subtree:!0}),c()},"skip-
video":function(e,t,n=-.1,o=10,r=10){const i=gn(n||-.1),s=wn(o||10,10),a=wn(r||
10,10),c=ot("skip-video"),l=ze(`xpath(${t})`),u=(n=0)=>{l((o=>{c("Matched: ",o,"
for selector: ",t),c("Running video skipping logic.");const r=He(e)
[0];for(;fn(r.duration)&&n<s;)return void mn((()=>{const e=n+1;c("Running video
skipping logic. Attempt: ",e),u(e)}),a);fn(r.duration)||(r.muted=!0,c("Muted
video..."),i<=0?r.currentTime=r.duration+i:r.currentTime+=i,c("Skipped
duration..."),r.paused&&r.play())}))};new pn(u).observe(document,{characterData:!
0,childList:!0,subtree:!0}),u()}};
const snippets=bn;
let context;
for (const [name, ...args] of filters) {
if (snippets.hasOwnProperty(name)) {
try { context = snippets[name].apply(context, args); }
catch (error) { console.error(error); }
}
}
context = void 0;
})(e, ...t);

const callback = (environment, ...filters) => {


const e=Proxy,
{apply:t,bind:n,call:r}=Function,o=r.bind(t),i=r.bind(n),s=r.bind(r),a={get:
(e,t)=>i(r,e[t])},l=t=>new e(t,a),c=(t,n)=>new e(t,{apply:
(e,t,r)=>o(n,t,r)}),u={get:(e,t)=>i(e[t],e)},f=t=>new e(t,u),
{assign:p,defineProperties:d,freeze:h,getOwnPropertyDescriptor:w,getOwnPropertyDesc
riptors:g,getPrototypeOf:y}=f(Object),{hasOwnProperty:m}=l({}),
{species:b}=Symbol,v={get(e,t){const n=e[t];class r extends n{}const
o=g(n.prototype);delete o.constructor,h(d(r.prototype,o));const i=g(n);return
delete i.length,delete i.prototype,i[b]={value:r},h(d(r,i))}},E=t=>new
e(t,v),S="undefined"!=typeof environment?environment:{};"undefined"==typeof
globalThis&&(window.globalThis=window);const{apply:M,ownKeys:T}=f(Reflect),x="world
"in S,O=x&&"ISOLATED"===S.world,j=x&&"MAIN"===S.world,P="object"==typeof chrome&&!!
chrome.runtime,L="object"==typeof browser&&!!browser.runtime,N=!j&&(O||P||
L),k=e=>N?e:C(e,H(e)),{create:C,defineProperties:
$,defineProperty:W,freeze:A,getOwnPropertyDescriptor:D,getOwnPropertyDescriptors:H}
=f(Object),R=f(globalThis),z=N?globalThis:E(globalThis),
{Map:I,RegExp:F,Set:J,WeakMap:V,WeakSet:B}=z,U=(e,t,n=null)=>{const
r=T(t);for(const o of T(e)){if(r.includes(o))continue;const
i=D(e,o);if(n&&"value"in i){const{value:e}=i;"function"==typeof
e&&(i.value=n(e))}W(t,o,i)}},_=e=>{const t=z[e];class n extends
t{}const{toString:r,valueOf:o}=t.prototype;$(n.prototype,{toString:
{value:r},valueOf:{value:o}});const i=e.toLowerCase(),s=e=>function(){const
t=M(e,this,arguments);return typeof t===i?new n(t):t};return
U(t,n,s),U(t.prototype,n.prototype,s),n},X=A({frozen:new V,hidden:new
B,iframePropertiesToAbort:{read:new J,write:new J},abortedIframes:new V}),q=new
F("^[A-Z]");var G=new Proxy(new I([["chrome",N&&(P&&chrome||L&&browser)||void 0],
["isExtensionContext",N],["variables",X],["console",k(console)],
["document",globalThis.document],["performance",k(performance)],["JSON",k(JSON)],
["Map",I],["Math",k(Math)],["Number",N?Number:_("Number")],["RegExp",F],["Set",J],
["String",N?String:_("String")],["WeakMap",V],["WeakSet",B],
["MouseEvent",MouseEvent]]),{get(e,t){if(e.has(t))return e.get(t);let
n=globalThis[t];return"function"==typeof n&&(n=(q.test(t)?z:R)
[t]),e.set(t,n),n},has:(e,t)=>e.has(t)});const
K={WeakSet:WeakSet,WeakMap:WeakMap,WeakValue:class{has(){return!1}set(){}}},
{apply:Y}=Reflect;const{Map:Z,WeakMap:Q,WeakSet:ee,setTimeout:te}=G;let ne=!
0,re=e=>{e.clear(),ne=!ne};var oe=function(e)
{const{WeakSet:t,WeakMap:n,WeakValue:r}=this||K,o=new t,i=new n,s=new r;return
function(t){if(o.has(t))return t;if(i.has(t))return i.get(t);if(s.has(t))return
s.get(t);const n=Y(e,this,arguments);return o.add(n),n!==t&&("object"==typeof t&&t?
i:s).set(t,n),n}}.bind({WeakMap:Q,WeakSet:ee,WeakValue:class extends Z{set(e,t)
{return ne&&(ne=!
ne,te(re,0,this)),super.set(e,t)}}});const{concat:ie,includes:se,join:ae,reduce:le,
unshift:ce}=l([]),ue=E(globalThis),{Map:fe,WeakMap:pe}=ue,de=new fe,he=t=>{const
n=(e=>{const t=[];let n=e;for(;n;){if(de.has(n))ce(t,de.get(n));else{const
e=g(n);de.set(n,e),ce(t,e)}n=y(n)}return ce(t,{}),o(p,null,t)})("function"==typeof
t?t.prototype:t),r={get(e,t){if(t in n){const{value:r,get:o}=n[t];if(o)return
s(o,e);if("function"==typeof r)return i(r,e)}return e[t]},set(e,t,r){if(t in n)
{const{set:o}=n[t];if(o)return s(o,e,r),!0}return e[t]=r,!0}};return t=>new
e(t,r)},{isExtensionContext:we,Array:ge,Number:ye,String:me,Object:be}=G,
{isArray:ve}=ge,{getOwnPropertyDescriptor:Ee,setPrototypeOf:Se}=be,
{toString:Me}=be.prototype,{slice:Te}=me.prototype,
{get:xe}=Ee(Node.prototype,"nodeType"),Oe=we?{}:
{Attr:he(Attr),CanvasRenderingContext2D:he(CanvasRenderingContext2D),CSSStyleDeclar
ation:he(CSSStyleDeclaration),Document:he(Document),Element:he(Element),HTMLCanvasE
lement:he(HTMLCanvasElement),HTMLElement:he(HTMLElement),HTMLImageElement:he(HTMLIm
ageElement),HTMLScriptElement:he(HTMLScriptElement),MutationRecord:he(MutationRecor
d),Node:he(Node),ShadowRoot:he(ShadowRoot),get CSS2Properties(){return
Oe.CSSStyleDeclaration}},je=(e,t)=>{if("Element"!==t&&t in Oe)return Oe[t]
(e);if(ve(e))return Se(e,ge.prototype);const n=(e=>s(Te,s(Me,e),8,-1))(e);if(n in
Oe)return Oe[n](e);if(n in G)return Se(e,G[n].prototype);if("nodeType"in
e)switch(s(xe,e)){case 1:if(!(t in Oe))throw new Error("unknown hint "+t);return
Oe[t](e);case 2:return Oe.Attr(e);case 3:return Oe.Node(e);case 9:return
Oe.Document(e)}throw new Error("unknown brand "+n)};var Pe=we?e=>e===window||
e===globalThis?G:e:oe(((e,t="Element")=>{if(e===window||e===globalThis)return
G;switch(typeof e){case"object":return e&&je(e,t);case"string":return new
me(e);case"number":return new ye(e);default:throw new Error("unsupported
value")}}));const Le={get(e,t){const n=e;for(;!
m(e,t);)e=y(e);const{get:r,set:i}=w(e,t);return function(){return arguments.length?
o(i,n,arguments):s(r,n)}}},Ne=t=>new e(t,Le);let ke=!1;function Ce(){return
ke}const{console:$e}=Pe(window),We=()=>{};function Ae(...e){Ce()&&Pe(e).unshift("%c
DEBUG","font-weight: bold"),$e.log(...e)}function De(e){return i(Ce()?
Ae:We,null,e)}let{Math:He,RegExp:Re}=Pe(window);function ze(e)
{let{length:t}=e;if(t>1&&"/"===e[0]){let n="/"===e[t-1];if(n||
t>2&&Pe(e).endsWith("/i")){let t=[Pe(e).slice(1,n?-1:-2)];return n||t.push("i"),new
Re(...t)}}return new Re(Pe(e).replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"))}function
Ie(){return Pe(He.floor(2116316160*He.random()
+60466176)).toString(36)}let{parseFloat:Fe,variables:Je,Array:Ve,Error:Be,Map:Ue,Ob
ject:_e,ReferenceError:Xe,Set:qe,WeakMap:Ge}=Pe(window),
{onerror:Ke}=Ne(window),Ye=Node.prototype,Ze=Element.prototype,Qe=null;function
et(e,t,n,r=!0){let o=Pe(t),i=o.indexOf(".");if(-1==i){let
o=_e.getOwnPropertyDescriptor(e,t);if(o&&!o.configurable)return;let
i=_e.assign({},n,{configurable:r});if(!o&&!i.get&&i.set){let
n=e[t];i.get=()=>n}return void _e.defineProperty(e,t,i)}let
s=o.slice(0,i).toString();t=o.slice(i+1).toString();let a=e[s];!a||"object"!=typeof
a&&"function"!=typeof a||et(a,t,n);let l=_e.getOwnPropertyDescriptor(e,s);if(l&&!
l.configurable)return;Qe||(Qe=new Ge),Qe.has(e)||Qe.set(e,new Ue);let
c=Qe.get(e);if(c.has(s))return void c.get(s).set(t,n);let u=new
Ue([[t,n]]);c.set(s,u),_e.defineProperty(e,s,{get:()=>a,set(e)
{if(a=e,a&&("object"==typeof a||"function"==typeof a))for(let[e,t]of
u)et(a,e,t)},configurable:r})}function tt(e){let t=Ke();Ke(((...n)=>{let
r=n.length&&n[0];return!("string"!=typeof r||!Pe(r).includes(e))||
("function"==typeof t?o(t,this,n):void 0)}))}function nt(e,t,n,r=!0){let
o=De(e);if(!n)return void o("no property to abort on read");let i=Ie();o(`aborting
on ${n} access`),et(t,n,{get:function(){throw o(`${n} access aborted`),new
Xe(i)},set(){}},r),tt(i)}function rt(e,t,n,r=!0){let o=De(e);if(!n)return void
o("no property to abort on write");let i=Ie();o(`aborting when setting $
{n}`),et(t,n,{set:function(){throw o(`setting ${n} aborted`),new
Xe(i)}},r),tt(i)}function ot(e,t=!1,n=!1){let
r=Je.abortedIframes,i=Je.iframePropertiesToAbort;for(let o of
Ve.from(window.frames))if(r.has(o))for(let i of
e)t&&r.get(o).read.add(i),n&&r.get(o).write.add(i);for(let r of
e)t&&i.read.add(r),n&&i.write.add(r);function a(){for(let e of
Ve.from(window.frames)){r.has(e)||r.set(e,{read:new qe(i.read),write:new
qe(i.write)});let t=r.get(e).read;if(t.size>0){let n=Ve.from(t);t.clear();for(let t
of n)nt("abort-on-iframe-property-read",e,t)}let n=r.get(e).write;if(n.size>0){let
t=Ve.from(n);n.clear();for(let n of t)rt("abort-on-iframe-property-
write",e,n)}}}a(),r.has(document)||(r.set(document,!0),function(e){let t;function
n(e,t){for(let n of t){et(e,n,r(e,n))}}function r(t,n){let r=t[n];return{get:
()=>function(...t){let n;return n=o(r,this,t),e&&e(),n}}}function i(t,n){let
r=_e.getOwnPropertyDescriptor(t,n),{set:o}=r||{};return{set(t){let n;return
n=s(o,this,t),e&&e(),n}}}n(Ye,["appendChild","insertBefore","replaceChild"]),n(Ze,
["append","prepend","replaceWith","after","before","insertAdjacentElement","insertA
djacentHTML"]),t=i(Ze,"innerHTML"),et(Ze,"innerHTML",t),t=i(Ze,"outerHTML"),et(Ze,"
outerHTML",t)}(a))}let{Object:it}=window;function st(e,t){if(!(e instanceof
it))return;let n=e,r=Pe(t).split(".");if(0===r.length)return;for(let
e=0;e<r.length-1;e++){let t=r[e];if(!m(n,t))return;if(n=n[t],!(n instanceof
it))return}let o=r[r.length-1];return m(n,o)?[n,o]:void 0}const at=Pe(/^\d+
$/);function lt(e){switch(e){case"false":return!1;case"true":return!
0;case"null":return null;case"noopFunc":return()=>{};case"trueFunc":return()=>!
0;case"falseFunc":return()=>!
1;case"emptyArray":return[];case"emptyObj":return{};case"undefined":return;case"":r
eturn e;default:if(at.test(e))return Fe(e);throw new Be(`[override-property-read
snippet]: Value "${e}" is not
valid.`)}}let{HTMLScriptElement:ct,Object:ut,ReferenceError:ft}=Pe(window),pt=ut.ge
tPrototypeOf(ct);let{Error:dt,URL:ht}=Pe(window),
{cookie:wt}=Ne(document);let{document:gt,getComputedStyle:yt,isExtensionContext:mt,
variables:bt,Array:vt,MutationObserver:Et,Object:St,XPathEvaluator:Mt,XPathExpressi
on:Tt,XPathResult:xt}=Pe(window),
{querySelectorAll:Ot}=gt,jt=Ot&&i(Ot,gt);const{assign:Pt,setPrototypeOf:Lt}=St;clas
s Nt extends Tt{evaluate(...e){return
Lt(o(super.evaluate,this,e),xt.prototype)}}class kt extends
Mt{createExpression(...e){return
Lt(o(super.createExpression,this,e),Nt.prototype)}}function Ct(e)
{if(bt.hidden.has(e))return!1;!function(e){mt&&"function"==typeof
checkElement&&checkElement(e)}
(e),bt.hidden.add(e);let{style:t}=Pe(e),n=Pe(t,"CSSStyleDeclaration"),r=Pe([]),
{debugCSSProperties:o}=S;for(let[e,t]of o||
[["display","none"]])n.setProperty(e,t,"important"),r.push([e,n.getPropertyValue(e)
]);return new Et((()=>{for(let[e,t]of r){let
r=n.getPropertyValue(e),o=n.getPropertyPriority(e);r==t&&"important"==o||
n.setProperty(e,t,"important")}})).observe(e,{attributes:!0,attributeFilter:
["style"]}),!0}function $t(e){let t=e;if(t.startsWith("xpath(")&&t.endsWith(")"))
{let t=function(e){let t=e;if(t.startsWith("xpath(")&&t.endsWith(")")){let
e=t.slice(6,-1),n=(new
kt).createExpression(e,null),r=xt.ORDERED_NODE_SNAPSHOT_TYPE;return e=>{if(!
e)return;let t=n.evaluate(gt,r,null),{snapshotLength:o}=t;for(let n=0;n<o;n+
+)e(t.snapshotItem(n))}}return t=>jt(e).forEach(t)}(e);return()=>{let
e=Pe([]);return
t((t=>e.push(t))),e}}return()=>vt.from(jt(e))}let{ELEMENT_NODE:Wt,TEXT_NODE:At,prot
otype:Dt}=Node,{prototype:Ht}=Element,{prototype:Rt}=HTMLElement,
{console:zt,variables:It,DOMParser:Ft,Error:Jt,MutationObserver:Vt,Object:Bt,Refere
nceError:Ut}=Pe(window),{getOwnPropertyDescriptor:_t}=Bt;function Xt(e,t){return
We}Pe(window);const{Map:qt,MutationObserver:Gt,Object:Kt,Set:Yt,WeakSet:Zt}=Pe(wind
ow);let Qt=Element.prototype,{attachShadow:en}=Qt,tn=new Zt,nn=new
qt,rn=null;const{Error:on,JSON:sn,Map:an,Response:ln,Object:cn}=Pe(window);let
un=null;let{Error:fn,JSON:pn,Map:dn,Object:hn,Response:wn}=Pe(window),gn=null;let{E
rror:yn}=Pe(window);let{Error:mn,Map:bn,Object:vn,console:En}=Pe(window),
{toString:Sn}=Function.prototype,Mn=EventTarget.prototype,
{addEventListener:Tn}=Mn,xn=null;let On,{URL:jn,fetch:Pn}=Pe(window),
{delete:Ln,has:Nn}=l(URLSearchParams.prototype);const kn={"abort-current-inline-
script":function(e,t=null){const n=De("abort-current-inline-script"),r=t?
ze(t):null,o=Ie(),i=Pe(document).currentScript;let a=window;const
l=Pe(e).split("."),c=Pe(l).pop();for(let e of Pe(l))if(a=a[e],!a||"object"!=typeof
a&&"function"!=typeof a)return void n(l," is not
found");const{get:u,set:f}=ut.getOwnPropertyDescriptor(a,c)||{};let p=a[c];void
0===p&&n("The property",c,"doesn't exist yet. Check typos.");const d=()=>{const
e=Pe(document).currentScript;if(e instanceof
pt&&""==Pe(e,"HTMLScriptElement").src&&e!=i&&(!r||r.test(Pe(e).textContent)))throw
n(l," is aborted \n",e),new ft(o)};et(a,c,{get(){return d(),u?s(u,this):p},set(e)
{d(),f?s(f,this,e):p=e}}),tt(o)},"abort-on-iframe-property-read":function(...e)
{ot(e,!0,!1)},"abort-on-iframe-property-write":function(...e){ot(e,!1,!0)},"abort-
on-property-read":function(e,t){nt("abort-on-property-read",window,e,!
("false"===t))},"abort-on-property-write":function(e,t){rt("abort-on-property-
write",window,e,!("false"===t))},"cookie-remover":function(e,t=!1){if(!e)throw new
dt("[cookie-remover snippet]: No cookie to remove.");let n=De("cookie-
remover"),r=ze(e);if(!Pe(/^http|^about/).test(location.protocol))return void
n("Snippet only works for http or https and about.");function o(){return
Pe(wt()).split(";").filter((e=>r.test(Pe(e).split("=")[0])))}const
i=()=>{n("Parsing cookies for matches");for(const e of Pe(o())){let
t=Pe(location.hostname);!
t&&Pe(location.ancestorOrigins)&&Pe(location.ancestorOrigins[0])&&(t=new
ht(Pe(location.ancestorOrigins[0])).hostname);const r=Pe(e).split("=")
[0],o="expires=Thu, 01 Jan 1970 00:00:00 GMT",i="path=/",s=t.split(".");for(let
e=s.length;e>0;e--){const t=s.slice(s.length-e).join(".");wt(`${Pe(r).trim()}=;$
{o};${i};domain=${t}`),wt(`${Pe(r).trim()}=;${o};${i};domain=.${t}`),n(`Set
expiration date on ${r}`)}}};if(i(),t){let e=o();setInterval((()=>{let t=o();if(t!
==e)try{i()}finally{e=t}}),1e3)}},debug:function(){ke=!0},"freeze-
element":function(e,t="",...n){let r,i,a=!1,l=!1,c=Pe(n).filter((e=>!
h(e))),u=Pe(n).filter((e=>h(e))).map(ze),f=Ie(),p=$t(e);!function(){let
n=Pe(t).split("+");1===n.length&&""===n[0]&&(n=[]);for(let t of n)switch(t)
{case"subtree":a=!0;break;case"abort":l=!0;break;default:throw new Jt("[freeze]
Unknown option passed to the snippet. [selector]: "+e+" [option]: "+t)}}();let
d={selector:e,shouldAbort:l,rid:f,exceptionSelectors:c,regexExceptions:u,changeId:0
};function h(e){return e.length>=2&&"/"==e[0]&&"/"==e[e.length-1]}function w()
{i=p(),g(i,!1)}function g(e,t=!0){for(let n of e)It.frozen.has(n)||
(It.frozen.set(n,d),!t&&a&&new Vt((e=>{for(let t of
Pe(e))g(Pe(t,"MutationRecord").addedNodes)})).observe(n,{childList:!0,subtree:!
0}),a&&Pe(n).nodeType===Wt&&g(Pe(n).childNodes))}function y(e,...t){Ae(`[freeze][$
{e}] `,...t)}function m(e,t,n,r){let o=r.selector,i=r.changeId,s="string"==typeof
e,a=r.shouldAbort?"aborting":"watching";switch(zt.groupCollapsed(`[freeze][${i}] $
{a}: ${o}`),n)
{case"appendChild":case"append":case"prepend":case"insertBefore":case"replaceChild"
:case"insertAdjacentElement":case"insertAdjacentHTML":case"insertAdjacentText":case
"innerHTML":case"outerHTML":y(i,s?"text: ":"node: ",e),y(i,"added to node:
",t);break;case"replaceWith":case"after":case"before":y(i,s?"text: ":"node:
",e),y(i,"added to node:
",Pe(t).parentNode);break;case"textContent":case"innerText":case"nodeValue":y(i,"co
ntent of node: ",t),y(i,"changed to: ",e)}y(i,`using the function "$
{n}"`),zt.groupEnd(),r.changeId++}function b(e,t){if(t)for(let n of
t)if(n.test(e))return!0;return!1}function v(e){throw new Ut(e)}function E(e,t,n,r)
{let o=new
Ft,{body:i}=Pe(o.parseFromString(e,"text/html")),s=S(Pe(i).childNodes,t,n,r);return
Pe(s).map((e=>{switch(Pe(e).nodeType){case Wt:return Pe(e).outerHTML;case At:return
Pe(e).textContent;default:return""}})).join("")}function S(e,t,n,r){let
o=Pe([]);for(let i of e)M(i,t,n,r)&&o.push(i);return o}function M(e,t,n,r){let
o=r.shouldAbort,i=r.regexExceptions,s=r.exceptionSelectors,a=r.rid;if("string"==typ
eof e){let s=e;return!!b(s,i)||(Ce()&&m(s,t,n,r),o&&v(a),Ce())}let
l=e;switch(Pe(l).nodeType){case Wt:return!!function(e,t){if(t){let n=Pe(e);for(let
e of t)if(n.matches(e))return!0}return!1}(l,s)||(o&&(Ce()&&m(l,t,n,r),v(a)),!!
Ce()&&(Ct(l),m(l,t,n,r),!0));case At:return!!b(Pe(l).textContent,i)||
(Ce()&&m(l,t,n,r),o&&v(a),!1);default:return!0}}function T(e,t,n,r){let i=_t(e,t)||
{},a=i.get&&s(i.get,e)||i.value;if(a)return{get:()=>function(...e){if(n(this)){let
n=r(this);if(n){let r=e[0];if(!M(r,this,t,n))return r}}return
o(a,this,e)}}}function x(e,t,n,r){let i=_t(e,t)||{},a=i.get&&s(i.get,e)||
i.value;if(a)return{get:()=>function(...e){if(!n(this))return o(a,this,e);let
i=r(this);if(!i)return o(a,this,e);let s=S(e,this,t,i);return s.length>0?
o(a,this,s):void 0}}}function O(e,t,n,r){let i=_t(e,t)||{},a=i.get&&s(i.get,e)||
i.value;if(a)return{get:()=>function(...e)
{let[i,l]=e,c="afterbegin"===i||"beforeend"===i;if(n(this,c)){let e=r(this,c);if(e)
{let n,r=c?this:Pe(this).parentNode;switch(t){case"insertAdjacentElement":if(!
M(l,r,t,e))return l;break;case"insertAdjacentHTML":return n=E(l,r,t,e),n?
s(a,this,i,n):void 0;case"insertAdjacentText":if(!M(l,r,t,e))return}}}return
o(a,this,e)}}}function j(e,t,n,r){let o=_t(e,t)||{},{set:i}=o;if(i)return{set(e)
{if(!n(this))return s(i,this,e);let o=r(this);if(!o)return s(i,this,e);let
a=E(e,this,t,o);return a?s(i,this,a):void 0}}}function P(e,t,n,r){let o=_t(e,t)||
{},{set:i}=o;if(i)return{set(e){if(!n(this))return s(i,this,e);let o=r(this);return
o?M(e,this,t,o)?s(i,this,e):void 0:s(i,this,e)}}}It.frozen.has(document)||
(It.frozen.set(document,!0),function(){let e;function t(e){return
e&&It.frozen.has(e)}function n(e){try{return e&&(It.frozen.has(e)||
It.frozen.has(Pe(e).parentNode))}catch(e){return!1}}function r(e,t){try{return
e&&(It.frozen.has(e)&&t||It.frozen.has(Pe(e).parentNode)&&!t)}catch(e){return!
1}}function o(e){return It.frozen.get(e)}function i(e)
{try{if(It.frozen.has(e))return It.frozen.get(e);let t=Pe(e).parentNode;return
It.frozen.get(t)}catch(e){}}function s(e,t){try{if(It.frozen.has(e)&&t)return
It.frozen.get(e);let n=Pe(e).parentNode;return It.frozen.get(n)}catch(e)
{}}e=T(Dt,"appendChild",t,o),et(Dt,"appendChild",e),e=T(Dt,"insertBefore",t,o),et(D
t,"insertBefore",e),e=T(Dt,"replaceChild",t,o),et(Dt,"replaceChild",e),e=x(Ht,"appe
nd",t,o),et(Ht,"append",e),e=x(Ht,"prepend",t,o),et(Ht,"prepend",e),e=x(Ht,"replace
With",n,i),et(Ht,"replaceWith",e),e=x(Ht,"after",n,i),et(Ht,"after",e),e=x(Ht,"befo
re",n,i),et(Ht,"before",e),e=O(Ht,"insertAdjacentElement",r,s),et(Ht,"insertAdjacen
tElement",e),e=O(Ht,"insertAdjacentHTML",r,s),et(Ht,"insertAdjacentHTML",e),e=O(Ht,
"insertAdjacentText",r,s),et(Ht,"insertAdjacentText",e),e=j(Ht,"innerHTML",t,o),et(
Ht,"innerHTML",e),e=j(Ht,"outerHTML",n,i),et(Ht,"outerHTML",e),e=P(Dt,"textContent"
,t,o),et(Dt,"textContent",e),e=P(Rt,"innerText",t,o),et(Rt,"innerText",e),e=P(Dt,"n
odeValue",t,o),et(Dt,"nodeValue",e)}()),r=new Vt(w),r.observe(document,{childList:!
0,subtree:!0}),w()},"hide-if-shadow-contains":function(e,t="*"){let n=`${e}\\$
{t}`;nn.has(n)||nn.set(n,[ze(e),t,Xt()]);const r=De("hide-if-shadow-contain");rn||
(rn=new Gt((e=>{let t=new Yt;for(let{target:n}of Pe(e)){let
e=Pe(n).parentNode;for(;e;)[n,e]=[e,Pe(n).parentNode];if(!tn.has(n)&&!t.has(n))
{t.add(n);for(let[e,t,o]of nn.values())if(e.test(Pe(n).textContent)){let
e=Pe(n.host).closest(t);e&&(o(),Pe(n).appendChild(document.createElement("style")).
textContent=":host {display: none !important}",Ct(e),tn.add(n),r("Hiding: ",e," for
params: ",...arguments))}}}})),Kt.defineProperty(Qt,"attachShadow",{value:c(en,
(function(){let e=o(en,this,arguments);return r("attachShadow is called for:
",e),rn.observe(e,{childList:!0,characterData:!0,subtree:!0}),e}))}))},"json-
override":function(e,t,n="",r=""){if(!e)throw new on("[json-override snippet]:
Missing paths to override.");if(void 0===t)throw new on("[json-override snippet]:
No value to override with.");if(!un){let i=De("json-override");function s(e,t)
{for(let{prune:n,needle:r,filter:o,value:s}of un.values())if(!o||o.test(t))
{if(Pe(r).some((t=>!st(e,t))))return e;for(let t of n){let n=st(e,t);void 0!
==n&&(i(`Found ${t} replaced it with ${s}`),n[0][n[1]]=lt(s))}}return
e}let{parse:a}=sn;un=new an,cn.defineProperty(window.JSON,"parse",{value:c(a,
(function(e){let t=o(a,this,arguments);return s(t,e)}))}),i("Wrapped JSON.parse for
override");let{json:l}=ln.prototype;cn.defineProperty(window.Response.prototype,"js
on",{value:c(l,(function(e){let t=o(l,this,arguments);return
t.then((t=>s(t,e)))}))}),i("Wrapped Response.json for override")}un.set(e,
{prune:Pe(e).split(/ +/),needle:n.length?Pe(n).split(/ +/):[],filter:r?
ze(r):null,value:t})},"json-prune":function(e,t=""){if(!e)throw new fn("Missing
paths
to prune");if(!gn){let n=De("json-prune");function r(e)
{for(let{prune:t,needle:r}of gn.values()){if(Pe(r).some((t=>!st(e,t))))return
e;for(let r of t){let t=st(e,r);void 0!==t&&(n(`Found ${r} and deleted`),delete
t[0][t[1]])}}return e}let{parse:i}=pn;gn=new
dn,hn.defineProperty(window.JSON,"parse",{value:c(i,(function(){let
e=o(i,this,arguments);return r(e)}))}),n("Wrapped JSON.parse for
prune");let{json:s}=wn.prototype;hn.defineProperty(window.Response.prototype,"json"
,{value:c(s,(function(){let e=o(s,this,arguments);return
e.then((e=>r(e)))}))}),n("Wrapped Response.json for prune")}gn.set(e,
{prune:Pe(e).split(/ +/),needle:t.length?Pe(t).split(/ +/):[]})},"override-
property-read":function(e,t,n){if(!e)throw new yn("[override-property-read
snippet]: No property to override.");if(void 0===t)throw new yn("[override-
property-read snippet]: No value to override with.");let r=De("override-property-
read"),o=lt(t);r(`Overriding ${e}.`),et(window,e,{get:()=>(r(`${e} override
done.`),o),set(){}},!("false"===n))},"prevent-listener":function(e,t,n){if(!e)throw
new mn("[prevent-listener snippet]: No event type.");if(!xn){xn=new bn;let
e=De("[prevent]");vn.defineProperty(Mn,"addEventListener",{value:c(Tn,
(function(t,n){for(let{evt:r,handlers:o,selectors:i}of xn.values()){if(!
r.test(t))continue;let a=this instanceof Element;for(let l=0;l<o.length;l++){const
c=o[l],u=i[l];if(!u||a&&Pe(this).matches(u)){if(c){const t=function(){try{const
e=String("function"==typeof n?n:n.handleEvent);return c.test(e)}catch(t){return
e("Error while trying to stringify listener: ",t),!1}};if(!function(){try{const
e=s(Sn,"function"==typeof n?n:n.handleEvent);return c.test(e)}catch(t){return
e("Error while trying to stringify listener: ",t),!1}}()&&!t())continue}return
void(Ce()&&(En.groupCollapsed("DEBUG [prevent] was successful"),e(`type: ${t}
matching ${r}`),e("handler:",n),c&&e(`matching ${c}`),u&&e("on element: ",this,`
matching ${u}`),e("was prevented from being added"),En.groupEnd()))}}}return
o(Tn,this,arguments)}))}),e("Wrapped addEventListener")}xn.has(e)||xn.set(e,
{evt:ze(e),handlers:[],selectors:
[]});let{handlers:r,selectors:i}=xn.get(e);r.push(t?ze(t):null),i.push(n)},"strip-
fetch-query-parameter":function(e,t=null){const n=De("strip-fetch-query-
parameter");On||(On=new Map,window.fetch=c(Pn,
((...e)=>{let[t]=e;if("string"==typeof t){let r=new jn(t);for(let[o,i]of On)i&&!
i.test(t)||Nn(r.searchParams,o)&&(n(`${o} has been stripped from url $
{t}`),Ln(r.searchParams,o),e[0]=r.href)}return
o(Pn,self,e)}))),On.set(e,t&&ze(t))},trace:function(...e){o(Ae,null,e)}};
const snippets=kn;
let context;
for (const [name, ...args] of filters) {
if (snippets.hasOwnProperty(name)) {
try { context = snippets[name].apply(context, args); }
catch (error) { console.error(error); }
}
}
context = void 0;
};
const graph = new Map([["abort-current-inline-script",null],["abort-on-iframe-
property-read",null],["abort-on-iframe-property-write",null],["abort-on-property-
read",null],["abort-on-property-write",null],["cookie-remover",null],
["debug",null],["freeze-element",null],["hide-if-shadow-contains",null],["json-
override",null],["json-prune",null],["override-property-read",null],["prevent-
listener",null],["strip-fetch-query-parameter",null],["trace",null]]);
callback.get = snippet => graph.get(snippet);
callback.has = snippet => graph.has(snippet);

if (t.every(([name]) => !callback.has(name))) return;


const append = () => {
URL.revokeObjectURL(
Object.assign(
document.documentElement.appendChild(document.createElement("script")),
{async: false, src: URL.createObjectURL(new Blob([
"(" + callback + ")(..." + JSON.stringify([e, ...t]) + ")"
]))}
).src
);
};
try { append(); }
catch (_) {
document.addEventListener("readystatechange", append, {once:true});
}
}

You might also like