@adguard/agtree 1.1.6 → 1.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/agtree.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v1.1.6 (build date: Fri, 22 Sep 2023 13:09:45 GMT)
3
- * (c) 2023 AdGuard Software Ltd.
2
+ * AGTree v1.1.8 (build date: Wed, 24 Apr 2024 15:20:41 GMT)
3
+ * (c) 2024 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -6281,7 +6281,7 @@ class RuleConversionError extends Error {
6281
6281
  }
6282
6282
  }
6283
6283
 
6284
- var data$T = { adg_os_any:{ name:"all",
6284
+ var data$U = { adg_os_any:{ name:"all",
6285
6285
  description:"$all modifier is made of $document, $popup, and all content-type modifiers combined.",
6286
6286
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#all-modifier",
6287
6287
  negatable:false,
@@ -6306,15 +6306,21 @@ var data$T = { adg_os_any:{ name:"all",
6306
6306
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#all",
6307
6307
  negatable:false,
6308
6308
  block_only:false } };
6309
+ data$U.adg_os_any;
6310
+ data$U.adg_ext_any;
6311
+ data$U.adg_cb_ios;
6312
+ data$U.adg_cb_safari;
6313
+ data$U.ubo_ext_any;
6309
6314
 
6310
- var data$S = { adg_os_any:{ name:"app",
6315
+ var data$T = { adg_os_any:{ name:"app",
6311
6316
  description:"The `$app` modifier lets you narrow the rule coverage down to a specific application or a list of applications.\nThe modifier's behavior and syntax perfectly match the corresponding basic rules `$app` modifier.",
6312
6317
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#app-modifier",
6313
6318
  assignable:true,
6314
6319
  negatable:false,
6315
6320
  value_format:"pipe_separated_apps" } };
6321
+ data$T.adg_os_any;
6316
6322
 
6317
- var data$R = { adg_os_any:{ name:"badfilter",
6323
+ var data$S = { adg_os_any:{ name:"badfilter",
6318
6324
  description:"The rules with the `$badfilter` modifier disable other basic rules to which they refer. It means that\nthe text of the disabled rule should match the text of the `$badfilter` rule (without the `$badfilter` modifier).",
6319
6325
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#badfilter-modifier",
6320
6326
  negatable:false },
@@ -6334,20 +6340,27 @@ var data$R = { adg_os_any:{ name:"badfilter",
6334
6340
  description:"The rules with the `$badfilter` modifier disable other basic rules to which they refer. It means that\nthe text of the disabled rule should match the text of the `$badfilter` rule (without the `$badfilter` modifier).",
6335
6341
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#badfilter",
6336
6342
  negatable:false } };
6343
+ data$S.adg_os_any;
6344
+ data$S.adg_ext_any;
6345
+ data$S.adg_cb_ios;
6346
+ data$S.adg_cb_safari;
6347
+ data$S.ubo_ext_any;
6337
6348
 
6338
- var data$Q = { ubo_ext_any:{ name:"cname",
6349
+ var data$R = { ubo_ext_any:{ name:"cname",
6339
6350
  description:"When used in an exception filter,\nit will bypass blocking CNAME uncloaked requests for the current (specified) document.",
6340
6351
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#cname",
6341
6352
  negatable:false,
6342
6353
  exception_only:true } };
6354
+ data$R.ubo_ext_any;
6343
6355
 
6344
- var data$P = { adg_os_any:{ name:"content",
6356
+ var data$Q = { adg_os_any:{ name:"content",
6345
6357
  description:"Disables HTML filtering and `$replace` rules on the pages that match the rule.",
6346
6358
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#content-modifier",
6347
6359
  negatable:false,
6348
6360
  exception_only:true } };
6361
+ data$Q.adg_os_any;
6349
6362
 
6350
- var data$O = { adg_os_any:{ name:"cookie",
6363
+ var data$P = { adg_os_any:{ name:"cookie",
6351
6364
  description:"The `$cookie` modifier completely changes rule behavior.\nInstead of blocking a request, this modifier makes us suppress or modify the Cookie and Set-Cookie headers.",
6352
6365
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#cookie-modifier",
6353
6366
  assignable:true,
@@ -6361,8 +6374,10 @@ var data$O = { adg_os_any:{ name:"cookie",
6361
6374
  negatable:false,
6362
6375
  value_optional:true,
6363
6376
  value_format:"^([^;=\\s]*?)((?:;(maxAge=\\d+;?)?|(sameSite=(lax|none|strict);?)?){1,3})(?<!;)$" } };
6377
+ data$P.adg_os_any;
6378
+ data$P.adg_ext_any;
6364
6379
 
6365
- var data$N = { adg_os_any:{ name:"csp",
6380
+ var data$O = { adg_os_any:{ name:"csp",
6366
6381
  description:"This modifier completely changes the rule behavior.\nIf it is applied to a rule, it will not block the matching request.\nThe response headers are going to be modified instead.",
6367
6382
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#csp-modifier",
6368
6383
  conflicts:[ "domain",
@@ -6408,8 +6423,12 @@ var data$N = { adg_os_any:{ name:"csp",
6408
6423
  negatable:false,
6409
6424
  value_optional:true,
6410
6425
  value_format:"csp_value" } };
6426
+ data$O.adg_os_any;
6427
+ data$O.adg_ext_any;
6428
+ data$O.abp_ext_any;
6429
+ data$O.ubo_ext_any;
6411
6430
 
6412
- var data$M = { adg_os_any:{ name:"denyallow",
6431
+ var data$N = { adg_os_any:{ name:"denyallow",
6413
6432
  description:"The `$denyallow` modifier allows to avoid creating additional rules\nwhen it is needed to disable a certain rule for specific domains.\n`$denyallow` matches only target domains and not referrer domains.",
6414
6433
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#denyallow-modifier",
6415
6434
  conflicts:[ "to" ],
@@ -6444,8 +6463,13 @@ var data$M = { adg_os_any:{ name:"denyallow",
6444
6463
  assignable:true,
6445
6464
  negatable:false,
6446
6465
  value_format:"pipe_separated_denyallow_domains" } };
6466
+ data$N.adg_os_any;
6467
+ data$N.adg_ext_any;
6468
+ data$N.adg_cb_ios;
6469
+ data$N.adg_cb_safari;
6470
+ data$N.ubo_ext_any;
6447
6471
 
6448
- var data$L = { adg_os_any:{ name:"document",
6472
+ var data$M = { adg_os_any:{ name:"document",
6449
6473
  description:"The rule corresponds to the main frame document requests,\ni.e. HTML documents that are loaded in the browser tab.",
6450
6474
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#document-modifier",
6451
6475
  negatable:false },
@@ -6470,8 +6494,14 @@ var data$L = { adg_os_any:{ name:"document",
6470
6494
  description:"The rule corresponds to the main frame document requests,\ni.e. HTML documents that are loaded in the browser tab.",
6471
6495
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#document",
6472
6496
  negatable:false } };
6473
-
6474
- var data$K = { adg_any:{ name:"domain",
6497
+ data$M.adg_os_any;
6498
+ data$M.adg_ext_any;
6499
+ data$M.adg_cb_ios;
6500
+ data$M.adg_cb_safari;
6501
+ data$M.abp_ext_any;
6502
+ data$M.ubo_ext_any;
6503
+
6504
+ var data$L = { adg_any:{ name:"domain",
6475
6505
  aliases:[ "from" ],
6476
6506
  description:"The `$domain` modifier limits the rule application area to a list of domains and their subdomains.",
6477
6507
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#domain-modifier",
@@ -6491,8 +6521,11 @@ var data$K = { adg_any:{ name:"domain",
6491
6521
  assignable:true,
6492
6522
  negatable:false,
6493
6523
  value_format:"pipe_separated_domains" } };
6524
+ data$L.adg_any;
6525
+ data$L.abp_any;
6526
+ data$L.ubo_any;
6494
6527
 
6495
- var data$J = { adg_any:{ name:"elemhide",
6528
+ var data$K = { adg_any:{ name:"elemhide",
6496
6529
  aliases:[ "ehide" ],
6497
6530
  description:"Disables any cosmetic rules on the pages matching the rule.",
6498
6531
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#elemhide-modifier",
@@ -6510,8 +6543,11 @@ var data$J = { adg_any:{ name:"elemhide",
6510
6543
  exception_only:true,
6511
6544
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#elemhide-1",
6512
6545
  description:"Disables any cosmetic rules on the pages matching the rule." } };
6546
+ data$K.adg_any;
6547
+ data$K.abp_any;
6548
+ data$K.ubo_any;
6513
6549
 
6514
- var data$I = { adg_os_any:{ name:"empty",
6550
+ var data$J = { adg_os_any:{ name:"empty",
6515
6551
  description:"This modifier is deprecated in favor of the $redirect modifier.\nRules with `$empty` are still supported and being converted into `$redirect=nooptext` now\nbut the support shall be removed in the future.",
6516
6552
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#empty-modifier",
6517
6553
  deprecated:true,
@@ -6527,8 +6563,11 @@ var data$I = { adg_os_any:{ name:"empty",
6527
6563
  description:"This modifier is deprecated in favor of the $redirect modifier.\nRules with `$empty` are supported and being converted into `$redirect=nooptext`.",
6528
6564
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#empty",
6529
6565
  negatable:false } };
6566
+ data$J.adg_os_any;
6567
+ data$J.adg_ext_any;
6568
+ data$J.ubo_ext_any;
6530
6569
 
6531
- var data$H = { adg_any:{ name:"first-party",
6570
+ var data$I = { adg_any:{ name:"first-party",
6532
6571
  aliases:[ "1p",
6533
6572
  "~third-party" ],
6534
6573
  description:"A restriction of first-party requests. Equal to `~third-party`.",
@@ -6540,8 +6579,10 @@ var data$H = { adg_any:{ name:"first-party",
6540
6579
  description:"A restriction of first-party requests. Equal to `~third-party`.",
6541
6580
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#1p",
6542
6581
  negatable:false } };
6582
+ data$I.adg_any;
6583
+ data$I.ubo_any;
6543
6584
 
6544
- var data$G = { adg_os_any:{ name:"extension",
6585
+ var data$H = { adg_os_any:{ name:"extension",
6545
6586
  description:"Disables all userscripts on the pages matching this rule.",
6546
6587
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#extension-modifier",
6547
6588
  conflicts:[ "domain",
@@ -6556,8 +6597,9 @@ var data$G = { adg_os_any:{ name:"extension",
6556
6597
  "badfilter" ],
6557
6598
  inverse_conflicts:true,
6558
6599
  exception_only:true } };
6600
+ data$H.adg_os_any;
6559
6601
 
6560
- var data$F = { adg_any:{ name:"font",
6602
+ var data$G = { adg_any:{ name:"font",
6561
6603
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#font-modifier",
6562
6604
  description:"The rule corresponds to requests for fonts, e.g. `.woff` filename extension." },
6563
6605
  abp_any:{ name:"font",
@@ -6566,8 +6608,11 @@ var data$F = { adg_any:{ name:"font",
6566
6608
  ubo_any:{ name:"font",
6567
6609
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293#options",
6568
6610
  description:"The rule corresponds to requests for fonts, e.g. `.woff` filename extension." } };
6611
+ data$G.adg_any;
6612
+ data$G.abp_any;
6613
+ data$G.ubo_any;
6569
6614
 
6570
- var data$E = { adg_os_any:{ name:"genericblock",
6615
+ var data$F = { adg_os_any:{ name:"genericblock",
6571
6616
  description:"Disables generic basic rules on pages that correspond to exception rule.",
6572
6617
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#genericblock-modifier",
6573
6618
  conflicts:[ "domain",
@@ -6622,8 +6667,13 @@ var data$E = { adg_os_any:{ name:"genericblock",
6622
6667
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options",
6623
6668
  negatable:false,
6624
6669
  exception_only:true } };
6670
+ data$F.adg_os_any;
6671
+ data$F.adg_ext_any;
6672
+ data$F.adg_cb_ios;
6673
+ data$F.adg_cb_safari;
6674
+ data$F.abp_ext_any;
6625
6675
 
6626
- var data$D = { adg_any:{ name:"generichide",
6676
+ var data$E = { adg_any:{ name:"generichide",
6627
6677
  aliases:[ "ghide" ],
6628
6678
  description:"Disables all generic cosmetic rules.",
6629
6679
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#generichide-modifier",
@@ -6654,8 +6704,11 @@ var data$D = { adg_any:{ name:"generichide",
6654
6704
  inverse_conflicts:true,
6655
6705
  negatable:false,
6656
6706
  exception_only:true } };
6707
+ data$E.adg_any;
6708
+ data$E.ubo_any;
6709
+ data$E.abp_any;
6657
6710
 
6658
- var data$C = { adg_os_any:{ name:"header",
6711
+ var data$D = { adg_os_any:{ name:"header",
6659
6712
  description:"The `$header` modifier allows matching the HTTP response\nhaving a specific header with (optionally) a specific value.",
6660
6713
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#header-modifier",
6661
6714
  assignable:true,
@@ -6670,8 +6723,11 @@ var data$C = { adg_os_any:{ name:"header",
6670
6723
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#header",
6671
6724
  assignable:true,
6672
6725
  value_format:"(?xi)\n ^\n # header name\n [\\w-]+\n (\n :\n # header value: string or regexp\n (\\w+|\\/.+\\/)\n )?" } };
6726
+ data$D.adg_os_any;
6727
+ data$D.adg_ext_any;
6728
+ data$D.ubo_ext_any;
6673
6729
 
6674
- var data$B = { adg_os_any:{ name:"hls",
6730
+ var data$C = { adg_os_any:{ name:"hls",
6675
6731
  description:"The `$hls` rules modify the response of a matching request.\nThey are intended as a convenient way to remove segments from HLS playlists (RFC 8216).",
6676
6732
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#hls-modifier",
6677
6733
  version_added:"CoreLibs 1.10",
@@ -6686,8 +6742,9 @@ var data$B = { adg_os_any:{ name:"hls",
6686
6742
  negatable:false,
6687
6743
  value_optional:true,
6688
6744
  value_format:"(?xi)\n (\n # string pattern\n \\w+\n # or regexp pattern\n |\n # TODO: improve regexp pattern to invalidate unescaped `/`, `$`, and `,`\n \\/.+\\/\n # options\n ([ti]*)?\n )" } };
6745
+ data$C.adg_os_any;
6689
6746
 
6690
- var data$A = { adg_any:{ name:"image",
6747
+ var data$B = { adg_any:{ name:"image",
6691
6748
  description:"The rule corresponds to images requests.",
6692
6749
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#image-modifier" },
6693
6750
  abp_any:{ name:"image",
@@ -6696,8 +6753,11 @@ var data$A = { adg_any:{ name:"image",
6696
6753
  ubo_any:{ name:"image",
6697
6754
  description:"The rule corresponds to images requests.",
6698
6755
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293#options" } };
6756
+ data$B.adg_any;
6757
+ data$B.abp_any;
6758
+ data$B.ubo_any;
6699
6759
 
6700
- var data$z = { adg_any:{ name:"important",
6760
+ var data$A = { adg_any:{ name:"important",
6701
6761
  description:"The `$important` modifier applied to a rule increases its priority\nover any other rule without `$important` modifier. Even over basic exception rules.",
6702
6762
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#important-modifier",
6703
6763
  negatable:false },
@@ -6705,8 +6765,10 @@ var data$z = { adg_any:{ name:"important",
6705
6765
  description:"The `$important` modifier applied to a rule increases its priority\nover any other rule without `$important` modifier. Even over basic exception rules.",
6706
6766
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#important",
6707
6767
  negatable:false } };
6768
+ data$A.adg_any;
6769
+ data$A.ubo_any;
6708
6770
 
6709
- var data$y = { adg_os_any:{ name:"inline-font",
6771
+ var data$z = { adg_os_any:{ name:"inline-font",
6710
6772
  description:"The `$inline-font` modifier is a sort of a shortcut for $csp modifier with specific value.\nE.g. `||example.org^$inline-font` is converting into:\n```adblock\n||example.org^$csp=font-src 'self' 'unsafe-eval' http: https: data: blob: mediastream: filesystem:\n```",
6711
6773
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#inline-font-modifier" },
6712
6774
  adg_ext_any:{ name:"inline-font",
@@ -6715,8 +6777,11 @@ var data$y = { adg_os_any:{ name:"inline-font",
6715
6777
  ubo_ext_any:{ name:"inline-font",
6716
6778
  description:"The `$inline-font` modifier is a sort of a shortcut for $csp modifier with specific value.\nE.g. `||example.org^$inline-font` is converting into:\n```adblock\n||example.org^$csp=font-src 'self' 'unsafe-eval' http: https: data: blob: mediastream: filesystem:\n```",
6717
6779
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#inline-font" } };
6780
+ data$z.adg_os_any;
6781
+ data$z.adg_ext_any;
6782
+ data$z.ubo_ext_any;
6718
6783
 
6719
- var data$x = { adg_os_any:{ name:"inline-script",
6784
+ var data$y = { adg_os_any:{ name:"inline-script",
6720
6785
  description:"The `$inline-script` modifier is a sort of a shortcut for $csp modifier with specific value.\nE.g. `||example.org^$inline-script` is converting into:\n```adblock\n||example.org^$csp=script-src 'self' 'unsafe-eval' http: https: data: blob: mediastream: filesystem:\n```",
6721
6786
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#inline-script-modifier" },
6722
6787
  adg_ext_any:{ name:"inline-script",
@@ -6725,8 +6790,11 @@ var data$x = { adg_os_any:{ name:"inline-script",
6725
6790
  ubo_ext_any:{ name:"inline-script",
6726
6791
  description:"The `$inline-script` modifier is a sort of a shortcut for $csp modifier with specific value.\nE.g. `||example.org^$inline-script` is converting into:\n```adblock\n||example.org^$csp=script-src 'self' 'unsafe-eval' http: https: data: blob: mediastream: filesystem:\n```",
6727
6792
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#inline-script" } };
6793
+ data$y.adg_os_any;
6794
+ data$y.adg_ext_any;
6795
+ data$y.ubo_ext_any;
6728
6796
 
6729
- var data$w = { adg_os_any:{ name:"jsinject",
6797
+ var data$x = { adg_os_any:{ name:"jsinject",
6730
6798
  description:"Forbids adding of javascript code to the page.",
6731
6799
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#jsinject-modifier",
6732
6800
  conflicts:[ "domain",
@@ -6784,16 +6852,21 @@ var data$w = { adg_os_any:{ name:"jsinject",
6784
6852
  inverse_conflicts:true,
6785
6853
  negatable:false,
6786
6854
  exception_only:true } };
6855
+ data$x.adg_os_any;
6856
+ data$x.adg_ext_any;
6857
+ data$x.adg_cb_ios;
6858
+ data$x.adg_cb_safari;
6787
6859
 
6788
- var data$v = { adg_os_any:{ name:"jsonprune",
6860
+ var data$w = { adg_os_any:{ name:"jsonprune",
6789
6861
  description:"The `$jsonprune` rules modify the response to a matching request\nby removing JSON items that match a modified JSONPath expression.\nThey do not modify responses which are not valid JSON documents.",
6790
6862
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#jsonprune-modifier",
6791
6863
  assignable:true,
6792
6864
  negatable:false,
6793
6865
  value_optional:true,
6794
6866
  value_format:"(?xi)\n ^\n # the expression always starts with a dollar sign (for root)\n # which should be escaped\n \\\\\n \\$\n \\.?\n # TODO: improve the expression to invalidate unescaped `$` and `,`\n .+\n $" } };
6867
+ data$w.adg_os_any;
6795
6868
 
6796
- var data$u = { adg_any:{ name:"match-case",
6869
+ var data$v = { adg_any:{ name:"match-case",
6797
6870
  description:"This modifier defines a rule which applies only to addresses that match the case.\nDefault rules are case-insensitive.",
6798
6871
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#match-case-modifier" },
6799
6872
  abp_any:{ name:"match-case",
@@ -6802,8 +6875,11 @@ var data$u = { adg_any:{ name:"match-case",
6802
6875
  ubo_any:{ name:"match-case",
6803
6876
  description:"This modifier defines a rule which applies only to addresses that match the case.\nDefault rules are case-insensitive.",
6804
6877
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#match-case" } };
6878
+ data$v.adg_any;
6879
+ data$v.abp_any;
6880
+ data$v.ubo_any;
6805
6881
 
6806
- var data$t = { adg_any:{ name:"media",
6882
+ var data$u = { adg_any:{ name:"media",
6807
6883
  description:"A restriction of third-party and own requests.\nA third-party request is a request from a different domain.\nFor example, a request to `example.org` from `domain.com` is a third-party request.",
6808
6884
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#media-modifier" },
6809
6885
  abp_any:{ name:"media",
@@ -6812,8 +6888,11 @@ var data$t = { adg_any:{ name:"media",
6812
6888
  ubo_any:{ name:"media",
6813
6889
  description:"A restriction of third-party and own requests.\nA third-party request is a request from a different domain.\nFor example, a request to `example.org` from `domain.com` is a third-party request.",
6814
6890
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293#options" } };
6891
+ data$u.adg_any;
6892
+ data$u.abp_any;
6893
+ data$u.ubo_any;
6815
6894
 
6816
- var data$s = { adg_os_any:{ name:"method",
6895
+ var data$t = { adg_os_any:{ name:"method",
6817
6896
  description:"This modifier limits the rule scope to requests that use the specified set of HTTP methods.\nNegated methods are allowed.",
6818
6897
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#method-modifier",
6819
6898
  negatable:false,
@@ -6831,8 +6910,11 @@ var data$s = { adg_os_any:{ name:"method",
6831
6910
  negatable:false,
6832
6911
  assignable:true,
6833
6912
  value_format:"pipe_separated_methods" } };
6913
+ data$t.adg_os_any;
6914
+ data$t.adg_ext_any;
6915
+ data$t.ubo_ext_any;
6834
6916
 
6835
- var data$r = { adg_os_any:{ name:"mp4",
6917
+ var data$s = { adg_os_any:{ name:"mp4",
6836
6918
  description:"As a response to blocked request AdGuard returns a short video placeholder.\nRules with `$mp4` are still supported and being converted into `$redirect=noopmp4-1s` now\nbut the support shall be removed in the future.",
6837
6919
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#mp4-modifier",
6838
6920
  deprecated:true,
@@ -6848,16 +6930,20 @@ var data$r = { adg_os_any:{ name:"mp4",
6848
6930
  description:"As a response to blocked request a short video placeholder is returned.\nRules with `$mp4` are supported and being converted into `$redirect=noopmp4-1s`.",
6849
6931
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#mp4",
6850
6932
  negatable:false } };
6933
+ data$s.adg_os_any;
6934
+ data$s.adg_ext_any;
6935
+ data$s.ubo_ext_any;
6851
6936
 
6852
- var data$q = { adg_os_any:{ name:"network",
6937
+ var data$r = { adg_os_any:{ name:"network",
6853
6938
  description:"This is basically a Firewall-kind of rules allowing to fully block\nor unblock access to a specified remote address.",
6854
6939
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#network-modifier",
6855
6940
  conflicts:[ "app",
6856
6941
  "important" ],
6857
6942
  inverse_conflicts:true,
6858
6943
  negatable:false } };
6944
+ data$r.adg_os_any;
6859
6945
 
6860
- var data$p = { adg_os_any:{ name:"_",
6946
+ var data$q = { adg_os_any:{ name:"_",
6861
6947
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#noop-modifier",
6862
6948
  description:"The noop modifier does nothing and can be used solely to increase rules' readability.\nIt consists of a sequence of underscore characters (_) of any length\nand can appear in a rule as many times as needed.",
6863
6949
  negatable:false },
@@ -6877,14 +6963,20 @@ var data$p = { adg_os_any:{ name:"_",
6877
6963
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#_-aka-noop",
6878
6964
  description:"The noop modifier does nothing and can be used solely to increase rules' readability.\nIt consists of a sequence of underscore characters (_) of any length\nand can appear in a rule as many times as needed.",
6879
6965
  negatable:false } };
6966
+ data$q.adg_os_any;
6967
+ data$q.adg_ext_any;
6968
+ data$q.adg_cb_ios;
6969
+ data$q.adg_cb_safari;
6970
+ data$q.ubo_ext_any;
6880
6971
 
6881
- var data$o = { adg_any:{ name:"object-subrequest",
6972
+ var data$p = { adg_any:{ name:"object-subrequest",
6882
6973
  description:"The `$object-subrequest` modifier is removed and is no longer supported.\nRules with it are considered as invalid.\nThe rule corresponds to requests by browser plugins (it is usually Flash).",
6883
6974
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#object-subrequest-modifier",
6884
6975
  removed:true,
6885
6976
  removal_message:"The `$object-subrequest` modifier is removed and is no longer supported.\nRules with it are considered as invalid." } };
6977
+ data$p.adg_any;
6886
6978
 
6887
- var data$n = { adg_any:{ name:"object",
6979
+ var data$o = { adg_any:{ name:"object",
6888
6980
  description:"The rule corresponds to browser plugins resources, e.g. Java or Flash",
6889
6981
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#object-modifier" },
6890
6982
  abp_any:{ name:"object",
@@ -6893,8 +6985,11 @@ var data$n = { adg_any:{ name:"object",
6893
6985
  ubo_any:{ name:"object",
6894
6986
  description:"The rule corresponds to browser plugins resources, e.g. Java or Flash.",
6895
6987
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options" } };
6988
+ data$o.adg_any;
6989
+ data$o.abp_any;
6990
+ data$o.ubo_any;
6896
6991
 
6897
- var data$m = { adg_any:{ name:"other",
6992
+ var data$n = { adg_any:{ name:"other",
6898
6993
  description:"The rule applies to requests for which the type has not been determined\nor does not match the types listed above.",
6899
6994
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#other-modifier" },
6900
6995
  abp_any:{ name:"other",
@@ -6903,8 +6998,11 @@ var data$m = { adg_any:{ name:"other",
6903
6998
  ubo_any:{ name:"other",
6904
6999
  description:"The rule applies to requests for which the type has not been determined\nor does not match the types listed above.",
6905
7000
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options" } };
7001
+ data$n.adg_any;
7002
+ data$n.abp_any;
7003
+ data$n.ubo_any;
6906
7004
 
6907
- var data$l = { adg_os_any:{ name:"permissions",
7005
+ var data$m = { adg_os_any:{ name:"permissions",
6908
7006
  description:"For the requests matching a `$permissions` rule, ad blocker strengthens response's feature policy\nby adding additional feature policy equal to the `$permissions` modifier contents.\n`$permissions` rules are applied independently from any other rule type.",
6909
7007
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#permissions-modifier",
6910
7008
  version_added:"CoreLibs 1.11",
@@ -6916,8 +7014,9 @@ var data$l = { adg_os_any:{ name:"permissions",
6916
7014
  negatable:false,
6917
7015
  value_optional:true,
6918
7016
  value_format:"permissions_value" } };
7017
+ data$m.adg_os_any;
6919
7018
 
6920
- var data$k = { adg_any:{ name:"ping",
7019
+ var data$l = { adg_any:{ name:"ping",
6921
7020
  description:"The rule corresponds to requests caused by either navigator.sendBeacon() or the ping attribute on links.",
6922
7021
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#ping-modifier" },
6923
7022
  abp_any:{ name:"ping",
@@ -6926,14 +7025,18 @@ var data$k = { adg_any:{ name:"ping",
6926
7025
  ubo_any:{ name:"ping",
6927
7026
  description:"The rule corresponds to requests caused by either navigator.sendBeacon() or the ping attribute on links.",
6928
7027
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options" } };
7028
+ data$l.adg_any;
7029
+ data$l.abp_any;
7030
+ data$l.ubo_any;
6929
7031
 
6930
- var data$j = { ubo_ext_any:{ name:"popunder",
7032
+ var data$k = { ubo_ext_any:{ name:"popunder",
6931
7033
  description:"To block \"popunders\" windows/tabs where the original page redirects to an advertisement\nand the desired content loads in the newly created one.\nTo be used in the same manner as the popup filter option, except that it will block popunders.",
6932
7034
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#popunder",
6933
7035
  negatable:false,
6934
7036
  block_only:true } };
7037
+ data$k.ubo_ext_any;
6935
7038
 
6936
- var data$i = { adg_any:{ name:"popup",
7039
+ var data$j = { adg_any:{ name:"popup",
6937
7040
  description:"Pages opened in a new tab or window.\nNote: Filters will not block pop-ups by default, only if the `$popup` type option is specified.",
6938
7041
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#popup-modifier",
6939
7042
  negatable:false },
@@ -6945,8 +7048,11 @@ var data$i = { adg_any:{ name:"popup",
6945
7048
  description:"Pages opened in a new tab or window.\nNote: Filters will not block pop-ups by default, only if the `$popup` type option is specified.",
6946
7049
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options",
6947
7050
  negatable:false } };
7051
+ data$j.adg_any;
7052
+ data$j.abp_any;
7053
+ data$j.ubo_any;
6948
7054
 
6949
- var data$h = { adg_os_any:{ name:"redirect-rule",
7055
+ var data$i = { adg_os_any:{ name:"redirect-rule",
6950
7056
  description:"This is basically an alias to `$redirect`\nsince it has the same \"redirection\" values and the logic is almost similar.\nThe difference is that `$redirect-rule` is applied only in the case\nwhen the target request is blocked by a different basic rule.",
6951
7057
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#redirect-rule-modifier",
6952
7058
  conflicts:[ "domain",
@@ -7036,8 +7142,11 @@ var data$h = { adg_os_any:{ name:"redirect-rule",
7036
7142
  assignable:true,
7037
7143
  negatable:false,
7038
7144
  value_format:"(?x)\n ^(\n 1x1\\.gif|\n 2x2\\.png|\n 3x2\\.png|\n 32x32\\.png|\n noop\\.css|\n noop\\.html|\n noopframe|\n noop\\.js|\n noop\\.txt|\n noop-0\\.1s\\.mp3|\n noop-0\\.5s\\.mp3|\n noop-1s\\.mp4|\n none|\n click2load\\.html|\n addthis_widget\\.js|\n amazon_ads\\.js|\n amazon_apstag\\.js|\n monkeybroker\\.js|\n doubleclick_instream_ad_status|\n google-analytics_ga\\.js|\n google-analytics_analytics\\.js|\n google-analytics_inpage_linkid\\.js|\n google-analytics_cx_api\\.js|\n google-ima\\.js|\n googletagservices_gpt\\.js|\n googletagmanager_gtm\\.js|\n googlesyndication_adsbygoogle\\.js|\n scorecardresearch_beacon\\.js|\n outbrain-widget\\.js|\n hd-main\\.js\n )\n (:[0-9]+)?$" } };
7145
+ data$i.adg_os_any;
7146
+ data$i.adg_ext_any;
7147
+ data$i.ubo_ext_any;
7039
7148
 
7040
- var data$g = { adg_os_any:{ name:"redirect",
7149
+ var data$h = { adg_os_any:{ name:"redirect",
7041
7150
  description:"Used to redirect web requests to a local \"resource\".",
7042
7151
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#redirect-modifier",
7043
7152
  assignable:true,
@@ -7064,6 +7173,22 @@ var data$g = { adg_os_any:{ name:"redirect",
7064
7173
  assignable:true,
7065
7174
  negatable:false,
7066
7175
  value_format:"(?x)\n # ABP resources always starts with the `abp-resource:` prefix\n ^abp-resource:\n # Possible resource names\n (\n blank-text|\n blank-css|\n blank-js|\n blank-html|\n blank-mp3|\n 1x1-transparent-gif|\n 2x2-transparent-png|\n 3x2-transparent-png|\n 32x32-transparent-png\n )$" } };
7176
+ data$h.adg_os_any;
7177
+ data$h.adg_ext_any;
7178
+ data$h.ubo_ext_any;
7179
+ data$h.abp_ext_any;
7180
+
7181
+ var data$g = { adg_os_any:{ name:"referrerpolicy",
7182
+ description:"This modifier allows overriding of a page's referrer policy.",
7183
+ docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#referrerpolicy-modifier",
7184
+ conflicts:[ "document",
7185
+ "subdocument" ],
7186
+ inverse_conflicts:true,
7187
+ assignable:true,
7188
+ negatable:false,
7189
+ value_optional:true,
7190
+ value_format:"referrerpolicy_value" } };
7191
+ data$g.adg_os_any;
7067
7192
 
7068
7193
  var data$f = { adg_os_any:{ name:"removeheader",
7069
7194
  description:"Rules with the `$removeheader` modifier are intended to remove headers from HTTP requests and responses.",
@@ -7119,6 +7244,8 @@ var data$f = { adg_os_any:{ name:"removeheader",
7119
7244
  negatable:false,
7120
7245
  value_optional:true,
7121
7246
  value_format:"(?xi)\n ^\n # Value may start with \"request:\"\n (request:)?\n\n # Forbidden header names\n (?!\n (\n access-control-allow-origin|\n access-control-allow-credentials|\n access-control-allow-headers|\n access-control-allow-methods|\n access-control-expose-headers|\n access-control-max-age|\n access-control-request-headers|\n access-control-request-method|\n origin|\n timing-allow-origin|\n allow|\n cross-origin-embedder-policy|\n cross-origin-opener-policy|\n cross-origin-resource-policy|\n content-security-policy|\n content-security-policy-report-only|\n expect-ct|\n feature-policy|\n origin-isolation|\n strict-transport-security|\n upgrade-insecure-requests|\n x-content-type-options|\n x-download-options|\n x-frame-options|\n x-permitted-cross-domain-policies|\n x-powered-by|\n x-xss-protection|\n public-key-pins|\n public-key-pins-report-only|\n sec-websocket-key|\n sec-websocket-extensions|\n sec-websocket-accept|\n sec-websocket-protocol|\n sec-websocket-version|\n p3p|\n sec-fetch-mode|\n sec-fetch-dest|\n sec-fetch-site|\n sec-fetch-user|\n referrer-policy|\n content-type|\n content-length|\n accept|\n accept-encoding|\n host|\n connection|\n transfer-encoding|\n upgrade\n )\n $)\n\n # Any other header name is allowed, if it matches the following regex\n [A-z0-9-]+\n $" } };
7247
+ data$f.adg_os_any;
7248
+ data$f.adg_ext_any;
7122
7249
 
7123
7250
  var data$e = { adg_os_any:{ name:"removeparam",
7124
7251
  description:"Rules with the `$removeparam` modifier are intended to strip query parameters from requests' URLs.",
@@ -7140,6 +7267,9 @@ var data$e = { adg_os_any:{ name:"removeparam",
7140
7267
  assignable:true,
7141
7268
  negatable:false,
7142
7269
  value_format:"(?xi)\n (\n # string pattern\n \\w+\n # or regexp pattern\n |\n \\/.+\\/\n # flags\n ([gimuy]+)?\n )" } };
7270
+ data$e.adg_os_any;
7271
+ data$e.adg_ext_any;
7272
+ data$e.ubo_ext_any;
7143
7273
 
7144
7274
  var data$d = { adg_os_any:{ name:"replace",
7145
7275
  description:"This modifier completely changes the rule behavior.\nIf it is applied, the rule will not block the request. The response is going to be modified instead.",
@@ -7178,6 +7308,8 @@ var data$d = { adg_os_any:{ name:"replace",
7178
7308
  assignable:true,
7179
7309
  negatable:false,
7180
7310
  value_format:"(?xi)\n ^\n \\/\n # the regexp to match by\n (.+)\n # separator\n \\/\n # replacement\n (.+)?\n \\/\n # flags\n ([gimuy]*)?\n $" } };
7311
+ data$d.adg_os_any;
7312
+ data$d.adg_ext_firefox;
7181
7313
 
7182
7314
  var data$c = { adg_any:{ name:"script",
7183
7315
  description:"The rule corresponds to script requests, e.g. javascript, vbscript.",
@@ -7188,6 +7320,9 @@ var data$c = { adg_any:{ name:"script",
7188
7320
  ubo_any:{ name:"script",
7189
7321
  description:"The rule corresponds to script requests, e.g. javascript, vbscript.",
7190
7322
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293#options" } };
7323
+ data$c.adg_any;
7324
+ data$c.abp_any;
7325
+ data$c.ubo_any;
7191
7326
 
7192
7327
  var data$b = { adg_any:{ name:"specifichide",
7193
7328
  aliases:[ "shide" ],
@@ -7213,6 +7348,8 @@ var data$b = { adg_any:{ name:"specifichide",
7213
7348
  inverse_conflicts:true,
7214
7349
  negatable:false,
7215
7350
  exception_only:true } };
7351
+ data$b.adg_any;
7352
+ data$b.ubo_any;
7216
7353
 
7217
7354
  var data$a = { adg_os_any:{ name:"stealth",
7218
7355
  description:"Disables the Stealth Mode module for all corresponding pages and requests.",
@@ -7254,14 +7391,21 @@ var data$a = { adg_os_any:{ name:"stealth",
7254
7391
  exception_only:true,
7255
7392
  value_optional:true,
7256
7393
  value_format:"pipe_separated_stealth_options" } };
7394
+ data$a.adg_os_any;
7395
+ data$a.adg_ext_chrome;
7396
+ data$a.adg_ext_firefox;
7397
+ data$a.adg_ext_opera;
7398
+ data$a.adg_ext_edge;
7257
7399
 
7258
7400
  var data$9 = { ubo_any:{ name:"strict1p",
7259
7401
  description:"This new `strict1p` option can check for strict partyness.\nFor example, a network request qualifies as 1st-party if both the context and the request share the same hostname.",
7260
7402
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#strict1p" } };
7403
+ data$9.ubo_any;
7261
7404
 
7262
7405
  var data$8 = { ubo_any:{ name:"strict3p",
7263
7406
  description:"This new `strict3p` option can check for strict partyness.\nFor example, a network request qualifies as 3rd-party if the context and the request hostnames are different.",
7264
7407
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#strict3p" } };
7408
+ data$8.ubo_any;
7265
7409
 
7266
7410
  var data$7 = { adg_any:{ name:"stylesheet",
7267
7411
  description:"The rule corresponds to CSS files requests.",
@@ -7273,6 +7417,9 @@ var data$7 = { adg_any:{ name:"stylesheet",
7273
7417
  aliases:[ "css" ],
7274
7418
  description:"The rule corresponds to CSS files requests.",
7275
7419
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#css" } };
7420
+ data$7.adg_any;
7421
+ data$7.abp_any;
7422
+ data$7.ubo_any;
7276
7423
 
7277
7424
  var data$6 = { adg_any:{ name:"subdocument",
7278
7425
  description:"The rule corresponds to requests for built-in pages — HTML tags frame and iframe.",
@@ -7284,6 +7431,9 @@ var data$6 = { adg_any:{ name:"subdocument",
7284
7431
  aliases:[ "frame" ],
7285
7432
  description:"The rule corresponds to requests for built-in pages — HTML tags frame and iframe.",
7286
7433
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#frame" } };
7434
+ data$6.adg_any;
7435
+ data$6.abp_any;
7436
+ data$6.ubo_any;
7287
7437
 
7288
7438
  var data$5 = { adg_any:{ name:"third-party",
7289
7439
  aliases:[ "3p" ],
@@ -7296,6 +7446,9 @@ var data$5 = { adg_any:{ name:"third-party",
7296
7446
  abp_any:{ name:"third-party",
7297
7447
  description:"A restriction of third-party and own requests.\nA third-party request is a request from a different domain.\nFor example, a request to `example.org` from `domain.com` is a third-party request.",
7298
7448
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293#party-requests" } };
7449
+ data$5.adg_any;
7450
+ data$5.ubo_any;
7451
+ data$5.abp_any;
7299
7452
 
7300
7453
  var data$4 = { ubo_ext_any:{ name:"to",
7301
7454
  description:"The main motivation of this option is\nto give static network filtering engine an equivalent of DNR's `requestDomains` and `excludedRequestDomains`.",
@@ -7303,6 +7456,7 @@ var data$4 = { ubo_ext_any:{ name:"to",
7303
7456
  assignable:true,
7304
7457
  negatable:false,
7305
7458
  value_format:"pipe_separated_domains" } };
7459
+ data$4.ubo_ext_any;
7306
7460
 
7307
7461
  var data$3 = { adg_any:{ name:"urlblock",
7308
7462
  description:"Disables blocking of all requests sent from the pages matching the rule.",
@@ -7318,6 +7472,7 @@ var data$3 = { adg_any:{ name:"urlblock",
7318
7472
  inverse_conflicts:true,
7319
7473
  negatable:false,
7320
7474
  exception_only:true } };
7475
+ data$3.adg_any;
7321
7476
 
7322
7477
  var data$2 = { adg_any:{ name:"webrtc",
7323
7478
  description:"The rule applies only to WebRTC connections.",
@@ -7333,6 +7488,9 @@ var data$2 = { adg_any:{ name:"webrtc",
7333
7488
  description:"The rule applies only to WebRTC connections.",
7334
7489
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options",
7335
7490
  version_added:"1.13.3" } };
7491
+ data$2.adg_any;
7492
+ data$2.ubo_any;
7493
+ data$2.abp_any;
7336
7494
 
7337
7495
  var data$1 = { adg_os_any:{ name:"websocket",
7338
7496
  description:"The rule applies only to WebSocket connections.",
@@ -7352,6 +7510,12 @@ var data$1 = { adg_os_any:{ name:"websocket",
7352
7510
  ubo_ext_any:{ name:"websocket",
7353
7511
  description:"The rule applies only to WebSocket connections.",
7354
7512
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options" } };
7513
+ data$1.adg_os_any;
7514
+ data$1.adg_ext_any;
7515
+ data$1.adg_cb_ios;
7516
+ data$1.adg_cb_safari;
7517
+ data$1.abp_ext_any;
7518
+ data$1.ubo_ext_any;
7355
7519
 
7356
7520
  var data = { adg_any:{ name:"xmlhttprequest",
7357
7521
  aliases:[ "xhr" ],
@@ -7364,6 +7528,9 @@ var data = { adg_any:{ name:"xmlhttprequest",
7364
7528
  aliases:[ "xmlhttprequest" ],
7365
7529
  description:"The rule applies only to ajax requests (requests sent via javascript object XMLHttpRequest).",
7366
7530
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#xhr" } };
7531
+ data.adg_any;
7532
+ data.abp_any;
7533
+ data.ubo_any;
7367
7534
 
7368
7535
  /**
7369
7536
  * @file Raw compatibility tables data reexport from yaml files.
@@ -7374,46 +7541,47 @@ var data = { adg_any:{ name:"xmlhttprequest",
7374
7541
  // @ts-nocheck
7375
7542
  // Please keep imports and exports in alphabetical order
7376
7543
  const rawModifiersData = {
7377
- all: data$T,
7378
- app: data$S,
7379
- badfilter: data$R,
7380
- cname: data$Q,
7381
- content: data$P,
7382
- cookie: data$O,
7383
- csp: data$N,
7384
- denyallow: data$M,
7385
- document: data$L,
7386
- domain: data$K,
7387
- elemhide: data$J,
7388
- empty: data$I,
7389
- firstParty: data$H,
7390
- extension: data$G,
7391
- font: data$F,
7392
- genericblock: data$E,
7393
- generichide: data$D,
7394
- header: data$C,
7395
- hls: data$B,
7396
- image: data$A,
7397
- important: data$z,
7398
- inlineFont: data$y,
7399
- inlineScript: data$x,
7400
- jsinject: data$w,
7401
- jsonprune: data$v,
7402
- matchCase: data$u,
7403
- media: data$t,
7404
- method: data$s,
7405
- mp4: data$r,
7406
- network: data$q,
7407
- noop: data$p,
7408
- objectSubrequest: data$o,
7409
- object: data$n,
7410
- other: data$m,
7411
- permissions: data$l,
7412
- ping: data$k,
7413
- popunder: data$j,
7414
- popup: data$i,
7415
- redirectRule: data$h,
7416
- redirect: data$g,
7544
+ all: data$U,
7545
+ app: data$T,
7546
+ badfilter: data$S,
7547
+ cname: data$R,
7548
+ content: data$Q,
7549
+ cookie: data$P,
7550
+ csp: data$O,
7551
+ denyallow: data$N,
7552
+ document: data$M,
7553
+ domain: data$L,
7554
+ elemhide: data$K,
7555
+ empty: data$J,
7556
+ firstParty: data$I,
7557
+ extension: data$H,
7558
+ font: data$G,
7559
+ genericblock: data$F,
7560
+ generichide: data$E,
7561
+ header: data$D,
7562
+ hls: data$C,
7563
+ image: data$B,
7564
+ important: data$A,
7565
+ inlineFont: data$z,
7566
+ inlineScript: data$y,
7567
+ jsinject: data$x,
7568
+ jsonprune: data$w,
7569
+ matchCase: data$v,
7570
+ media: data$u,
7571
+ method: data$t,
7572
+ mp4: data$s,
7573
+ network: data$r,
7574
+ noop: data$q,
7575
+ objectSubrequest: data$p,
7576
+ object: data$o,
7577
+ other: data$n,
7578
+ permissions: data$m,
7579
+ ping: data$l,
7580
+ popunder: data$k,
7581
+ popup: data$j,
7582
+ redirectRule: data$i,
7583
+ redirect: data$h,
7584
+ referrerpolicy: data$g,
7417
7585
  removeheader: data$f,
7418
7586
  removeparam: data$e,
7419
7587
  replace: data$d,
@@ -7586,6 +7754,7 @@ const ALLOWED_CSP_DIRECTIVES = new Set([
7586
7754
  'child-src',
7587
7755
  'connect-src',
7588
7756
  'default-src',
7757
+ 'fenced-frame-src',
7589
7758
  'font-src',
7590
7759
  'form-action',
7591
7760
  'frame-ancestors',
@@ -7597,16 +7766,23 @@ const ALLOWED_CSP_DIRECTIVES = new Set([
7597
7766
  'object-src',
7598
7767
  'plugin-types',
7599
7768
  'prefetch-src',
7769
+ 'referrer',
7600
7770
  'report-to',
7601
7771
  'report-uri',
7772
+ 'require-trusted-types-for',
7602
7773
  'sandbox',
7603
7774
  'script-src',
7775
+ 'script-src-attr',
7776
+ 'script-src-elem',
7604
7777
  'style-src',
7778
+ 'style-src-attr',
7779
+ 'style-src-elem',
7780
+ 'trusted-types',
7605
7781
  'upgrade-insecure-requests',
7606
7782
  'worker-src',
7607
7783
  ]);
7608
7784
  /**
7609
- * Allowed stealth options for $permissions modifier.
7785
+ * Allowed directives for $permissions modifier.
7610
7786
  *
7611
7787
  * @see {@link https://adguard.app/kb/general/ad-filtering/create-own-filters/#permissions-modifier}
7612
7788
  */
@@ -7656,6 +7832,21 @@ const PERMISSIONS_TOKEN_SELF = 'self';
7656
7832
  * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Permissions_Policy#allowlists}
7657
7833
  */
7658
7834
  const EMPTY_PERMISSIONS_ALLOWLIST = `${OPEN_PARENTHESIS}${CLOSE_PARENTHESIS}`;
7835
+ /**
7836
+ * Allowed directives for $referrerpolicy modifier.
7837
+ *
7838
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy}
7839
+ */
7840
+ const REFERRER_POLICY_DIRECTIVES = new Set([
7841
+ 'no-referrer',
7842
+ 'no-referrer-when-downgrade',
7843
+ 'origin',
7844
+ 'origin-when-cross-origin',
7845
+ 'same-origin',
7846
+ 'strict-origin',
7847
+ 'strict-origin-when-cross-origin',
7848
+ 'unsafe-url',
7849
+ ]);
7659
7850
  /**
7660
7851
  * Prefixes for error messages used in modifier validation.
7661
7852
  */
@@ -7668,6 +7859,7 @@ const VALIDATION_ERROR_PREFIX = {
7668
7859
  INVALID_PERMISSION_DIRECTIVE: 'Invalid Permissions-Policy directive for the modifier',
7669
7860
  INVALID_PERMISSION_ORIGINS: 'Origins in the value is invalid for the modifier and the directive',
7670
7861
  INVALID_PERMISSION_ORIGIN_QUOTES: 'Double quotes should be used for origins in the value of the modifier',
7862
+ INVALID_REFERRER_POLICY_DIRECTIVE: 'Invalid Referrer-Policy directive for the modifier',
7671
7863
  MIXED_NEGATIONS: 'Simultaneous usage of negated and not negated values is forbidden for the modifier',
7672
7864
  NO_CSP_VALUE: 'No CSP value for the modifier and the directive',
7673
7865
  NO_CSP_DIRECTIVE_QUOTE: 'CSP directives should no be quoted for the modifier',
@@ -7991,6 +8183,7 @@ var CustomValueFormatValidatorName;
7991
8183
  CustomValueFormatValidatorName["Domain"] = "pipe_separated_domains";
7992
8184
  CustomValueFormatValidatorName["Method"] = "pipe_separated_methods";
7993
8185
  CustomValueFormatValidatorName["Permissions"] = "permissions_value";
8186
+ CustomValueFormatValidatorName["ReferrerPolicy"] = "referrerpolicy_value";
7994
8187
  CustomValueFormatValidatorName["StealthOption"] = "pipe_separated_stealth_options";
7995
8188
  })(CustomValueFormatValidatorName || (CustomValueFormatValidatorName = {}));
7996
8189
  /**
@@ -8447,6 +8640,26 @@ const validatePermissions = (modifier) => {
8447
8640
  }
8448
8641
  return { valid: true };
8449
8642
  };
8643
+ /**
8644
+ * Validates `referrerpolicy_value` custom value format.
8645
+ * Used for $referrerpolicy modifier.
8646
+ *
8647
+ * @param modifier Modifier AST node.
8648
+ *
8649
+ * @returns Validation result.
8650
+ */
8651
+ const validateReferrerPolicy = (modifier) => {
8652
+ if (!modifier.value?.value) {
8653
+ return getValueRequiredValidationResult(modifier.modifier.value);
8654
+ }
8655
+ const modifierName = modifier.modifier.value;
8656
+ const modifierValue = modifier.value.value;
8657
+ if (!REFERRER_POLICY_DIRECTIVES.has(modifierValue)) {
8658
+ // eslint-disable-next-line max-len
8659
+ return getInvalidValidationResult(`${VALIDATION_ERROR_PREFIX.INVALID_REFERRER_POLICY_DIRECTIVE}: '${modifierName}': '${modifierValue}'`);
8660
+ }
8661
+ return { valid: true };
8662
+ };
8450
8663
  /**
8451
8664
  * Map of all available pre-defined validators for modifiers with custom `value_format`.
8452
8665
  */
@@ -8457,6 +8670,7 @@ const CUSTOM_VALUE_FORMAT_MAP = {
8457
8670
  [CustomValueFormatValidatorName.Domain]: validatePipeSeparatedDomains,
8458
8671
  [CustomValueFormatValidatorName.Method]: validatePipeSeparatedMethods,
8459
8672
  [CustomValueFormatValidatorName.Permissions]: validatePermissions,
8673
+ [CustomValueFormatValidatorName.ReferrerPolicy]: validateReferrerPolicy,
8460
8674
  [CustomValueFormatValidatorName.StealthOption]: validatePipeSeparatedStealthOptions,
8461
8675
  };
8462
8676
  /**
@@ -10535,7 +10749,7 @@ class LogicalExpressionUtils {
10535
10749
  }
10536
10750
  }
10537
10751
 
10538
- const version$1 = "1.1.6";
10752
+ const version$1 = "1.1.8";
10539
10753
 
10540
10754
  /**
10541
10755
  * @file AGTree version