This commit is contained in:
SukkaBot
2023-12-19 14:59:27 +00:00
parent 399ac39a20
commit 89958bd640
8 changed files with 843 additions and 474 deletions

View File

@@ -1,7 +1,7 @@
#########################################
# Sukka's Ruleset - Reject Base
# Last Updated: 2023-12-19T14:55:43.349Z
# Size: 276803
# Last Updated: 2023-12-19T14:59:20.381Z
# Size: 276777
# License: AGPL 3.0
# Homepage: https://ruleset.skk.moe
# GitHub: https://github.com/SukkaW/Surge
@@ -17175,7 +17175,6 @@ ecmc.bdimg.com
+.bnbae.com
+.bngpt.com
+.bnlif.com
+.bnmkl.com
+.ad.bnmla.com
+.edge.bnmla.com
+.bnq.quest
@@ -70471,7 +70470,6 @@ analytics.spotify.com
+.strpjmp.com
+.strtgic.com
+.deliver830-inpomts.structs.sbs
+.strwaoz.xyz
+.info.stryker.com
+.telemetry.stryker.com
+.mobileapps.stryker.com
@@ -78996,7 +78994,6 @@ ae.bdstatic.com
+.bgdsk-bg.com
+.bghomedk.com
+.bhapreds.com
+.bhnhejwj.com
+.bhootlab.com
+.bhosadwa.com
+.bhtcjurm.com
@@ -91192,7 +91189,6 @@ nitrokod.com
+.oaxpcohp.com
+.oazartie.com
+.oazoorse.com
+.obanmafn.com
+.obdoboli.xyz
+.ot.obi-brico.ch
+.smetrics.obirin.ac.jp
@@ -100021,7 +100017,6 @@ ads.reader.yueyouxs.com
+.go.zkipster.com
+.zlacraft.com
+.zlapspeca.pl
+.zlbvewof.com
+.zlpolska.xyz
+.data-9b57e703d3.zm-online.de
+.sm-rtb-useast.zmdvideo.com
@@ -102209,7 +102204,6 @@ adx.appsdk.com.cn
+.metrics.armstrong.com
+.armsvrip.site
+.armurecsd.com
+.army.delivery
+.link.armytimes.com
+.srepdata.armytimes.com
+.ilc.armzolot.site
@@ -102223,7 +102217,6 @@ adx.appsdk.com.cn
+.arongroups.co
+.arousalxr.com
+.arquivaae.com
+.arragouts.com
+.arriedand.xyz
+.arrnaught.com
+.email.arroyoins.com
@@ -132168,7 +132161,7 @@ evilsbedont.de
+.f19013235f.com
+.f1ery6t.online
+.ed5183bc15.f22440fb7b.com
+.f28bb1a86f.com
+.dd148b0fb2.f28bb1a86f.com
+.f28fda58c5.com
+.f2bdeb5c8c.com
+.f2fc0fce65.com
@@ -132617,7 +132610,6 @@ evilsbedont.de
+.fireupload.org
+.email.fireworkhq.com
+.my.firmafx.com.au
+.firmsossa.guru
+.promociones.firmushomes.es
+.first-rate.com
+.firstborn.info
@@ -133092,7 +133084,6 @@ evilsbedont.de
+.fykdxpdnhy.com
+.fymagazine.com
+.fzbjzlwcnd.com
+.fzfcrqlwph.com
+.g-onehotel.com
+.g1188506010.co
+.g1584674682.co
@@ -138598,7 +138589,6 @@ www.mmnetwork.mobi
+.naessships.com
+.nafamovies.com
+.naflqml.gov.np
+.naforeshow.org
+.naftnews.space
+.nafttech.space
+.nagaslot65.com
@@ -153715,7 +153705,6 @@ grs.dbankcloud.asia
+.email.flirtseason.com
+.email.mgm.flirtycupid.com
+.flixfacts.co.uk
+.flnxcveswar.com
+.go.flocabulary.com
+.email.mail.flocksafety.com
+.email.gh-mail.flocksafety.com
@@ -160391,7 +160380,6 @@ px.cdn.creative.medialytics.com
+.pro.ouest-france.fr
+.go.labonneadresse.ouest-france.fr
+.ougnagirock.com
+.ouldhukelpm.org
+.ouneaciand.site
+.ounojushyxb.xyz
+.ourbalihome.com
@@ -173133,7 +173121,6 @@ a.dounanhuahui.com
+.eprisetipenge.tk
+.eputysolomon.com
+.info.epworthvilla.org
+.eqktmnuojibw.com
+.bison.equals.community
+.equatorabash.com
+.equilibre-tv.org
@@ -183240,7 +183227,6 @@ panger-top.click
+.qiqdpeovkobj.com
+.qizjkwx9klim.com
+.qkyliljavzci.com
+.qlmwgibhbhar.com
+.qmaacxajsovk.com
+.qnlranvabaqk.top
+.qnlranvabrnq.top
@@ -183319,7 +183305,6 @@ panger-top.click
+.qwmdblogpro.site
+.qwmdnlzitsys.com
+.qzkjkiexmsyv.com
+.qzyllgqficyd.com
+.tokuho.r-staffing.co.jp
+.r023m83skv5v.com
+.advert.rabaldermedia.se
@@ -186425,7 +186410,6 @@ adclick.tencentmusic.com
+.wd.towmonterses.com
+.townlife-aff.com
+.toxicfluency.com
+.toyjofkkcdyr.com
+.toyosbullpen.com
+.tp1jcgl644jk.com
+.tpopularcldfa.co
@@ -196441,7 +196425,6 @@ mail.ghmproperties.com
+.lmjwqbjmkrzyw.top
+.lncfuqbgpnmxm.xyz
+.lng-polska.online
+.lnjmaymlmnkyn.top
+.lnkyqvkyznkvz.top
+.lnp0s-38147.space
+.lnpostwebpage.xyz
@@ -196609,7 +196592,6 @@ mail.ghmproperties.com
+.luxuryandzone.com
+.luzulabeguile.com
+.lvntekpejrmtb.com
+.lvwuuehkvitwn.com
+.email.mg.lwteamlearning.co
+.lxmodemoodeyy.com
+.lyceebrequigny.fr
@@ -205109,7 +205091,6 @@ api-ads.tiantianqutao.com
+.xnszbmnxuzfvr.com
+.www.xoayco5of.digital
+.xoemvfgjhpwea.com
+.xonyxdpnelhzi.com
+.xorexkorentut.com
+.xoslan-invest.pro
+.xox-exe.github.io
@@ -205167,7 +205148,6 @@ api-ads.tiantianqutao.com
+.yieldsoftware.com
+.yike20230306.live
+.ylzkfpzqffqon.com
+.ynaapihbulbky.com
+.yneationsliee.xyz
+.ynuyvhkxpqqnr.com
+.yocopayme.web.app
@@ -209280,7 +209260,6 @@ dark-utilities.xyz
+.everyweekforum.xyz
+.offers.everywherehero.com
+.go.evidenceaction.org
+.evifokcrmhdmai.com
+.evitinghabnab.guru
+.evkakuri2308.click
+.evolutionese.space
@@ -218167,7 +218146,6 @@ trusteverything.de
+.t.ucirvinesports.com
+.app.ucirvinesports.com
+.www.ucobpolskashop.com
+.ucqbhkrzsqpqmg.com
+.ipost.udacsiedo39174.top
+.udacsiedo45821.xyz
+.udacsiedo68174.xyz
@@ -219167,7 +219145,6 @@ trusteverything.de
+.yawpingdepaint.com
+.ybyrudhdnrxcbe.com
+.ycywhmyiixjafa.com
+.ydbmeagwyakdfl.com
+.ydqkorympskhbc.com
+.yefzjingxudwib.com
+.yellow-ribbons.com
@@ -238594,7 +238571,6 @@ spyneteurope.microsoft.akadns.net
+.smolik-autohandel.pl
+.smoothie-smoothie.jp
+.smotherpaperwork.com
+.smoulderhangnail.com
+.smuggleturnstile.com
+.smxperfectorders.com
+.sn-americaonline.com
@@ -264716,7 +264692,6 @@ xn--xhq9mt12cf5v.website
+.creptdeservedprofanity.com
+.cresfpho2ntesepapillo3.com
+.crisistuesdayartillery.com
+.criticaltriggerweather.com
+.criticisedduennaships.info
+.crowdfundmillionaire.co.uk
+.crtscpewxi.firebaseapp.com
@@ -267114,7 +267089,6 @@ api-access.pangolin-sdk-toutiao-b.com
+.homepl-serwer3736859.online
+.email.hondaautopartswarehouse.com
+.email.delivery.hondaoftheavenuesoffers.com
+.hopperimprobableclotted.com
+.horizontallyclenchretro.com
+.host-brown-delta.vercel.app
+.hotelofficeewn.blogspot.com

View File

@@ -1,7 +1,7 @@
#########################################
# Sukka's Ruleset - Speedtest Domains
# Last Updated: 2023-12-19T14:55:48.850Z
# Size: 873
# Last Updated: 2023-12-19T14:59:25.534Z
# Size: 876
# License: AGPL 3.0
# Homepage: https://ruleset.skk.moe
# GitHub: https://github.com/SukkaW/Surge
@@ -13,7 +13,6 @@ speedtest1.mk.de
speedtest1.sc.189.cn
speedtest-sg.cbn.id
st.mow.gin.ru
speedtest.hep.gg
speedtest.kko.me
speedtest-cbr.cdn.on.net
+.speed.pfm.gg
@@ -30,13 +29,13 @@ speedtest.asvt.ru
speed.data.cr
speedtest.ddps.jp
ookla-speedtest.fsr.com
speedtest.hay.net
+.speedtest.i3d.net
speedtest.link.bm
speed.uk.lon.m247.ro
ookla.max.srl
nl-ams-gbs-mtn-speedtest-server-01.mtn.com
uk-lon-tcy-mtn-speedtest-server-01.mtn.com
speedtest.nrbn.ca
lax01-b.ookla.rcp.net
speedtest.rit.edu
speedtest.ropa.de
@@ -54,6 +53,7 @@ speedtest.ct.co.cr
speedtest3.dacor.de
speedtest.dcs1.biz
uw1a.ookla-speedtests.e2ro.com
speedtest01.ehtel.ca
speedtest-dc08.enzu.com
+.fast.com
speedtest.nik.fiber.nl
@@ -61,6 +61,7 @@ speedtest12.hkbn.net
speedtest1c.hkix.net
st1.htva.net
speedtest.inoc.net
40gspeedtest.mnsi.net
clg-105-sptest.ncri.com
speedtest.nwic.com
snjscarc-speed01.nwrd.net
@@ -105,6 +106,7 @@ speedtest.mel.mhn.cloud
speedtest.syd.mhn.cloud
speedtest.mosnet.ru
speedtest.newsxs.nl
sp1.ni.net.tr
speedtest2.niutk.com
sanjoseiturbide.openti.mx
+.speedtest.orange.fr
@@ -170,7 +172,6 @@ speedtest.maryno.net
speedtest-stf.megafon.ru
+.speed.misaka.one
speedtest.mosline.ru
teste.mov.pro.br
speedtest.myarena.ru
speedtest.netrack.ru
mirror.nforce.com
@@ -183,7 +184,6 @@ aydinspeedtest.posive.net
bursaspeedtest.posive.net
duzcespeedtest.posive.net
izmirspeedtest.posive.net
muglaspeedtest.posive.net
edirnespeedtest.posive.net
manisaspeedtest.posive.net
bilecikspeedtest.posive.net
@@ -193,46 +193,48 @@ sakaryaspeedtest.posive.net
istanbulspeedtest.posive.net
balikesirspeedtest.posive.net
canakkalespeedtest.posive.net
kastamonuspeedtest.posive.net
kirklarelispeedtest.posive.net
speedtest-de.pq.hosting
speedtest-ru.pq.hosting
speedtest.quadro.net
speedtest2.rhitcr.com
stajax.rogers.com
stguelph.rogers.com
stlondon.rogers.com
stmilton.rogers.com
stoshawa.rogers.com
sttoronto.rogers.com
stvaughan.rogers.com
stbrampton.rogers.com
sthamilton.rogers.com
stkingcity.rogers.com
stoakville.rogers.com
ststthomas.rogers.com
stwaterloo.rogers.com
stbrantford.rogers.com
stetobicoke.rogers.com
stkitchener.rogers.com
stnorthyork.rogers.com
stpickering.rogers.com
ststratford.rogers.com
stwoodstock.rogers.com
stbowmanville.rogers.com
stmississauga.rogers.com
stscarborough.rogers.com
storangeville.rogers.com
stguelphwireless.rogers.com
stlondonwireless.rogers.com
stmiltonwireless.rogers.com
stoshawawireless.rogers.com
stsarniawireless.rogers.com
stchathamwireless.rogers.com
sttorontowireless.rogers.com
stwindsorwireless.rogers.com
sthamiltonwireless.rogers.com
ststthomaswireless.rogers.com
stbrantfordwireless.rogers.com
stkitchenerwireless.rogers.com
stnorthyorkwireless.rogers.com
ststratfordwireless.rogers.com
stwoodstockwireless.rogers.com
stgeorgetownwireless.rogers.com
stleamingtonwireless.rogers.com
stbowmanvillewireless.rogers.com
stmississaugawireless.rogers.com
ststcatharineswireless.rogers.com
storangevillewireless.rogers.com
stsaultstemariewireless.rogers.com
stwellandpelhamwireless.rogers.com
dalspeedtest.rtatel.com
speedtest-server-lax.starry.com
@@ -279,7 +281,6 @@ speedtest.fios.net.br
iperf.gakijken.nl
london.speedtest.highnet.com
speedtest.host.com.tw
teste.i9va.net.br
speedtest1.indosat.com
sp1.jump.net.uk
ct-speed.kbro.com.tw
@@ -350,6 +351,7 @@ de-bln2-ookla-01.wemacom.net
de-ffm1-ookla-01.wemacom.net
speedtest.westcall.ru
speedtest.wifi.net.tr
sp1.wightman.ca
speed1.wirsnet.com
speedtest01.wowrack.com
speedtest.lax01.xfernet.net
@@ -386,8 +388,8 @@ sv-ookla.geolinks.com
sjdm-speedtest.globe.com.ph
speed.golddata.net
speedtest.helpmert.com
speedtest.idnet.net.br
speedtest.syd.infininet.au
velocimetrostm.interlig.net
speedtest.ixirhost.com
speedtest.eu.kamatera.com
speedtest.eu-lo.kamatera.com
@@ -458,21 +460,18 @@ speedtest.jbarbieri.net
kadoshspeed.kadoshnet.com
speedtest16.lintas.net.id
sptest2.mgts-spdop.ru
speedtest.mornington.ca
speedtest-sg.napinfo.co.id
stajax.netcrawler.ca
stguelph.netcrawler.ca
stlondon.netcrawler.ca
stoshawa.netcrawler.ca
stwhitby.netcrawler.ca
speedtest.netcrawler.ca
stvaughan.netcrawler.ca
stbrampton.netcrawler.ca
sthamilton.netcrawler.ca
stkingcity.netcrawler.ca
stwaterloo.netcrawler.ca
stetobicoke.netcrawler.ca
stnorthyork.netcrawler.ca
stpickering.netcrawler.ca
stbowmanville.netcrawler.ca
stmississauga.netcrawler.ca
stscarborough.netcrawler.ca
netgearsj.com
speedtest.netgeartec.tk
speedtest-syr.northland.net
@@ -481,12 +480,15 @@ speedtest.us.openinfra.com
speedgauge2.optonline.net
speedtest-lax.perfectip.net
speedtest.plexicomm.net
stna.pplink.net.br
testemani.pplink.net.br
speedtestde.pvdatanet.com
speedtestus.pvdatanet.com
speedtest.ramtek.net.tr
speedtest1.net.rochester.edu
+.speedtest.sbcglobal.net
speedtest.scotnet.co.uk
speed.sdmnet.com.br
speedtest.seaside.ns.ca
ookla.la.ca.sharktech.net
speedtest.ams.sharktech.net
@@ -505,6 +507,7 @@ speed-test.ukservers.com
speedtest-lon.veloxserv.net
velocimetro-mns.virtua.com.br
speed-test.westelcom.com
speedtest.brooketel.coop
speedtest.citytelecom.ru
lon-hex-speedtest.cloudconnx.net
+.speed.cloudflare.com
@@ -549,10 +552,13 @@ speedtest.lax.hivelocity.net
speedtest.mia.hivelocity.net
speedtest.nyc.hivelocity.net
speedtest-la.hostsailor.com
speedtest1.hurontel.on.ca
speedtest2.hurontel.on.ca
speedlon.hyperoptic.com
speedtest-sg.iconpln.net.id
speedtest.intlink.com.br
speedtest.ip-projects.de
ts.ipernet.net.br
speedtest.jvswifi.com.br
speedtest-hob.launtel.net.au
speedtest-bris.launtel.net.au
@@ -560,7 +566,6 @@ speedtest-lton.launtel.net.au
speedtest.mel01.launtel.net.au
speedtest.syd01.launtel.net.au
+.speedtest.leaptel.com.au
speedtest.localhosts.ltd
speedtest.meerfarbig.net
sig-speedtest.moratelindo.io
f1.netfast.com.br
@@ -571,7 +576,6 @@ speednld.phoenixnap.com
speedsin.phoenixnap.com
speedtest.pilotfiber.com
speedtest.redactus.co.uk
speedtest.redewsp.com.br
speedtest.sewan-group.de
speedtest.singnet.com.sg
speedtest.solutechzk.com
@@ -628,6 +632,7 @@ speed.lodosnet.com.tr
speedtest.lodosnet.com.tr
sp1.logicpro.com.br
speed.mpvnetworks.com
speedtest.omegasul.com.br
+.ooklaserver.net
speedtest-adl.optusnet.com.au
speedtest-bla.optusnet.com.au
@@ -647,7 +652,6 @@ speed.lax-1.serverforge.org
speed1.yyz-1.serverforge.org
ookla.uk.eu.smoketunnel.com
speedtest.softether.co.jp
test.speednet.net.tr
speedtest.springfibre.com
speedtest-ndb1.tasmanet.com.au
speedtest-ndm1.tasmanet.com.au
@@ -779,8 +783,6 @@ sp1.fiberlinkce.com.br
sy5.test.gslnetworks.com.au
me1.speedtest.gslnetworks.com.au
speedtest.internetbolaget.nu
speedtest.isppapagaio.com.br
speedtest.koycegiznet.com.tr
speedtest.newberlinfiber.net
ookla.ddnsgeek.com
bne-speed.overthewire.com.au
@@ -792,6 +794,7 @@ ooklatins.redeconexaonet.com
speedtest.redrawinternet.com
velocidade.softtelecom.net.br
+.speedtestkorea.com
speedtest.systemlifeline.com
ber.wsqm.telekom-dienste.de
ffm.wsqm.telekom-dienste.de
speedtest.trenchnetworks.com
@@ -818,6 +821,7 @@ st-izmir-1.turksatkablo.com.tr
st-atakoy-1.turksatkablo.com.tr
st-manisa-1.turksatkablo.com.tr
st-yalova-1.turksatkablo.com.tr
st-denizli-1.turksatkablo.com.tr
st-tekirdag-1.turksatkablo.com.tr
st-balikesir-1.turksatkablo.com.tr
st-eskisehir-1.turksatkablo.com.tr
@@ -874,7 +878,6 @@ speedtest-tesa.coelhotecnologia.com.br
speedtest.mirror.serversaustralia.com.au
teste.mundialnettelecom.com.br
speedtest.redefinitytelecom.com.br
speedtestspeednet.com.br
aragonnetspeedtest.com.br
test.infoconnecttelecom.com.br
servidor.nuevanetbandalarga.com.br

View File

@@ -1,7 +1,7 @@
#########################################
# Sukka's Ruleset - Reject Base
# Last Updated: 2023-12-19T14:55:43.349Z
# Size: 276803
# Last Updated: 2023-12-19T14:59:20.381Z
# Size: 276777
# License: AGPL 3.0
# Homepage: https://ruleset.skk.moe
# GitHub: https://github.com/SukkaW/Surge
@@ -17175,7 +17175,6 @@ ecmc.bdimg.com
.bnbae.com
.bngpt.com
.bnlif.com
.bnmkl.com
.ad.bnmla.com
.edge.bnmla.com
.bnq.quest
@@ -70471,7 +70470,6 @@ analytics.spotify.com
.strpjmp.com
.strtgic.com
.deliver830-inpomts.structs.sbs
.strwaoz.xyz
.info.stryker.com
.telemetry.stryker.com
.mobileapps.stryker.com
@@ -78996,7 +78994,6 @@ ae.bdstatic.com
.bgdsk-bg.com
.bghomedk.com
.bhapreds.com
.bhnhejwj.com
.bhootlab.com
.bhosadwa.com
.bhtcjurm.com
@@ -91192,7 +91189,6 @@ nitrokod.com
.oaxpcohp.com
.oazartie.com
.oazoorse.com
.obanmafn.com
.obdoboli.xyz
.ot.obi-brico.ch
.smetrics.obirin.ac.jp
@@ -100021,7 +100017,6 @@ ads.reader.yueyouxs.com
.go.zkipster.com
.zlacraft.com
.zlapspeca.pl
.zlbvewof.com
.zlpolska.xyz
.data-9b57e703d3.zm-online.de
.sm-rtb-useast.zmdvideo.com
@@ -102209,7 +102204,6 @@ adx.appsdk.com.cn
.metrics.armstrong.com
.armsvrip.site
.armurecsd.com
.army.delivery
.link.armytimes.com
.srepdata.armytimes.com
.ilc.armzolot.site
@@ -102223,7 +102217,6 @@ adx.appsdk.com.cn
.arongroups.co
.arousalxr.com
.arquivaae.com
.arragouts.com
.arriedand.xyz
.arrnaught.com
.email.arroyoins.com
@@ -132168,7 +132161,7 @@ evilsbedont.de
.f19013235f.com
.f1ery6t.online
.ed5183bc15.f22440fb7b.com
.f28bb1a86f.com
.dd148b0fb2.f28bb1a86f.com
.f28fda58c5.com
.f2bdeb5c8c.com
.f2fc0fce65.com
@@ -132617,7 +132610,6 @@ evilsbedont.de
.fireupload.org
.email.fireworkhq.com
.my.firmafx.com.au
.firmsossa.guru
.promociones.firmushomes.es
.first-rate.com
.firstborn.info
@@ -133092,7 +133084,6 @@ evilsbedont.de
.fykdxpdnhy.com
.fymagazine.com
.fzbjzlwcnd.com
.fzfcrqlwph.com
.g-onehotel.com
.g1188506010.co
.g1584674682.co
@@ -138598,7 +138589,6 @@ www.mmnetwork.mobi
.naessships.com
.nafamovies.com
.naflqml.gov.np
.naforeshow.org
.naftnews.space
.nafttech.space
.nagaslot65.com
@@ -153715,7 +153705,6 @@ grs.dbankcloud.asia
.email.flirtseason.com
.email.mgm.flirtycupid.com
.flixfacts.co.uk
.flnxcveswar.com
.go.flocabulary.com
.email.mail.flocksafety.com
.email.gh-mail.flocksafety.com
@@ -160391,7 +160380,6 @@ px.cdn.creative.medialytics.com
.pro.ouest-france.fr
.go.labonneadresse.ouest-france.fr
.ougnagirock.com
.ouldhukelpm.org
.ouneaciand.site
.ounojushyxb.xyz
.ourbalihome.com
@@ -173133,7 +173121,6 @@ a.dounanhuahui.com
.eprisetipenge.tk
.eputysolomon.com
.info.epworthvilla.org
.eqktmnuojibw.com
.bison.equals.community
.equatorabash.com
.equilibre-tv.org
@@ -183240,7 +183227,6 @@ panger-top.click
.qiqdpeovkobj.com
.qizjkwx9klim.com
.qkyliljavzci.com
.qlmwgibhbhar.com
.qmaacxajsovk.com
.qnlranvabaqk.top
.qnlranvabrnq.top
@@ -183319,7 +183305,6 @@ panger-top.click
.qwmdblogpro.site
.qwmdnlzitsys.com
.qzkjkiexmsyv.com
.qzyllgqficyd.com
.tokuho.r-staffing.co.jp
.r023m83skv5v.com
.advert.rabaldermedia.se
@@ -186425,7 +186410,6 @@ adclick.tencentmusic.com
.wd.towmonterses.com
.townlife-aff.com
.toxicfluency.com
.toyjofkkcdyr.com
.toyosbullpen.com
.tp1jcgl644jk.com
.tpopularcldfa.co
@@ -196441,7 +196425,6 @@ mail.ghmproperties.com
.lmjwqbjmkrzyw.top
.lncfuqbgpnmxm.xyz
.lng-polska.online
.lnjmaymlmnkyn.top
.lnkyqvkyznkvz.top
.lnp0s-38147.space
.lnpostwebpage.xyz
@@ -196609,7 +196592,6 @@ mail.ghmproperties.com
.luxuryandzone.com
.luzulabeguile.com
.lvntekpejrmtb.com
.lvwuuehkvitwn.com
.email.mg.lwteamlearning.co
.lxmodemoodeyy.com
.lyceebrequigny.fr
@@ -205109,7 +205091,6 @@ api-ads.tiantianqutao.com
.xnszbmnxuzfvr.com
.www.xoayco5of.digital
.xoemvfgjhpwea.com
.xonyxdpnelhzi.com
.xorexkorentut.com
.xoslan-invest.pro
.xox-exe.github.io
@@ -205167,7 +205148,6 @@ api-ads.tiantianqutao.com
.yieldsoftware.com
.yike20230306.live
.ylzkfpzqffqon.com
.ynaapihbulbky.com
.yneationsliee.xyz
.ynuyvhkxpqqnr.com
.yocopayme.web.app
@@ -209280,7 +209260,6 @@ dark-utilities.xyz
.everyweekforum.xyz
.offers.everywherehero.com
.go.evidenceaction.org
.evifokcrmhdmai.com
.evitinghabnab.guru
.evkakuri2308.click
.evolutionese.space
@@ -218167,7 +218146,6 @@ trusteverything.de
.t.ucirvinesports.com
.app.ucirvinesports.com
.www.ucobpolskashop.com
.ucqbhkrzsqpqmg.com
.ipost.udacsiedo39174.top
.udacsiedo45821.xyz
.udacsiedo68174.xyz
@@ -219167,7 +219145,6 @@ trusteverything.de
.yawpingdepaint.com
.ybyrudhdnrxcbe.com
.ycywhmyiixjafa.com
.ydbmeagwyakdfl.com
.ydqkorympskhbc.com
.yefzjingxudwib.com
.yellow-ribbons.com
@@ -238594,7 +238571,6 @@ spyneteurope.microsoft.akadns.net
.smolik-autohandel.pl
.smoothie-smoothie.jp
.smotherpaperwork.com
.smoulderhangnail.com
.smuggleturnstile.com
.smxperfectorders.com
.sn-americaonline.com
@@ -264716,7 +264692,6 @@ xn--xhq9mt12cf5v.website
.creptdeservedprofanity.com
.cresfpho2ntesepapillo3.com
.crisistuesdayartillery.com
.criticaltriggerweather.com
.criticisedduennaships.info
.crowdfundmillionaire.co.uk
.crtscpewxi.firebaseapp.com
@@ -267114,7 +267089,6 @@ api-access.pangolin-sdk-toutiao-b.com
.homepl-serwer3736859.online
.email.hondaautopartswarehouse.com
.email.delivery.hondaoftheavenuesoffers.com
.hopperimprobableclotted.com
.horizontallyclenchretro.com
.host-brown-delta.vercel.app
.hotelofficeewn.blogspot.com

View File

@@ -1,7 +1,7 @@
#########################################
# Sukka's Ruleset - Speedtest Domains
# Last Updated: 2023-12-19T14:55:48.850Z
# Size: 873
# Last Updated: 2023-12-19T14:59:25.534Z
# Size: 876
# License: AGPL 3.0
# Homepage: https://ruleset.skk.moe
# GitHub: https://github.com/SukkaW/Surge
@@ -13,7 +13,6 @@ speedtest1.mk.de
speedtest1.sc.189.cn
speedtest-sg.cbn.id
st.mow.gin.ru
speedtest.hep.gg
speedtest.kko.me
speedtest-cbr.cdn.on.net
.speed.pfm.gg
@@ -30,13 +29,13 @@ speedtest.asvt.ru
speed.data.cr
speedtest.ddps.jp
ookla-speedtest.fsr.com
speedtest.hay.net
.speedtest.i3d.net
speedtest.link.bm
speed.uk.lon.m247.ro
ookla.max.srl
nl-ams-gbs-mtn-speedtest-server-01.mtn.com
uk-lon-tcy-mtn-speedtest-server-01.mtn.com
speedtest.nrbn.ca
lax01-b.ookla.rcp.net
speedtest.rit.edu
speedtest.ropa.de
@@ -54,6 +53,7 @@ speedtest.ct.co.cr
speedtest3.dacor.de
speedtest.dcs1.biz
uw1a.ookla-speedtests.e2ro.com
speedtest01.ehtel.ca
speedtest-dc08.enzu.com
.fast.com
speedtest.nik.fiber.nl
@@ -61,6 +61,7 @@ speedtest12.hkbn.net
speedtest1c.hkix.net
st1.htva.net
speedtest.inoc.net
40gspeedtest.mnsi.net
clg-105-sptest.ncri.com
speedtest.nwic.com
snjscarc-speed01.nwrd.net
@@ -105,6 +106,7 @@ speedtest.mel.mhn.cloud
speedtest.syd.mhn.cloud
speedtest.mosnet.ru
speedtest.newsxs.nl
sp1.ni.net.tr
speedtest2.niutk.com
sanjoseiturbide.openti.mx
.speedtest.orange.fr
@@ -170,7 +172,6 @@ speedtest.maryno.net
speedtest-stf.megafon.ru
.speed.misaka.one
speedtest.mosline.ru
teste.mov.pro.br
speedtest.myarena.ru
speedtest.netrack.ru
mirror.nforce.com
@@ -183,7 +184,6 @@ aydinspeedtest.posive.net
bursaspeedtest.posive.net
duzcespeedtest.posive.net
izmirspeedtest.posive.net
muglaspeedtest.posive.net
edirnespeedtest.posive.net
manisaspeedtest.posive.net
bilecikspeedtest.posive.net
@@ -193,46 +193,48 @@ sakaryaspeedtest.posive.net
istanbulspeedtest.posive.net
balikesirspeedtest.posive.net
canakkalespeedtest.posive.net
kastamonuspeedtest.posive.net
kirklarelispeedtest.posive.net
speedtest-de.pq.hosting
speedtest-ru.pq.hosting
speedtest.quadro.net
speedtest2.rhitcr.com
stajax.rogers.com
stguelph.rogers.com
stlondon.rogers.com
stmilton.rogers.com
stoshawa.rogers.com
sttoronto.rogers.com
stvaughan.rogers.com
stbrampton.rogers.com
sthamilton.rogers.com
stkingcity.rogers.com
stoakville.rogers.com
ststthomas.rogers.com
stwaterloo.rogers.com
stbrantford.rogers.com
stetobicoke.rogers.com
stkitchener.rogers.com
stnorthyork.rogers.com
stpickering.rogers.com
ststratford.rogers.com
stwoodstock.rogers.com
stbowmanville.rogers.com
stmississauga.rogers.com
stscarborough.rogers.com
storangeville.rogers.com
stguelphwireless.rogers.com
stlondonwireless.rogers.com
stmiltonwireless.rogers.com
stoshawawireless.rogers.com
stsarniawireless.rogers.com
stchathamwireless.rogers.com
sttorontowireless.rogers.com
stwindsorwireless.rogers.com
sthamiltonwireless.rogers.com
ststthomaswireless.rogers.com
stbrantfordwireless.rogers.com
stkitchenerwireless.rogers.com
stnorthyorkwireless.rogers.com
ststratfordwireless.rogers.com
stwoodstockwireless.rogers.com
stgeorgetownwireless.rogers.com
stleamingtonwireless.rogers.com
stbowmanvillewireless.rogers.com
stmississaugawireless.rogers.com
ststcatharineswireless.rogers.com
storangevillewireless.rogers.com
stsaultstemariewireless.rogers.com
stwellandpelhamwireless.rogers.com
dalspeedtest.rtatel.com
speedtest-server-lax.starry.com
@@ -279,7 +281,6 @@ speedtest.fios.net.br
iperf.gakijken.nl
london.speedtest.highnet.com
speedtest.host.com.tw
teste.i9va.net.br
speedtest1.indosat.com
sp1.jump.net.uk
ct-speed.kbro.com.tw
@@ -350,6 +351,7 @@ de-bln2-ookla-01.wemacom.net
de-ffm1-ookla-01.wemacom.net
speedtest.westcall.ru
speedtest.wifi.net.tr
sp1.wightman.ca
speed1.wirsnet.com
speedtest01.wowrack.com
speedtest.lax01.xfernet.net
@@ -386,8 +388,8 @@ sv-ookla.geolinks.com
sjdm-speedtest.globe.com.ph
speed.golddata.net
speedtest.helpmert.com
speedtest.idnet.net.br
speedtest.syd.infininet.au
velocimetrostm.interlig.net
speedtest.ixirhost.com
speedtest.eu.kamatera.com
speedtest.eu-lo.kamatera.com
@@ -458,21 +460,18 @@ speedtest.jbarbieri.net
kadoshspeed.kadoshnet.com
speedtest16.lintas.net.id
sptest2.mgts-spdop.ru
speedtest.mornington.ca
speedtest-sg.napinfo.co.id
stajax.netcrawler.ca
stguelph.netcrawler.ca
stlondon.netcrawler.ca
stoshawa.netcrawler.ca
stwhitby.netcrawler.ca
speedtest.netcrawler.ca
stvaughan.netcrawler.ca
stbrampton.netcrawler.ca
sthamilton.netcrawler.ca
stkingcity.netcrawler.ca
stwaterloo.netcrawler.ca
stetobicoke.netcrawler.ca
stnorthyork.netcrawler.ca
stpickering.netcrawler.ca
stbowmanville.netcrawler.ca
stmississauga.netcrawler.ca
stscarborough.netcrawler.ca
netgearsj.com
speedtest.netgeartec.tk
speedtest-syr.northland.net
@@ -481,12 +480,15 @@ speedtest.us.openinfra.com
speedgauge2.optonline.net
speedtest-lax.perfectip.net
speedtest.plexicomm.net
stna.pplink.net.br
testemani.pplink.net.br
speedtestde.pvdatanet.com
speedtestus.pvdatanet.com
speedtest.ramtek.net.tr
speedtest1.net.rochester.edu
.speedtest.sbcglobal.net
speedtest.scotnet.co.uk
speed.sdmnet.com.br
speedtest.seaside.ns.ca
ookla.la.ca.sharktech.net
speedtest.ams.sharktech.net
@@ -505,6 +507,7 @@ speed-test.ukservers.com
speedtest-lon.veloxserv.net
velocimetro-mns.virtua.com.br
speed-test.westelcom.com
speedtest.brooketel.coop
speedtest.citytelecom.ru
lon-hex-speedtest.cloudconnx.net
.speed.cloudflare.com
@@ -549,10 +552,13 @@ speedtest.lax.hivelocity.net
speedtest.mia.hivelocity.net
speedtest.nyc.hivelocity.net
speedtest-la.hostsailor.com
speedtest1.hurontel.on.ca
speedtest2.hurontel.on.ca
speedlon.hyperoptic.com
speedtest-sg.iconpln.net.id
speedtest.intlink.com.br
speedtest.ip-projects.de
ts.ipernet.net.br
speedtest.jvswifi.com.br
speedtest-hob.launtel.net.au
speedtest-bris.launtel.net.au
@@ -560,7 +566,6 @@ speedtest-lton.launtel.net.au
speedtest.mel01.launtel.net.au
speedtest.syd01.launtel.net.au
.speedtest.leaptel.com.au
speedtest.localhosts.ltd
speedtest.meerfarbig.net
sig-speedtest.moratelindo.io
f1.netfast.com.br
@@ -571,7 +576,6 @@ speednld.phoenixnap.com
speedsin.phoenixnap.com
speedtest.pilotfiber.com
speedtest.redactus.co.uk
speedtest.redewsp.com.br
speedtest.sewan-group.de
speedtest.singnet.com.sg
speedtest.solutechzk.com
@@ -628,6 +632,7 @@ speed.lodosnet.com.tr
speedtest.lodosnet.com.tr
sp1.logicpro.com.br
speed.mpvnetworks.com
speedtest.omegasul.com.br
.ooklaserver.net
speedtest-adl.optusnet.com.au
speedtest-bla.optusnet.com.au
@@ -647,7 +652,6 @@ speed.lax-1.serverforge.org
speed1.yyz-1.serverforge.org
ookla.uk.eu.smoketunnel.com
speedtest.softether.co.jp
test.speednet.net.tr
speedtest.springfibre.com
speedtest-ndb1.tasmanet.com.au
speedtest-ndm1.tasmanet.com.au
@@ -779,8 +783,6 @@ sp1.fiberlinkce.com.br
sy5.test.gslnetworks.com.au
me1.speedtest.gslnetworks.com.au
speedtest.internetbolaget.nu
speedtest.isppapagaio.com.br
speedtest.koycegiznet.com.tr
speedtest.newberlinfiber.net
ookla.ddnsgeek.com
bne-speed.overthewire.com.au
@@ -792,6 +794,7 @@ ooklatins.redeconexaonet.com
speedtest.redrawinternet.com
velocidade.softtelecom.net.br
.speedtestkorea.com
speedtest.systemlifeline.com
ber.wsqm.telekom-dienste.de
ffm.wsqm.telekom-dienste.de
speedtest.trenchnetworks.com
@@ -818,6 +821,7 @@ st-izmir-1.turksatkablo.com.tr
st-atakoy-1.turksatkablo.com.tr
st-manisa-1.turksatkablo.com.tr
st-yalova-1.turksatkablo.com.tr
st-denizli-1.turksatkablo.com.tr
st-tekirdag-1.turksatkablo.com.tr
st-balikesir-1.turksatkablo.com.tr
st-eskisehir-1.turksatkablo.com.tr
@@ -874,7 +878,6 @@ speedtest-tesa.coelhotecnologia.com.br
speedtest.mirror.serversaustralia.com.au
teste.mundialnettelecom.com.br
speedtest.redefinitytelecom.com.br
speedtestspeednet.com.br
aragonnetspeedtest.com.br
test.infoconnecttelecom.com.br
servidor.nuevanetbandalarga.com.br

View File

@@ -1,89 +1,124 @@
(function () {
'use strict';
// https://developers.google.com/analytics/devguides/collection/analyticsjs/
const noopfn = function () {
};
//
const Tracker = function () {
};
const p = Tracker.prototype;
p.get = noopfn;
p.set = noopfn;
p.send = noopfn;
//
const w = window;
const gaName = w.GoogleAnalyticsObject || 'ga';
const gaQueue = w[gaName];
const ga = function (...args) {
const len = args.length;
if (len === 0) { return; }
let fn;
const a = args[len - 1];
if (typeof a === 'object' && typeof a.hitCallback === 'function') {
fn = a.hitCallback;
} else if (typeof a === 'function') {
fn = () => { a(ga.create()); };
} else {
const pos = args.indexOf('hitCallback');
if (pos !== -1 && typeof args[pos + 1] === 'function') {
fn = args[pos + 1];
}
(function(source, args) {
function GoogleAnalytics(source) {
var Tracker = function Tracker() {};
var proto = Tracker.prototype;
proto.get = noopFunc;
proto.set = noopFunc;
proto.send = noopFunc;
var googleAnalyticsName = window.GoogleAnalyticsObject || "ga";
function ga(a) {
var len = arguments.length;
if (len === 0) {
return;
}
var lastArg = arguments[len - 1];
var replacer;
if (lastArg instanceof Object && lastArg !== null && typeof lastArg.hitCallback === "function") {
replacer = lastArg.hitCallback;
} else if (typeof lastArg === "function") {
replacer = function replacer() {
lastArg(ga.create());
};
}
try {
setTimeout(replacer, 1);
} catch (ex) {}
}
ga.create = function() {
return new Tracker;
};
ga.getByName = function() {
return new Tracker;
};
ga.getAll = function() {
return [ new Tracker ];
};
ga.remove = noopFunc;
ga.loaded = true;
window[googleAnalyticsName] = ga;
var _window = window, dataLayer = _window.dataLayer, google_optimize = _window.google_optimize;
if (dataLayer instanceof Object === false) {
return;
}
if (dataLayer.hide instanceof Object && typeof dataLayer.hide.end === "function") {
dataLayer.hide.end();
}
var handleCallback = function handleCallback(dataObj, funcName) {
if (dataObj && typeof dataObj[funcName] === "function") {
setTimeout(dataObj[funcName]);
}
};
if (typeof dataLayer.push === "function") {
dataLayer.push = function(data) {
if (data instanceof Object) {
handleCallback(data, "eventCallback");
for (var key in data) {
handleCallback(data[key], "event_callback");
}
if (!data.hasOwnProperty("eventCallback") && !data.hasOwnProperty("eventCallback")) {
[].push.call(window.dataLayer, data);
}
}
if (Array.isArray(data)) {
data.forEach((function(arg) {
handleCallback(arg, "callback");
}));
}
return noopFunc;
};
}
if (google_optimize instanceof Object && typeof google_optimize.get === "function") {
var googleOptimizeWrapper = {
get: noopFunc
};
window.google_optimize = googleOptimizeWrapper;
}
hit(source);
}
if (typeof fn !== 'function') { return; }
function hit(source) {
if (source.verbose !== true) {
return;
}
try {
var log = console.log.bind(console);
var trace = console.trace.bind(console);
var prefix = source.ruleText || "";
if (source.domainName) {
var AG_SCRIPTLET_MARKER = "#%#//";
var UBO_SCRIPTLET_MARKER = "##+js";
var ruleStartIndex;
if (source.ruleText.includes(AG_SCRIPTLET_MARKER)) {
ruleStartIndex = source.ruleText.indexOf(AG_SCRIPTLET_MARKER);
} else if (source.ruleText.includes(UBO_SCRIPTLET_MARKER)) {
ruleStartIndex = source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);
}
var rulePart = source.ruleText.slice(ruleStartIndex);
prefix = "".concat(source.domainName).concat(rulePart);
}
log("".concat(prefix, " trace start"));
if (trace) {
trace();
}
log("".concat(prefix, " trace end"));
} catch (e) {}
if (typeof window.__debug === "function") {
window.__debug(source);
}
}
function noopFunc() {}
function noopNull() {
return null;
}
function noopArray() {
return [];
}
const updatedArgs = args ? [].concat(source).concat(args) : [ source ];
try {
fn();
} catch {
GoogleAnalytics.apply(this, updatedArgs);
} catch (e) {
console.log(e);
}
};
ga.create = function () {
return new Tracker();
};
ga.getByName = function () {
return new Tracker();
};
ga.getAll = function () {
return [new Tracker()];
};
ga.remove = noopfn;
// https://github.com/uBlockOrigin/uAssets/issues/2107
ga.loaded = true;
w[gaName] = ga;
// https://github.com/gorhill/uBlock/issues/3075
const dl = w.dataLayer;
if (typeof dl === 'object') {
if (typeof dl.hide === 'object' && typeof dl.hide.end === 'function') {
dl.hide.end();
dl.hide.end = () => { };
}
if (typeof dl.push === 'function') {
const doCallback = function (item) {
if (typeof item === 'object' === false) { return; }
if (typeof item.eventCallback !== 'function') { return; }
// eslint-disable-next-line sukka/prefer-timer-id -- deliberate use of setTimeout
setTimeout(item.eventCallback, 1);
item.eventCallback = () => { };
};
dl.push = new Proxy(dl.push, {
apply(target, thisArg, args) {
doCallback(args[0]);
return Reflect.apply(target, thisArg, args);
}
});
if (Array.isArray(dl)) {
const q = dl.slice();
for (const item of q) {
doCallback(item);
}
}
}
}
// empty ga queue
if (typeof gaQueue === 'function' && Array.isArray(gaQueue.q)) {
const q = gaQueue.q.slice();
gaQueue.q.length = 0;
for (const entry of q) {
ga(...entry);
}
}
}());
})({
name: "google-analytics",
args: []
}, []);

View File

@@ -1,109 +1,130 @@
(function () {
'use strict';
const noopfn = function () {
};
//
const Gaq = function () {
};
Gaq.prototype.Na = noopfn;
Gaq.prototype.O = noopfn;
Gaq.prototype.Sa = noopfn;
Gaq.prototype.Ta = noopfn;
Gaq.prototype.Va = noopfn;
Gaq.prototype._createAsyncTracker = noopfn;
Gaq.prototype._getAsyncTracker = noopfn;
Gaq.prototype._getPlugin = noopfn;
Gaq.prototype.push = function (a) {
if (typeof a === 'function') {
a(); return;
(function(source, args) {
function GoogleAnalyticsGa(source) {
function Gaq() {}
Gaq.prototype.Na = noopFunc;
Gaq.prototype.O = noopFunc;
Gaq.prototype.Sa = noopFunc;
Gaq.prototype.Ta = noopFunc;
Gaq.prototype.Va = noopFunc;
Gaq.prototype._createAsyncTracker = noopFunc;
Gaq.prototype._getAsyncTracker = noopFunc;
Gaq.prototype._getPlugin = noopFunc;
Gaq.prototype.push = function(data) {
if (typeof data === "function") {
data();
return;
}
if (Array.isArray(data) === false) {
return;
}
if (typeof data[0] === "string" && /(^|\.)_link$/.test(data[0]) && typeof data[1] === "string") {
window.location.assign(data[1]);
}
if (data[0] === "_set" && data[1] === "hitCallback" && typeof data[2] === "function") {
data[2]();
}
};
var gaq = new Gaq;
var asyncTrackers = window._gaq || [];
if (Array.isArray(asyncTrackers)) {
while (asyncTrackers[0]) {
gaq.push(asyncTrackers.shift());
}
}
window._gaq = gaq.qf = gaq;
function Gat() {}
var api = [ "_addIgnoredOrganic", "_addIgnoredRef", "_addItem", "_addOrganic", "_addTrans", "_clearIgnoredOrganic", "_clearIgnoredRef", "_clearOrganic", "_cookiePathCopy", "_deleteCustomVar", "_getName", "_setAccount", "_getAccount", "_getClientInfo", "_getDetectFlash", "_getDetectTitle", "_getLinkerUrl", "_getLocalGifPath", "_getServiceMode", "_getVersion", "_getVisitorCustomVar", "_initData", "_link", "_linkByPost", "_setAllowAnchor", "_setAllowHash", "_setAllowLinker", "_setCampContentKey", "_setCampMediumKey", "_setCampNameKey", "_setCampNOKey", "_setCampSourceKey", "_setCampTermKey", "_setCampaignCookieTimeout", "_setCampaignTrack", "_setClientInfo", "_setCookiePath", "_setCookiePersistence", "_setCookieTimeout", "_setCustomVar", "_setDetectFlash", "_setDetectTitle", "_setDomainName", "_setLocalGifPath", "_setLocalRemoteServerMode", "_setLocalServerMode", "_setReferrerOverride", "_setRemoteServerMode", "_setSampleRate", "_setSessionTimeout", "_setSiteSpeedSampleRate", "_setSessionCookieTimeout", "_setVar", "_setVisitorCookieTimeout", "_trackEvent", "_trackPageLoadTime", "_trackPageview", "_trackSocial", "_trackTiming", "_trackTrans", "_visitCode" ];
var tracker = api.reduce((function(res, funcName) {
res[funcName] = noopFunc;
return res;
}), {});
tracker._getLinkerUrl = function(a) {
return a;
};
tracker._link = function(url) {
if (typeof url !== "string") {
return;
}
try {
window.location.assign(url);
} catch (e) {
logMessage(source, e);
}
};
Gat.prototype._anonymizeIP = noopFunc;
Gat.prototype._createTracker = noopFunc;
Gat.prototype._forceSSL = noopFunc;
Gat.prototype._getPlugin = noopFunc;
Gat.prototype._getTracker = function() {
return tracker;
};
Gat.prototype._getTrackerByName = function() {
return tracker;
};
Gat.prototype._getTrackers = noopFunc;
Gat.prototype.aa = noopFunc;
Gat.prototype.ab = noopFunc;
Gat.prototype.hb = noopFunc;
Gat.prototype.la = noopFunc;
Gat.prototype.oa = noopFunc;
Gat.prototype.pa = noopFunc;
Gat.prototype.u = noopFunc;
var gat = new Gat;
window._gat = gat;
hit(source);
}
if (Array.isArray(a) === false) { return; }
// https://developers.google.com/analytics/devguides/collection/gajs/methods/gaJSApiDomainDirectory#_gat.GA_Tracker_._link
if (
typeof a[0] === 'string'
&& /(^|\.)_link$/.test(a[0])
&& typeof a[1] === 'string'
) {
try {
window.location.assign(a[1]);
} catch {
}
function hit(source) {
if (source.verbose !== true) {
return;
}
try {
var log = console.log.bind(console);
var trace = console.trace.bind(console);
var prefix = source.ruleText || "";
if (source.domainName) {
var AG_SCRIPTLET_MARKER = "#%#//";
var UBO_SCRIPTLET_MARKER = "##+js";
var ruleStartIndex;
if (source.ruleText.includes(AG_SCRIPTLET_MARKER)) {
ruleStartIndex = source.ruleText.indexOf(AG_SCRIPTLET_MARKER);
} else if (source.ruleText.includes(UBO_SCRIPTLET_MARKER)) {
ruleStartIndex = source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);
}
var rulePart = source.ruleText.slice(ruleStartIndex);
prefix = "".concat(source.domainName).concat(rulePart);
}
log("".concat(prefix, " trace start"));
if (trace) {
trace();
}
log("".concat(prefix, " trace end"));
} catch (e) {}
if (typeof window.__debug === "function") {
window.__debug(source);
}
}
if (a[0] === '_set' && a[1] === 'hitCallback' && typeof a[2] === 'function') {
a[2]();
function noopFunc() {}
function logMessage(source, message) {
var forced = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
var convertMessageToString = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
var name = source.name, verbose = source.verbose;
if (!forced && !verbose) {
return;
}
var nativeConsole = console.log;
if (!convertMessageToString) {
nativeConsole("".concat(name, ":"), message);
return;
}
nativeConsole("".concat(name, ": ").concat(message));
}
};
//
const tracker = (function () {
const out = {};
const api = [
'_addIgnoredOrganic _addIgnoredRef _addItem _addOrganic',
'_addTrans _clearIgnoredOrganic _clearIgnoredRef _clearOrganic',
'_cookiePathCopy _deleteCustomVar _getName _setAccount',
'_getAccount _getClientInfo _getDetectFlash _getDetectTitle',
'_getLinkerUrl _getLocalGifPath _getServiceMode _getVersion',
'_getVisitorCustomVar _initData _linkByPost',
'_setAllowAnchor _setAllowHash _setAllowLinker _setCampContentKey',
'_setCampMediumKey _setCampNameKey _setCampNOKey _setCampSourceKey',
'_setCampTermKey _setCampaignCookieTimeout _setCampaignTrack _setClientInfo',
'_setCookiePath _setCookiePersistence _setCookieTimeout _setCustomVar',
'_setDetectFlash _setDetectTitle _setDomainName _setLocalGifPath',
'_setLocalRemoteServerMode _setLocalServerMode _setReferrerOverride _setRemoteServerMode',
'_setSampleRate _setSessionTimeout _setSiteSpeedSampleRate _setSessionCookieTimeout',
'_setVar _setVisitorCookieTimeout _trackEvent _trackPageLoadTime',
'_trackPageview _trackSocial _trackTiming _trackTrans',
'_visitCode'
].join(' ').split(/\s+/);
for (const method of api) {
out[method] = noopfn;
const updatedArgs = args ? [].concat(source).concat(args) : [ source ];
try {
GoogleAnalyticsGa.apply(this, updatedArgs);
} catch (e) {
console.log(e);
}
out._getLinkerUrl = function (a) {
return a;
};
// https://github.com/AdguardTeam/Scriptlets/issues/154
out._link = function (a) {
if (typeof a !== 'string') { return; }
try {
window.location.assign(a);
} catch {
}
};
return out;
}());
//
const Gat = function () {
};
Gat.prototype._anonymizeIP = noopfn;
Gat.prototype._createTracker = noopfn;
Gat.prototype._forceSSL = noopfn;
Gat.prototype._getPlugin = noopfn;
Gat.prototype._getTracker = function () {
return tracker;
};
Gat.prototype._getTrackerByName = function () {
return tracker;
};
Gat.prototype._getTrackers = noopfn;
Gat.prototype.aa = noopfn;
Gat.prototype.ab = noopfn;
Gat.prototype.hb = noopfn;
Gat.prototype.la = noopfn;
Gat.prototype.oa = noopfn;
Gat.prototype.pa = noopfn;
Gat.prototype.u = noopfn;
const gat = new Gat();
window._gat = gat;
//
const gaq = new Gaq();
(function () {
const aa = window._gaq || [];
if (Array.isArray(aa)) {
while (aa[0]) {
gaq.push(aa.shift());
}
}
}());
gaq.qf = gaq;
window._gaq = gaq;
}());
})({
name: "google-analytics-ga",
args: []
}, []);

View File

@@ -1,32 +1,95 @@
(function () {
'use strict';
const init = () => {
window.adsbygoogle = {
loaded: true,
push() {
}
};
const phs = document.querySelectorAll('.adsbygoogle');
const css = 'height:1px!important;max-height:1px!important;max-width:1px!important;width:1px!important;';
for (let i = 0; i < phs.length; i++) {
const id = `aswift_${i}`;
if (document.querySelector(`iframe#${id}`) !== null) { continue; }
const fr = document.createElement('iframe');
fr.id = id;
fr.style = css;
const cfr = document.createElement('iframe');
cfr.id = `google_ads_frame${i}`;
fr.appendChild(cfr);
phs[i].appendChild(fr);
(function(source, args) {
function GoogleSyndicationAdsByGoogle(source) {
window.adsbygoogle = {
loaded: true,
push(arg) {
if (typeof this.length === "undefined") {
this.length = 0;
this.length += 1;
}
if (arg !== null && arg instanceof Object && arg.constructor.name === "Object") {
for (var _i = 0, _Object$keys = Object.keys(arg); _i < _Object$keys.length; _i++) {
var key = _Object$keys[_i];
if (typeof arg[key] === "function") {
try {
arg[key].call(this, {});
} catch (_unused) {}
}
}
}
}
};
var adElems = document.querySelectorAll(".adsbygoogle");
var css = "height:1px!important;max-height:1px!important;max-width:1px!important;width:1px!important;";
var statusAttrName = "data-adsbygoogle-status";
var ASWIFT_IFRAME_MARKER = "aswift_";
var GOOGLE_ADS_IFRAME_MARKER = "google_ads_iframe_";
var executed = false;
for (var i = 0; i < adElems.length; i += 1) {
var adElemChildNodes = adElems[i].childNodes;
var childNodesQuantity = adElemChildNodes.length;
var areIframesDefined = false;
if (childNodesQuantity > 0) {
areIframesDefined = childNodesQuantity === 2 && adElemChildNodes[0].nodeName.toLowerCase() === "iframe" && adElemChildNodes[0].id.includes(ASWIFT_IFRAME_MARKER) && adElemChildNodes[1].nodeName.toLowerCase() === "iframe" && adElemChildNodes[1].id.includes(GOOGLE_ADS_IFRAME_MARKER);
}
if (!areIframesDefined) {
adElems[i].setAttribute(statusAttrName, "done");
var aswiftIframe = document.createElement("iframe");
aswiftIframe.id = "".concat(ASWIFT_IFRAME_MARKER).concat(i);
aswiftIframe.style = css;
adElems[i].appendChild(aswiftIframe);
var innerAswiftIframe = document.createElement("iframe");
aswiftIframe.contentWindow.document.body.appendChild(innerAswiftIframe);
var googleadsIframe = document.createElement("iframe");
googleadsIframe.id = "".concat(GOOGLE_ADS_IFRAME_MARKER).concat(i);
googleadsIframe.style = css;
adElems[i].appendChild(googleadsIframe);
var innerGoogleadsIframe = document.createElement("iframe");
googleadsIframe.contentWindow.document.body.appendChild(innerGoogleadsIframe);
executed = true;
}
}
if (executed) {
hit(source);
}
}
};
if (
document.querySelectorAll('.adsbygoogle').length === 0
&& document.readyState === 'loading'
) {
window.addEventListener('DOMContentLoaded', init, { once: true });
} else {
init();
}
}());
function hit(source) {
if (source.verbose !== true) {
return;
}
try {
var log = console.log.bind(console);
var trace = console.trace.bind(console);
var prefix = source.ruleText || "";
if (source.domainName) {
var AG_SCRIPTLET_MARKER = "#%#//";
var UBO_SCRIPTLET_MARKER = "##+js";
var ruleStartIndex;
if (source.ruleText.includes(AG_SCRIPTLET_MARKER)) {
ruleStartIndex = source.ruleText.indexOf(AG_SCRIPTLET_MARKER);
} else if (source.ruleText.includes(UBO_SCRIPTLET_MARKER)) {
ruleStartIndex = source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);
}
var rulePart = source.ruleText.slice(ruleStartIndex);
prefix = "".concat(source.domainName).concat(rulePart);
}
log("".concat(prefix, " trace start"));
if (trace) {
trace();
}
log("".concat(prefix, " trace end"));
} catch (e) {}
if (typeof window.__debug === "function") {
window.__debug(source);
}
}
const updatedArgs = args ? [].concat(source).concat(args) : [ source ];
try {
GoogleSyndicationAdsByGoogle.apply(this, updatedArgs);
} catch (e) {
console.log(e);
}
})({
name: "googlesyndication-adsbygoogle",
args: []
}, []);

View File

@@ -1,133 +1,429 @@
(function () {
'use strict';
// https://developers.google.com/doubleclick-gpt/reference
const noopfn = function () {
}.bind();
const noopthisfn = function () {
return this;
};
const noopnullfn = function () {
return null;
};
const nooparrayfn = function () {
return [];
};
const noopstrfn = function () {
return '';
};
//
const companionAdsService = {
addEventListener: noopthisfn,
enableSyncLoading: noopfn,
setRefreshUnfilledSlots: noopfn
};
const contentService = {
addEventListener: noopthisfn,
setContent: noopfn
};
const PassbackSlot = function () {
};
let p = PassbackSlot.prototype;
p.display = noopfn;
p.get = noopnullfn;
p.set = noopthisfn;
p.setClickUrl = noopthisfn;
p.setTagForChildDirectedTreatment = noopthisfn;
p.setTargeting = noopthisfn;
p.updateTargetingFromMap = noopthisfn;
const pubAdsService = {
addEventListener: noopthisfn,
clear: noopfn,
clearCategoryExclusions: noopthisfn,
clearTagForChildDirectedTreatment: noopthisfn,
clearTargeting: noopthisfn,
collapseEmptyDivs: noopfn,
defineOutOfPagePassback() { return new PassbackSlot(); },
definePassback() { return new PassbackSlot(); },
disableInitialLoad: noopfn,
display: noopfn,
enableAsyncRendering: noopfn,
enableSingleRequest: noopfn,
enableSyncRendering: noopfn,
enableVideoAds: noopfn,
get: noopnullfn,
getAttributeKeys: nooparrayfn,
getTargeting: noopfn,
getTargetingKeys: nooparrayfn,
getSlots: nooparrayfn,
refresh: noopfn,
removeEventListener: noopfn,
set: noopthisfn,
setCategoryExclusion: noopthisfn,
setCentering: noopfn,
setCookieOptions: noopthisfn,
setForceSafeFrame: noopthisfn,
setLocation: noopthisfn,
setPublisherProvidedId: noopthisfn,
setPrivacySettings: noopthisfn,
setRequestNonPersonalizedAds: noopthisfn,
setSafeFrameConfig: noopthisfn,
setTagForChildDirectedTreatment: noopthisfn,
setTargeting: noopthisfn,
setVideoContent: noopthisfn,
updateCorrelator: noopfn
};
const SizeMappingBuilder = function () {
};
p = SizeMappingBuilder.prototype;
p.addSize = noopthisfn;
p.build = noopnullfn;
const Slot = function () {
};
p = Slot.prototype;
p.addService = noopthisfn;
p.clearCategoryExclusions = noopthisfn;
p.clearTargeting = noopthisfn;
p.defineSizeMapping = noopthisfn;
p.get = noopnullfn;
p.getAdUnitPath = nooparrayfn;
p.getAttributeKeys = nooparrayfn;
p.getCategoryExclusions = nooparrayfn;
p.getDomId = noopstrfn;
p.getResponseInformation = noopnullfn;
p.getSlotElementId = noopstrfn;
p.getSlotId = noopthisfn;
p.getTargeting = nooparrayfn;
p.getTargetingKeys = nooparrayfn;
p.set = noopthisfn;
p.setCategoryExclusion = noopthisfn;
p.setClickUrl = noopthisfn;
p.setCollapseEmptyDiv = noopthisfn;
p.setTargeting = noopthisfn;
p.updateTargetingFromMap = noopthisfn;
//
const gpt = window.googletag || {};
const cmd = gpt.cmd || [];
gpt.apiReady = true;
gpt.cmd = [];
gpt.cmd.push = function (a) {
try {
a();
} catch {
(function(source, args) {
function GoogleTagServicesGpt(source) {
var slots = new Map;
var slotsById = new Map;
var slotsPerPath = new Map;
var slotCreatives = new Map;
var eventCallbacks = new Map;
var gTargeting = new Map;
var addEventListener = function addEventListener(name, listener) {
if (!eventCallbacks.has(name)) {
eventCallbacks.set(name, new Set);
}
eventCallbacks.get(name).add(listener);
return this;
};
var removeEventListener = function removeEventListener(name, listener) {
if (eventCallbacks.has(name)) {
return eventCallbacks.get(name).delete(listener);
}
return false;
};
var fireSlotEvent = function fireSlotEvent(name, slot) {
return new Promise((function(resolve) {
requestAnimationFrame((function() {
var size = [ 0, 0 ];
var callbacksSet = eventCallbacks.get(name) || [];
var callbackArray = Array.from(callbacksSet);
for (var i = 0; i < callbackArray.length; i += 1) {
callbackArray[i]({
isEmpty: true,
size: size,
slot: slot
});
}
resolve();
}));
}));
};
var emptySlotElement = function emptySlotElement(slot) {
var node = document.getElementById(slot.getSlotElementId());
while (node !== null && node !== void 0 && node.lastChild) {
node.lastChild.remove();
}
};
var recreateIframeForSlot = function recreateIframeForSlot(slot) {
var _document$getElementB;
var eid = "google_ads_iframe_".concat(slot.getId());
(_document$getElementB = document.getElementById(eid)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.remove();
var node = document.getElementById(slot.getSlotElementId());
if (node) {
var f = document.createElement("iframe");
f.id = eid;
f.srcdoc = "<body></body>";
f.style = "position:absolute; width:0; height:0; left:0; right:0; z-index:-1; border:0";
f.setAttribute("width", 0);
f.setAttribute("height", 0);
f.setAttribute("data-load-complete", true);
f.setAttribute("data-google-container-id", true);
f.setAttribute("sandbox", "");
node.appendChild(f);
}
};
var displaySlot = function displaySlot(slot) {
if (!slot) {
return;
}
var id = slot.getSlotElementId();
if (!document.getElementById(id)) {
return;
}
var parent = document.getElementById(id);
if (parent) {
parent.appendChild(document.createElement("div"));
}
emptySlotElement(slot);
recreateIframeForSlot(slot);
fireSlotEvent("slotRenderEnded", slot);
fireSlotEvent("slotRequested", slot);
fireSlotEvent("slotResponseReceived", slot);
fireSlotEvent("slotOnload", slot);
fireSlotEvent("impressionViewable", slot);
};
var companionAdsService = {
addEventListener: addEventListener,
removeEventListener: removeEventListener,
enableSyncLoading: noopFunc,
setRefreshUnfilledSlots: noopFunc,
getSlots: noopArray
};
var contentService = {
addEventListener: addEventListener,
removeEventListener: removeEventListener,
setContent: noopFunc
};
function PassbackSlot() {}
PassbackSlot.prototype.display = noopFunc;
PassbackSlot.prototype.get = noopNull;
PassbackSlot.prototype.set = noopThis;
PassbackSlot.prototype.setClickUrl = noopThis;
PassbackSlot.prototype.setTagForChildDirectedTreatment = noopThis;
PassbackSlot.prototype.setTargeting = noopThis;
PassbackSlot.prototype.updateTargetingFromMap = noopThis;
function SizeMappingBuilder() {}
SizeMappingBuilder.prototype.addSize = noopThis;
SizeMappingBuilder.prototype.build = noopNull;
var getTargetingValue = function getTargetingValue(v) {
if (typeof v === "string") {
return [ v ];
}
try {
return Array.prototype.flat.call(v);
} catch (_unused) {}
return [];
};
var updateTargeting = function updateTargeting(targeting, map) {
if (typeof map === "object") {
for (var key in map) {
if (Object.prototype.hasOwnProperty.call(map, key)) {
targeting.set(key, getTargetingValue(map[key]));
}
}
}
};
var defineSlot = function defineSlot(adUnitPath, creatives, optDiv) {
if (slotsById.has(optDiv)) {
var _document$getElementB2;
(_document$getElementB2 = document.getElementById(optDiv)) === null || _document$getElementB2 === void 0 ? void 0 : _document$getElementB2.remove();
return slotsById.get(optDiv);
}
var attributes = new Map;
var targeting = new Map;
var exclusions = new Set;
var response = {
advertiserId: undefined,
campaignId: undefined,
creativeId: undefined,
creativeTemplateId: undefined,
lineItemId: undefined
};
var sizes = [ {
getHeight: function getHeight() {
return 2;
},
getWidth: function getWidth() {
return 2;
}
} ];
var num = (slotsPerPath.get(adUnitPath) || 0) + 1;
slotsPerPath.set(adUnitPath, num);
var id = "".concat(adUnitPath, "_").concat(num);
var clickUrl = "";
var collapseEmptyDiv = null;
var services = new Set;
var slot = {
addService(e) {
services.add(e);
return slot;
},
clearCategoryExclusions: noopThis,
clearTargeting(k) {
if (k === undefined) {
targeting.clear();
} else {
targeting.delete(k);
}
},
defineSizeMapping(mapping) {
slotCreatives.set(optDiv, mapping);
return this;
},
get: function get(k) {
return attributes.get(k);
},
getAdUnitPath: function getAdUnitPath() {
return adUnitPath;
},
getAttributeKeys: function getAttributeKeys() {
return Array.from(attributes.keys());
},
getCategoryExclusions: function getCategoryExclusions() {
return Array.from(exclusions);
},
getClickUrl: function getClickUrl() {
return clickUrl;
},
getCollapseEmptyDiv: function getCollapseEmptyDiv() {
return collapseEmptyDiv;
},
getContentUrl: function getContentUrl() {
return "";
},
getDivStartsCollapsed: function getDivStartsCollapsed() {
return null;
},
getDomId: function getDomId() {
return optDiv;
},
getEscapedQemQueryId: function getEscapedQemQueryId() {
return "";
},
getFirstLook: function getFirstLook() {
return 0;
},
getId: function getId() {
return id;
},
getHtml: function getHtml() {
return "";
},
getName: function getName() {
return id;
},
getOutOfPage: function getOutOfPage() {
return false;
},
getResponseInformation: function getResponseInformation() {
return response;
},
getServices: function getServices() {
return Array.from(services);
},
getSizes: function getSizes() {
return sizes;
},
getSlotElementId: function getSlotElementId() {
return optDiv;
},
getSlotId: function getSlotId() {
return slot;
},
getTargeting: function getTargeting(k) {
return targeting.get(k) || gTargeting.get(k) || [];
},
getTargetingKeys: function getTargetingKeys() {
return Array.from(new Set(Array.of(...gTargeting.keys(), ...targeting.keys())));
},
getTargetingMap: function getTargetingMap() {
return Object.assign(Object.fromEntries(gTargeting.entries()), Object.fromEntries(targeting.entries()));
},
set(k, v) {
attributes.set(k, v);
return slot;
},
setCategoryExclusion(e) {
exclusions.add(e);
return slot;
},
setClickUrl(u) {
clickUrl = u;
return slot;
},
setCollapseEmptyDiv(v) {
collapseEmptyDiv = !!v;
return slot;
},
setSafeFrameConfig: noopThis,
setTagForChildDirectedTreatment: noopThis,
setTargeting(k, v) {
targeting.set(k, getTargetingValue(v));
return slot;
},
toString: function toString() {
return id;
},
updateTargetingFromMap(map) {
updateTargeting(targeting, map);
return slot;
}
};
slots.set(adUnitPath, slot);
slotsById.set(optDiv, slot);
slotCreatives.set(optDiv, creatives);
return slot;
};
var pubAdsService = {
addEventListener: addEventListener,
removeEventListener: removeEventListener,
clear: noopFunc,
clearCategoryExclusions: noopThis,
clearTagForChildDirectedTreatment: noopThis,
clearTargeting(k) {
if (k === undefined) {
gTargeting.clear();
} else {
gTargeting.delete(k);
}
},
collapseEmptyDivs: noopFunc,
defineOutOfPagePassback() {
return new PassbackSlot;
},
definePassback() {
return new PassbackSlot;
},
disableInitialLoad: noopFunc,
display: noopFunc,
enableAsyncRendering: noopFunc,
enableLazyLoad: noopFunc,
enableSingleRequest: noopFunc,
enableSyncRendering: noopFunc,
enableVideoAds: noopFunc,
get: noopNull,
getAttributeKeys: noopArray,
getTargeting: noopArray,
getTargetingKeys: noopArray,
getSlots: noopArray,
isInitialLoadDisabled: trueFunc,
refresh: noopFunc,
set: noopThis,
setCategoryExclusion: noopThis,
setCentering: noopFunc,
setCookieOptions: noopThis,
setForceSafeFrame: noopThis,
setLocation: noopThis,
setPrivacySettings: noopThis,
setPublisherProvidedId: noopThis,
setRequestNonPersonalizedAds: noopThis,
setSafeFrameConfig: noopThis,
setTagForChildDirectedTreatment: noopThis,
setTargeting: noopThis,
setVideoContent: noopThis,
updateCorrelator: noopFunc
};
var _window = window, _window$googletag = _window.googletag, googletag = _window$googletag === void 0 ? {} : _window$googletag;
var _googletag$cmd = googletag.cmd, cmd = _googletag$cmd === void 0 ? [] : _googletag$cmd;
googletag.apiReady = true;
googletag.cmd = [];
googletag.cmd.push = function(a) {
try {
a();
} catch (ex) {}
return 1;
};
googletag.companionAds = function() {
return companionAdsService;
};
googletag.content = function() {
return contentService;
};
googletag.defineOutOfPageSlot = defineSlot;
googletag.defineSlot = defineSlot;
googletag.destroySlots = function() {
slots.clear();
slotsById.clear();
};
googletag.disablePublisherConsole = noopFunc;
googletag.display = function(arg) {
var id;
if (arg !== null && arg !== void 0 && arg.getSlotElementId) {
id = arg.getSlotElementId();
} else if (arg !== null && arg !== void 0 && arg.nodeType) {
id = arg.id;
} else {
id = String(arg);
}
displaySlot(slotsById.get(id));
};
googletag.enableServices = noopFunc;
googletag.getVersion = noopStr;
googletag.pubads = function() {
return pubAdsService;
};
googletag.pubadsReady = true;
googletag.setAdIframeTitle = noopFunc;
googletag.sizeMapping = function() {
return new SizeMappingBuilder;
};
window.googletag = googletag;
while (cmd.length !== 0) {
googletag.cmd.push(cmd.shift());
}
hit(source);
}
return 1;
};
gpt.companionAds = function () { return companionAdsService; };
gpt.content = function () { return contentService; };
gpt.defineOutOfPageSlot = function () { return new Slot(); };
gpt.defineSlot = function () { return new Slot(); };
gpt.destroySlots = noopfn;
gpt.disablePublisherConsole = noopfn;
gpt.display = noopfn;
gpt.enableServices = noopfn;
gpt.getVersion = noopstrfn;
gpt.pubads = function () { return pubAdsService; };
gpt.pubadsReady = true;
gpt.setAdIframeTitle = noopfn;
gpt.sizeMapping = function () { return new SizeMappingBuilder(); };
window.googletag = gpt;
while (cmd.length !== 0) {
gpt.cmd.push(cmd.shift());
}
}());
function hit(source) {
if (source.verbose !== true) {
return;
}
try {
var log = console.log.bind(console);
var trace = console.trace.bind(console);
var prefix = source.ruleText || "";
if (source.domainName) {
var AG_SCRIPTLET_MARKER = "#%#//";
var UBO_SCRIPTLET_MARKER = "##+js";
var ruleStartIndex;
if (source.ruleText.includes(AG_SCRIPTLET_MARKER)) {
ruleStartIndex = source.ruleText.indexOf(AG_SCRIPTLET_MARKER);
} else if (source.ruleText.includes(UBO_SCRIPTLET_MARKER)) {
ruleStartIndex = source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);
}
var rulePart = source.ruleText.slice(ruleStartIndex);
prefix = "".concat(source.domainName).concat(rulePart);
}
log("".concat(prefix, " trace start"));
if (trace) {
trace();
}
log("".concat(prefix, " trace end"));
} catch (e) {}
if (typeof window.__debug === "function") {
window.__debug(source);
}
}
function noopFunc() {}
function noopThis() {
return this;
}
function noopNull() {
return null;
}
function noopArray() {
return [];
}
function noopStr() {
return "";
}
function trueFunc() {
return true;
}
const updatedArgs = args ? [].concat(source).concat(args) : [ source ];
try {
GoogleTagServicesGpt.apply(this, updatedArgs);
} catch (e) {
console.log(e);
}
})({
name: "googletagservices-gpt",
args: []
}, []);