@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.
@@ -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
  */
@@ -6262,7 +6262,7 @@ class RuleConversionError extends Error {
6262
6262
  }
6263
6263
  }
6264
6264
 
6265
- var data$T = { adg_os_any:{ name:"all",
6265
+ var data$U = { adg_os_any:{ name:"all",
6266
6266
  description:"$all modifier is made of $document, $popup, and all content-type modifiers combined.",
6267
6267
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#all-modifier",
6268
6268
  negatable:false,
@@ -6287,15 +6287,21 @@ var data$T = { adg_os_any:{ name:"all",
6287
6287
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#all",
6288
6288
  negatable:false,
6289
6289
  block_only:false } };
6290
+ data$U.adg_os_any;
6291
+ data$U.adg_ext_any;
6292
+ data$U.adg_cb_ios;
6293
+ data$U.adg_cb_safari;
6294
+ data$U.ubo_ext_any;
6290
6295
 
6291
- var data$S = { adg_os_any:{ name:"app",
6296
+ var data$T = { adg_os_any:{ name:"app",
6292
6297
  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.",
6293
6298
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#app-modifier",
6294
6299
  assignable:true,
6295
6300
  negatable:false,
6296
6301
  value_format:"pipe_separated_apps" } };
6302
+ data$T.adg_os_any;
6297
6303
 
6298
- var data$R = { adg_os_any:{ name:"badfilter",
6304
+ var data$S = { adg_os_any:{ name:"badfilter",
6299
6305
  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).",
6300
6306
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#badfilter-modifier",
6301
6307
  negatable:false },
@@ -6315,20 +6321,27 @@ var data$R = { adg_os_any:{ name:"badfilter",
6315
6321
  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).",
6316
6322
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#badfilter",
6317
6323
  negatable:false } };
6324
+ data$S.adg_os_any;
6325
+ data$S.adg_ext_any;
6326
+ data$S.adg_cb_ios;
6327
+ data$S.adg_cb_safari;
6328
+ data$S.ubo_ext_any;
6318
6329
 
6319
- var data$Q = { ubo_ext_any:{ name:"cname",
6330
+ var data$R = { ubo_ext_any:{ name:"cname",
6320
6331
  description:"When used in an exception filter,\nit will bypass blocking CNAME uncloaked requests for the current (specified) document.",
6321
6332
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#cname",
6322
6333
  negatable:false,
6323
6334
  exception_only:true } };
6335
+ data$R.ubo_ext_any;
6324
6336
 
6325
- var data$P = { adg_os_any:{ name:"content",
6337
+ var data$Q = { adg_os_any:{ name:"content",
6326
6338
  description:"Disables HTML filtering and `$replace` rules on the pages that match the rule.",
6327
6339
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#content-modifier",
6328
6340
  negatable:false,
6329
6341
  exception_only:true } };
6342
+ data$Q.adg_os_any;
6330
6343
 
6331
- var data$O = { adg_os_any:{ name:"cookie",
6344
+ var data$P = { adg_os_any:{ name:"cookie",
6332
6345
  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.",
6333
6346
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#cookie-modifier",
6334
6347
  assignable:true,
@@ -6342,8 +6355,10 @@ var data$O = { adg_os_any:{ name:"cookie",
6342
6355
  negatable:false,
6343
6356
  value_optional:true,
6344
6357
  value_format:"^([^;=\\s]*?)((?:;(maxAge=\\d+;?)?|(sameSite=(lax|none|strict);?)?){1,3})(?<!;)$" } };
6358
+ data$P.adg_os_any;
6359
+ data$P.adg_ext_any;
6345
6360
 
6346
- var data$N = { adg_os_any:{ name:"csp",
6361
+ var data$O = { adg_os_any:{ name:"csp",
6347
6362
  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.",
6348
6363
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#csp-modifier",
6349
6364
  conflicts:[ "domain",
@@ -6389,8 +6404,12 @@ var data$N = { adg_os_any:{ name:"csp",
6389
6404
  negatable:false,
6390
6405
  value_optional:true,
6391
6406
  value_format:"csp_value" } };
6407
+ data$O.adg_os_any;
6408
+ data$O.adg_ext_any;
6409
+ data$O.abp_ext_any;
6410
+ data$O.ubo_ext_any;
6392
6411
 
6393
- var data$M = { adg_os_any:{ name:"denyallow",
6412
+ var data$N = { adg_os_any:{ name:"denyallow",
6394
6413
  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.",
6395
6414
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#denyallow-modifier",
6396
6415
  conflicts:[ "to" ],
@@ -6425,8 +6444,13 @@ var data$M = { adg_os_any:{ name:"denyallow",
6425
6444
  assignable:true,
6426
6445
  negatable:false,
6427
6446
  value_format:"pipe_separated_denyallow_domains" } };
6447
+ data$N.adg_os_any;
6448
+ data$N.adg_ext_any;
6449
+ data$N.adg_cb_ios;
6450
+ data$N.adg_cb_safari;
6451
+ data$N.ubo_ext_any;
6428
6452
 
6429
- var data$L = { adg_os_any:{ name:"document",
6453
+ var data$M = { adg_os_any:{ name:"document",
6430
6454
  description:"The rule corresponds to the main frame document requests,\ni.e. HTML documents that are loaded in the browser tab.",
6431
6455
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#document-modifier",
6432
6456
  negatable:false },
@@ -6451,8 +6475,14 @@ var data$L = { adg_os_any:{ name:"document",
6451
6475
  description:"The rule corresponds to the main frame document requests,\ni.e. HTML documents that are loaded in the browser tab.",
6452
6476
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#document",
6453
6477
  negatable:false } };
6454
-
6455
- var data$K = { adg_any:{ name:"domain",
6478
+ data$M.adg_os_any;
6479
+ data$M.adg_ext_any;
6480
+ data$M.adg_cb_ios;
6481
+ data$M.adg_cb_safari;
6482
+ data$M.abp_ext_any;
6483
+ data$M.ubo_ext_any;
6484
+
6485
+ var data$L = { adg_any:{ name:"domain",
6456
6486
  aliases:[ "from" ],
6457
6487
  description:"The `$domain` modifier limits the rule application area to a list of domains and their subdomains.",
6458
6488
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#domain-modifier",
@@ -6472,8 +6502,11 @@ var data$K = { adg_any:{ name:"domain",
6472
6502
  assignable:true,
6473
6503
  negatable:false,
6474
6504
  value_format:"pipe_separated_domains" } };
6505
+ data$L.adg_any;
6506
+ data$L.abp_any;
6507
+ data$L.ubo_any;
6475
6508
 
6476
- var data$J = { adg_any:{ name:"elemhide",
6509
+ var data$K = { adg_any:{ name:"elemhide",
6477
6510
  aliases:[ "ehide" ],
6478
6511
  description:"Disables any cosmetic rules on the pages matching the rule.",
6479
6512
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#elemhide-modifier",
@@ -6491,8 +6524,11 @@ var data$J = { adg_any:{ name:"elemhide",
6491
6524
  exception_only:true,
6492
6525
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#elemhide-1",
6493
6526
  description:"Disables any cosmetic rules on the pages matching the rule." } };
6527
+ data$K.adg_any;
6528
+ data$K.abp_any;
6529
+ data$K.ubo_any;
6494
6530
 
6495
- var data$I = { adg_os_any:{ name:"empty",
6531
+ var data$J = { adg_os_any:{ name:"empty",
6496
6532
  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.",
6497
6533
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#empty-modifier",
6498
6534
  deprecated:true,
@@ -6508,8 +6544,11 @@ var data$I = { adg_os_any:{ name:"empty",
6508
6544
  description:"This modifier is deprecated in favor of the $redirect modifier.\nRules with `$empty` are supported and being converted into `$redirect=nooptext`.",
6509
6545
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#empty",
6510
6546
  negatable:false } };
6547
+ data$J.adg_os_any;
6548
+ data$J.adg_ext_any;
6549
+ data$J.ubo_ext_any;
6511
6550
 
6512
- var data$H = { adg_any:{ name:"first-party",
6551
+ var data$I = { adg_any:{ name:"first-party",
6513
6552
  aliases:[ "1p",
6514
6553
  "~third-party" ],
6515
6554
  description:"A restriction of first-party requests. Equal to `~third-party`.",
@@ -6521,8 +6560,10 @@ var data$H = { adg_any:{ name:"first-party",
6521
6560
  description:"A restriction of first-party requests. Equal to `~third-party`.",
6522
6561
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#1p",
6523
6562
  negatable:false } };
6563
+ data$I.adg_any;
6564
+ data$I.ubo_any;
6524
6565
 
6525
- var data$G = { adg_os_any:{ name:"extension",
6566
+ var data$H = { adg_os_any:{ name:"extension",
6526
6567
  description:"Disables all userscripts on the pages matching this rule.",
6527
6568
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#extension-modifier",
6528
6569
  conflicts:[ "domain",
@@ -6537,8 +6578,9 @@ var data$G = { adg_os_any:{ name:"extension",
6537
6578
  "badfilter" ],
6538
6579
  inverse_conflicts:true,
6539
6580
  exception_only:true } };
6581
+ data$H.adg_os_any;
6540
6582
 
6541
- var data$F = { adg_any:{ name:"font",
6583
+ var data$G = { adg_any:{ name:"font",
6542
6584
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#font-modifier",
6543
6585
  description:"The rule corresponds to requests for fonts, e.g. `.woff` filename extension." },
6544
6586
  abp_any:{ name:"font",
@@ -6547,8 +6589,11 @@ var data$F = { adg_any:{ name:"font",
6547
6589
  ubo_any:{ name:"font",
6548
6590
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293#options",
6549
6591
  description:"The rule corresponds to requests for fonts, e.g. `.woff` filename extension." } };
6592
+ data$G.adg_any;
6593
+ data$G.abp_any;
6594
+ data$G.ubo_any;
6550
6595
 
6551
- var data$E = { adg_os_any:{ name:"genericblock",
6596
+ var data$F = { adg_os_any:{ name:"genericblock",
6552
6597
  description:"Disables generic basic rules on pages that correspond to exception rule.",
6553
6598
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#genericblock-modifier",
6554
6599
  conflicts:[ "domain",
@@ -6603,8 +6648,13 @@ var data$E = { adg_os_any:{ name:"genericblock",
6603
6648
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options",
6604
6649
  negatable:false,
6605
6650
  exception_only:true } };
6651
+ data$F.adg_os_any;
6652
+ data$F.adg_ext_any;
6653
+ data$F.adg_cb_ios;
6654
+ data$F.adg_cb_safari;
6655
+ data$F.abp_ext_any;
6606
6656
 
6607
- var data$D = { adg_any:{ name:"generichide",
6657
+ var data$E = { adg_any:{ name:"generichide",
6608
6658
  aliases:[ "ghide" ],
6609
6659
  description:"Disables all generic cosmetic rules.",
6610
6660
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#generichide-modifier",
@@ -6635,8 +6685,11 @@ var data$D = { adg_any:{ name:"generichide",
6635
6685
  inverse_conflicts:true,
6636
6686
  negatable:false,
6637
6687
  exception_only:true } };
6688
+ data$E.adg_any;
6689
+ data$E.ubo_any;
6690
+ data$E.abp_any;
6638
6691
 
6639
- var data$C = { adg_os_any:{ name:"header",
6692
+ var data$D = { adg_os_any:{ name:"header",
6640
6693
  description:"The `$header` modifier allows matching the HTTP response\nhaving a specific header with (optionally) a specific value.",
6641
6694
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#header-modifier",
6642
6695
  assignable:true,
@@ -6651,8 +6704,11 @@ var data$C = { adg_os_any:{ name:"header",
6651
6704
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#header",
6652
6705
  assignable:true,
6653
6706
  value_format:"(?xi)\n ^\n # header name\n [\\w-]+\n (\n :\n # header value: string or regexp\n (\\w+|\\/.+\\/)\n )?" } };
6707
+ data$D.adg_os_any;
6708
+ data$D.adg_ext_any;
6709
+ data$D.ubo_ext_any;
6654
6710
 
6655
- var data$B = { adg_os_any:{ name:"hls",
6711
+ var data$C = { adg_os_any:{ name:"hls",
6656
6712
  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).",
6657
6713
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#hls-modifier",
6658
6714
  version_added:"CoreLibs 1.10",
@@ -6667,8 +6723,9 @@ var data$B = { adg_os_any:{ name:"hls",
6667
6723
  negatable:false,
6668
6724
  value_optional:true,
6669
6725
  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 )" } };
6726
+ data$C.adg_os_any;
6670
6727
 
6671
- var data$A = { adg_any:{ name:"image",
6728
+ var data$B = { adg_any:{ name:"image",
6672
6729
  description:"The rule corresponds to images requests.",
6673
6730
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#image-modifier" },
6674
6731
  abp_any:{ name:"image",
@@ -6677,8 +6734,11 @@ var data$A = { adg_any:{ name:"image",
6677
6734
  ubo_any:{ name:"image",
6678
6735
  description:"The rule corresponds to images requests.",
6679
6736
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293#options" } };
6737
+ data$B.adg_any;
6738
+ data$B.abp_any;
6739
+ data$B.ubo_any;
6680
6740
 
6681
- var data$z = { adg_any:{ name:"important",
6741
+ var data$A = { adg_any:{ name:"important",
6682
6742
  description:"The `$important` modifier applied to a rule increases its priority\nover any other rule without `$important` modifier. Even over basic exception rules.",
6683
6743
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#important-modifier",
6684
6744
  negatable:false },
@@ -6686,8 +6746,10 @@ var data$z = { adg_any:{ name:"important",
6686
6746
  description:"The `$important` modifier applied to a rule increases its priority\nover any other rule without `$important` modifier. Even over basic exception rules.",
6687
6747
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#important",
6688
6748
  negatable:false } };
6749
+ data$A.adg_any;
6750
+ data$A.ubo_any;
6689
6751
 
6690
- var data$y = { adg_os_any:{ name:"inline-font",
6752
+ var data$z = { adg_os_any:{ name:"inline-font",
6691
6753
  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```",
6692
6754
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#inline-font-modifier" },
6693
6755
  adg_ext_any:{ name:"inline-font",
@@ -6696,8 +6758,11 @@ var data$y = { adg_os_any:{ name:"inline-font",
6696
6758
  ubo_ext_any:{ name:"inline-font",
6697
6759
  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```",
6698
6760
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#inline-font" } };
6761
+ data$z.adg_os_any;
6762
+ data$z.adg_ext_any;
6763
+ data$z.ubo_ext_any;
6699
6764
 
6700
- var data$x = { adg_os_any:{ name:"inline-script",
6765
+ var data$y = { adg_os_any:{ name:"inline-script",
6701
6766
  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```",
6702
6767
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#inline-script-modifier" },
6703
6768
  adg_ext_any:{ name:"inline-script",
@@ -6706,8 +6771,11 @@ var data$x = { adg_os_any:{ name:"inline-script",
6706
6771
  ubo_ext_any:{ name:"inline-script",
6707
6772
  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```",
6708
6773
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#inline-script" } };
6774
+ data$y.adg_os_any;
6775
+ data$y.adg_ext_any;
6776
+ data$y.ubo_ext_any;
6709
6777
 
6710
- var data$w = { adg_os_any:{ name:"jsinject",
6778
+ var data$x = { adg_os_any:{ name:"jsinject",
6711
6779
  description:"Forbids adding of javascript code to the page.",
6712
6780
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#jsinject-modifier",
6713
6781
  conflicts:[ "domain",
@@ -6765,16 +6833,21 @@ var data$w = { adg_os_any:{ name:"jsinject",
6765
6833
  inverse_conflicts:true,
6766
6834
  negatable:false,
6767
6835
  exception_only:true } };
6836
+ data$x.adg_os_any;
6837
+ data$x.adg_ext_any;
6838
+ data$x.adg_cb_ios;
6839
+ data$x.adg_cb_safari;
6768
6840
 
6769
- var data$v = { adg_os_any:{ name:"jsonprune",
6841
+ var data$w = { adg_os_any:{ name:"jsonprune",
6770
6842
  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.",
6771
6843
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#jsonprune-modifier",
6772
6844
  assignable:true,
6773
6845
  negatable:false,
6774
6846
  value_optional:true,
6775
6847
  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 $" } };
6848
+ data$w.adg_os_any;
6776
6849
 
6777
- var data$u = { adg_any:{ name:"match-case",
6850
+ var data$v = { adg_any:{ name:"match-case",
6778
6851
  description:"This modifier defines a rule which applies only to addresses that match the case.\nDefault rules are case-insensitive.",
6779
6852
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#match-case-modifier" },
6780
6853
  abp_any:{ name:"match-case",
@@ -6783,8 +6856,11 @@ var data$u = { adg_any:{ name:"match-case",
6783
6856
  ubo_any:{ name:"match-case",
6784
6857
  description:"This modifier defines a rule which applies only to addresses that match the case.\nDefault rules are case-insensitive.",
6785
6858
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#match-case" } };
6859
+ data$v.adg_any;
6860
+ data$v.abp_any;
6861
+ data$v.ubo_any;
6786
6862
 
6787
- var data$t = { adg_any:{ name:"media",
6863
+ var data$u = { adg_any:{ name:"media",
6788
6864
  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.",
6789
6865
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#media-modifier" },
6790
6866
  abp_any:{ name:"media",
@@ -6793,8 +6869,11 @@ var data$t = { adg_any:{ name:"media",
6793
6869
  ubo_any:{ name:"media",
6794
6870
  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.",
6795
6871
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293#options" } };
6872
+ data$u.adg_any;
6873
+ data$u.abp_any;
6874
+ data$u.ubo_any;
6796
6875
 
6797
- var data$s = { adg_os_any:{ name:"method",
6876
+ var data$t = { adg_os_any:{ name:"method",
6798
6877
  description:"This modifier limits the rule scope to requests that use the specified set of HTTP methods.\nNegated methods are allowed.",
6799
6878
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#method-modifier",
6800
6879
  negatable:false,
@@ -6812,8 +6891,11 @@ var data$s = { adg_os_any:{ name:"method",
6812
6891
  negatable:false,
6813
6892
  assignable:true,
6814
6893
  value_format:"pipe_separated_methods" } };
6894
+ data$t.adg_os_any;
6895
+ data$t.adg_ext_any;
6896
+ data$t.ubo_ext_any;
6815
6897
 
6816
- var data$r = { adg_os_any:{ name:"mp4",
6898
+ var data$s = { adg_os_any:{ name:"mp4",
6817
6899
  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.",
6818
6900
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#mp4-modifier",
6819
6901
  deprecated:true,
@@ -6829,16 +6911,20 @@ var data$r = { adg_os_any:{ name:"mp4",
6829
6911
  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`.",
6830
6912
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#mp4",
6831
6913
  negatable:false } };
6914
+ data$s.adg_os_any;
6915
+ data$s.adg_ext_any;
6916
+ data$s.ubo_ext_any;
6832
6917
 
6833
- var data$q = { adg_os_any:{ name:"network",
6918
+ var data$r = { adg_os_any:{ name:"network",
6834
6919
  description:"This is basically a Firewall-kind of rules allowing to fully block\nor unblock access to a specified remote address.",
6835
6920
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#network-modifier",
6836
6921
  conflicts:[ "app",
6837
6922
  "important" ],
6838
6923
  inverse_conflicts:true,
6839
6924
  negatable:false } };
6925
+ data$r.adg_os_any;
6840
6926
 
6841
- var data$p = { adg_os_any:{ name:"_",
6927
+ var data$q = { adg_os_any:{ name:"_",
6842
6928
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#noop-modifier",
6843
6929
  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.",
6844
6930
  negatable:false },
@@ -6858,14 +6944,20 @@ var data$p = { adg_os_any:{ name:"_",
6858
6944
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#_-aka-noop",
6859
6945
  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.",
6860
6946
  negatable:false } };
6947
+ data$q.adg_os_any;
6948
+ data$q.adg_ext_any;
6949
+ data$q.adg_cb_ios;
6950
+ data$q.adg_cb_safari;
6951
+ data$q.ubo_ext_any;
6861
6952
 
6862
- var data$o = { adg_any:{ name:"object-subrequest",
6953
+ var data$p = { adg_any:{ name:"object-subrequest",
6863
6954
  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).",
6864
6955
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#object-subrequest-modifier",
6865
6956
  removed:true,
6866
6957
  removal_message:"The `$object-subrequest` modifier is removed and is no longer supported.\nRules with it are considered as invalid." } };
6958
+ data$p.adg_any;
6867
6959
 
6868
- var data$n = { adg_any:{ name:"object",
6960
+ var data$o = { adg_any:{ name:"object",
6869
6961
  description:"The rule corresponds to browser plugins resources, e.g. Java or Flash",
6870
6962
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#object-modifier" },
6871
6963
  abp_any:{ name:"object",
@@ -6874,8 +6966,11 @@ var data$n = { adg_any:{ name:"object",
6874
6966
  ubo_any:{ name:"object",
6875
6967
  description:"The rule corresponds to browser plugins resources, e.g. Java or Flash.",
6876
6968
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options" } };
6969
+ data$o.adg_any;
6970
+ data$o.abp_any;
6971
+ data$o.ubo_any;
6877
6972
 
6878
- var data$m = { adg_any:{ name:"other",
6973
+ var data$n = { adg_any:{ name:"other",
6879
6974
  description:"The rule applies to requests for which the type has not been determined\nor does not match the types listed above.",
6880
6975
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#other-modifier" },
6881
6976
  abp_any:{ name:"other",
@@ -6884,8 +6979,11 @@ var data$m = { adg_any:{ name:"other",
6884
6979
  ubo_any:{ name:"other",
6885
6980
  description:"The rule applies to requests for which the type has not been determined\nor does not match the types listed above.",
6886
6981
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options" } };
6982
+ data$n.adg_any;
6983
+ data$n.abp_any;
6984
+ data$n.ubo_any;
6887
6985
 
6888
- var data$l = { adg_os_any:{ name:"permissions",
6986
+ var data$m = { adg_os_any:{ name:"permissions",
6889
6987
  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.",
6890
6988
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#permissions-modifier",
6891
6989
  version_added:"CoreLibs 1.11",
@@ -6897,8 +6995,9 @@ var data$l = { adg_os_any:{ name:"permissions",
6897
6995
  negatable:false,
6898
6996
  value_optional:true,
6899
6997
  value_format:"permissions_value" } };
6998
+ data$m.adg_os_any;
6900
6999
 
6901
- var data$k = { adg_any:{ name:"ping",
7000
+ var data$l = { adg_any:{ name:"ping",
6902
7001
  description:"The rule corresponds to requests caused by either navigator.sendBeacon() or the ping attribute on links.",
6903
7002
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#ping-modifier" },
6904
7003
  abp_any:{ name:"ping",
@@ -6907,14 +7006,18 @@ var data$k = { adg_any:{ name:"ping",
6907
7006
  ubo_any:{ name:"ping",
6908
7007
  description:"The rule corresponds to requests caused by either navigator.sendBeacon() or the ping attribute on links.",
6909
7008
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options" } };
7009
+ data$l.adg_any;
7010
+ data$l.abp_any;
7011
+ data$l.ubo_any;
6910
7012
 
6911
- var data$j = { ubo_ext_any:{ name:"popunder",
7013
+ var data$k = { ubo_ext_any:{ name:"popunder",
6912
7014
  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.",
6913
7015
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#popunder",
6914
7016
  negatable:false,
6915
7017
  block_only:true } };
7018
+ data$k.ubo_ext_any;
6916
7019
 
6917
- var data$i = { adg_any:{ name:"popup",
7020
+ var data$j = { adg_any:{ name:"popup",
6918
7021
  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.",
6919
7022
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#popup-modifier",
6920
7023
  negatable:false },
@@ -6926,8 +7029,11 @@ var data$i = { adg_any:{ name:"popup",
6926
7029
  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.",
6927
7030
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options",
6928
7031
  negatable:false } };
7032
+ data$j.adg_any;
7033
+ data$j.abp_any;
7034
+ data$j.ubo_any;
6929
7035
 
6930
- var data$h = { adg_os_any:{ name:"redirect-rule",
7036
+ var data$i = { adg_os_any:{ name:"redirect-rule",
6931
7037
  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.",
6932
7038
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#redirect-rule-modifier",
6933
7039
  conflicts:[ "domain",
@@ -7017,8 +7123,11 @@ var data$h = { adg_os_any:{ name:"redirect-rule",
7017
7123
  assignable:true,
7018
7124
  negatable:false,
7019
7125
  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]+)?$" } };
7126
+ data$i.adg_os_any;
7127
+ data$i.adg_ext_any;
7128
+ data$i.ubo_ext_any;
7020
7129
 
7021
- var data$g = { adg_os_any:{ name:"redirect",
7130
+ var data$h = { adg_os_any:{ name:"redirect",
7022
7131
  description:"Used to redirect web requests to a local \"resource\".",
7023
7132
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#redirect-modifier",
7024
7133
  assignable:true,
@@ -7045,6 +7154,22 @@ var data$g = { adg_os_any:{ name:"redirect",
7045
7154
  assignable:true,
7046
7155
  negatable:false,
7047
7156
  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 )$" } };
7157
+ data$h.adg_os_any;
7158
+ data$h.adg_ext_any;
7159
+ data$h.ubo_ext_any;
7160
+ data$h.abp_ext_any;
7161
+
7162
+ var data$g = { adg_os_any:{ name:"referrerpolicy",
7163
+ description:"This modifier allows overriding of a page's referrer policy.",
7164
+ docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#referrerpolicy-modifier",
7165
+ conflicts:[ "document",
7166
+ "subdocument" ],
7167
+ inverse_conflicts:true,
7168
+ assignable:true,
7169
+ negatable:false,
7170
+ value_optional:true,
7171
+ value_format:"referrerpolicy_value" } };
7172
+ data$g.adg_os_any;
7048
7173
 
7049
7174
  var data$f = { adg_os_any:{ name:"removeheader",
7050
7175
  description:"Rules with the `$removeheader` modifier are intended to remove headers from HTTP requests and responses.",
@@ -7100,6 +7225,8 @@ var data$f = { adg_os_any:{ name:"removeheader",
7100
7225
  negatable:false,
7101
7226
  value_optional:true,
7102
7227
  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 $" } };
7228
+ data$f.adg_os_any;
7229
+ data$f.adg_ext_any;
7103
7230
 
7104
7231
  var data$e = { adg_os_any:{ name:"removeparam",
7105
7232
  description:"Rules with the `$removeparam` modifier are intended to strip query parameters from requests' URLs.",
@@ -7121,6 +7248,9 @@ var data$e = { adg_os_any:{ name:"removeparam",
7121
7248
  assignable:true,
7122
7249
  negatable:false,
7123
7250
  value_format:"(?xi)\n (\n # string pattern\n \\w+\n # or regexp pattern\n |\n \\/.+\\/\n # flags\n ([gimuy]+)?\n )" } };
7251
+ data$e.adg_os_any;
7252
+ data$e.adg_ext_any;
7253
+ data$e.ubo_ext_any;
7124
7254
 
7125
7255
  var data$d = { adg_os_any:{ name:"replace",
7126
7256
  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.",
@@ -7159,6 +7289,8 @@ var data$d = { adg_os_any:{ name:"replace",
7159
7289
  assignable:true,
7160
7290
  negatable:false,
7161
7291
  value_format:"(?xi)\n ^\n \\/\n # the regexp to match by\n (.+)\n # separator\n \\/\n # replacement\n (.+)?\n \\/\n # flags\n ([gimuy]*)?\n $" } };
7292
+ data$d.adg_os_any;
7293
+ data$d.adg_ext_firefox;
7162
7294
 
7163
7295
  var data$c = { adg_any:{ name:"script",
7164
7296
  description:"The rule corresponds to script requests, e.g. javascript, vbscript.",
@@ -7169,6 +7301,9 @@ var data$c = { adg_any:{ name:"script",
7169
7301
  ubo_any:{ name:"script",
7170
7302
  description:"The rule corresponds to script requests, e.g. javascript, vbscript.",
7171
7303
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293#options" } };
7304
+ data$c.adg_any;
7305
+ data$c.abp_any;
7306
+ data$c.ubo_any;
7172
7307
 
7173
7308
  var data$b = { adg_any:{ name:"specifichide",
7174
7309
  aliases:[ "shide" ],
@@ -7194,6 +7329,8 @@ var data$b = { adg_any:{ name:"specifichide",
7194
7329
  inverse_conflicts:true,
7195
7330
  negatable:false,
7196
7331
  exception_only:true } };
7332
+ data$b.adg_any;
7333
+ data$b.ubo_any;
7197
7334
 
7198
7335
  var data$a = { adg_os_any:{ name:"stealth",
7199
7336
  description:"Disables the Stealth Mode module for all corresponding pages and requests.",
@@ -7235,14 +7372,21 @@ var data$a = { adg_os_any:{ name:"stealth",
7235
7372
  exception_only:true,
7236
7373
  value_optional:true,
7237
7374
  value_format:"pipe_separated_stealth_options" } };
7375
+ data$a.adg_os_any;
7376
+ data$a.adg_ext_chrome;
7377
+ data$a.adg_ext_firefox;
7378
+ data$a.adg_ext_opera;
7379
+ data$a.adg_ext_edge;
7238
7380
 
7239
7381
  var data$9 = { ubo_any:{ name:"strict1p",
7240
7382
  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.",
7241
7383
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#strict1p" } };
7384
+ data$9.ubo_any;
7242
7385
 
7243
7386
  var data$8 = { ubo_any:{ name:"strict3p",
7244
7387
  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.",
7245
7388
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#strict3p" } };
7389
+ data$8.ubo_any;
7246
7390
 
7247
7391
  var data$7 = { adg_any:{ name:"stylesheet",
7248
7392
  description:"The rule corresponds to CSS files requests.",
@@ -7254,6 +7398,9 @@ var data$7 = { adg_any:{ name:"stylesheet",
7254
7398
  aliases:[ "css" ],
7255
7399
  description:"The rule corresponds to CSS files requests.",
7256
7400
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#css" } };
7401
+ data$7.adg_any;
7402
+ data$7.abp_any;
7403
+ data$7.ubo_any;
7257
7404
 
7258
7405
  var data$6 = { adg_any:{ name:"subdocument",
7259
7406
  description:"The rule corresponds to requests for built-in pages — HTML tags frame and iframe.",
@@ -7265,6 +7412,9 @@ var data$6 = { adg_any:{ name:"subdocument",
7265
7412
  aliases:[ "frame" ],
7266
7413
  description:"The rule corresponds to requests for built-in pages — HTML tags frame and iframe.",
7267
7414
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#frame" } };
7415
+ data$6.adg_any;
7416
+ data$6.abp_any;
7417
+ data$6.ubo_any;
7268
7418
 
7269
7419
  var data$5 = { adg_any:{ name:"third-party",
7270
7420
  aliases:[ "3p" ],
@@ -7277,6 +7427,9 @@ var data$5 = { adg_any:{ name:"third-party",
7277
7427
  abp_any:{ name:"third-party",
7278
7428
  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.",
7279
7429
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293#party-requests" } };
7430
+ data$5.adg_any;
7431
+ data$5.ubo_any;
7432
+ data$5.abp_any;
7280
7433
 
7281
7434
  var data$4 = { ubo_ext_any:{ name:"to",
7282
7435
  description:"The main motivation of this option is\nto give static network filtering engine an equivalent of DNR's `requestDomains` and `excludedRequestDomains`.",
@@ -7284,6 +7437,7 @@ var data$4 = { ubo_ext_any:{ name:"to",
7284
7437
  assignable:true,
7285
7438
  negatable:false,
7286
7439
  value_format:"pipe_separated_domains" } };
7440
+ data$4.ubo_ext_any;
7287
7441
 
7288
7442
  var data$3 = { adg_any:{ name:"urlblock",
7289
7443
  description:"Disables blocking of all requests sent from the pages matching the rule.",
@@ -7299,6 +7453,7 @@ var data$3 = { adg_any:{ name:"urlblock",
7299
7453
  inverse_conflicts:true,
7300
7454
  negatable:false,
7301
7455
  exception_only:true } };
7456
+ data$3.adg_any;
7302
7457
 
7303
7458
  var data$2 = { adg_any:{ name:"webrtc",
7304
7459
  description:"The rule applies only to WebRTC connections.",
@@ -7314,6 +7469,9 @@ var data$2 = { adg_any:{ name:"webrtc",
7314
7469
  description:"The rule applies only to WebRTC connections.",
7315
7470
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options",
7316
7471
  version_added:"1.13.3" } };
7472
+ data$2.adg_any;
7473
+ data$2.ubo_any;
7474
+ data$2.abp_any;
7317
7475
 
7318
7476
  var data$1 = { adg_os_any:{ name:"websocket",
7319
7477
  description:"The rule applies only to WebSocket connections.",
@@ -7333,6 +7491,12 @@ var data$1 = { adg_os_any:{ name:"websocket",
7333
7491
  ubo_ext_any:{ name:"websocket",
7334
7492
  description:"The rule applies only to WebSocket connections.",
7335
7493
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options" } };
7494
+ data$1.adg_os_any;
7495
+ data$1.adg_ext_any;
7496
+ data$1.adg_cb_ios;
7497
+ data$1.adg_cb_safari;
7498
+ data$1.abp_ext_any;
7499
+ data$1.ubo_ext_any;
7336
7500
 
7337
7501
  var data = { adg_any:{ name:"xmlhttprequest",
7338
7502
  aliases:[ "xhr" ],
@@ -7345,6 +7509,9 @@ var data = { adg_any:{ name:"xmlhttprequest",
7345
7509
  aliases:[ "xmlhttprequest" ],
7346
7510
  description:"The rule applies only to ajax requests (requests sent via javascript object XMLHttpRequest).",
7347
7511
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#xhr" } };
7512
+ data.adg_any;
7513
+ data.abp_any;
7514
+ data.ubo_any;
7348
7515
 
7349
7516
  /**
7350
7517
  * @file Raw compatibility tables data reexport from yaml files.
@@ -7355,46 +7522,47 @@ var data = { adg_any:{ name:"xmlhttprequest",
7355
7522
  // @ts-nocheck
7356
7523
  // Please keep imports and exports in alphabetical order
7357
7524
  const rawModifiersData = {
7358
- all: data$T,
7359
- app: data$S,
7360
- badfilter: data$R,
7361
- cname: data$Q,
7362
- content: data$P,
7363
- cookie: data$O,
7364
- csp: data$N,
7365
- denyallow: data$M,
7366
- document: data$L,
7367
- domain: data$K,
7368
- elemhide: data$J,
7369
- empty: data$I,
7370
- firstParty: data$H,
7371
- extension: data$G,
7372
- font: data$F,
7373
- genericblock: data$E,
7374
- generichide: data$D,
7375
- header: data$C,
7376
- hls: data$B,
7377
- image: data$A,
7378
- important: data$z,
7379
- inlineFont: data$y,
7380
- inlineScript: data$x,
7381
- jsinject: data$w,
7382
- jsonprune: data$v,
7383
- matchCase: data$u,
7384
- media: data$t,
7385
- method: data$s,
7386
- mp4: data$r,
7387
- network: data$q,
7388
- noop: data$p,
7389
- objectSubrequest: data$o,
7390
- object: data$n,
7391
- other: data$m,
7392
- permissions: data$l,
7393
- ping: data$k,
7394
- popunder: data$j,
7395
- popup: data$i,
7396
- redirectRule: data$h,
7397
- redirect: data$g,
7525
+ all: data$U,
7526
+ app: data$T,
7527
+ badfilter: data$S,
7528
+ cname: data$R,
7529
+ content: data$Q,
7530
+ cookie: data$P,
7531
+ csp: data$O,
7532
+ denyallow: data$N,
7533
+ document: data$M,
7534
+ domain: data$L,
7535
+ elemhide: data$K,
7536
+ empty: data$J,
7537
+ firstParty: data$I,
7538
+ extension: data$H,
7539
+ font: data$G,
7540
+ genericblock: data$F,
7541
+ generichide: data$E,
7542
+ header: data$D,
7543
+ hls: data$C,
7544
+ image: data$B,
7545
+ important: data$A,
7546
+ inlineFont: data$z,
7547
+ inlineScript: data$y,
7548
+ jsinject: data$x,
7549
+ jsonprune: data$w,
7550
+ matchCase: data$v,
7551
+ media: data$u,
7552
+ method: data$t,
7553
+ mp4: data$s,
7554
+ network: data$r,
7555
+ noop: data$q,
7556
+ objectSubrequest: data$p,
7557
+ object: data$o,
7558
+ other: data$n,
7559
+ permissions: data$m,
7560
+ ping: data$l,
7561
+ popunder: data$k,
7562
+ popup: data$j,
7563
+ redirectRule: data$i,
7564
+ redirect: data$h,
7565
+ referrerpolicy: data$g,
7398
7566
  removeheader: data$f,
7399
7567
  removeparam: data$e,
7400
7568
  replace: data$d,
@@ -7567,6 +7735,7 @@ const ALLOWED_CSP_DIRECTIVES = new Set([
7567
7735
  'child-src',
7568
7736
  'connect-src',
7569
7737
  'default-src',
7738
+ 'fenced-frame-src',
7570
7739
  'font-src',
7571
7740
  'form-action',
7572
7741
  'frame-ancestors',
@@ -7578,16 +7747,23 @@ const ALLOWED_CSP_DIRECTIVES = new Set([
7578
7747
  'object-src',
7579
7748
  'plugin-types',
7580
7749
  'prefetch-src',
7750
+ 'referrer',
7581
7751
  'report-to',
7582
7752
  'report-uri',
7753
+ 'require-trusted-types-for',
7583
7754
  'sandbox',
7584
7755
  'script-src',
7756
+ 'script-src-attr',
7757
+ 'script-src-elem',
7585
7758
  'style-src',
7759
+ 'style-src-attr',
7760
+ 'style-src-elem',
7761
+ 'trusted-types',
7586
7762
  'upgrade-insecure-requests',
7587
7763
  'worker-src',
7588
7764
  ]);
7589
7765
  /**
7590
- * Allowed stealth options for $permissions modifier.
7766
+ * Allowed directives for $permissions modifier.
7591
7767
  *
7592
7768
  * @see {@link https://adguard.app/kb/general/ad-filtering/create-own-filters/#permissions-modifier}
7593
7769
  */
@@ -7637,6 +7813,21 @@ const PERMISSIONS_TOKEN_SELF = 'self';
7637
7813
  * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Permissions_Policy#allowlists}
7638
7814
  */
7639
7815
  const EMPTY_PERMISSIONS_ALLOWLIST = `${OPEN_PARENTHESIS}${CLOSE_PARENTHESIS}`;
7816
+ /**
7817
+ * Allowed directives for $referrerpolicy modifier.
7818
+ *
7819
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy}
7820
+ */
7821
+ const REFERRER_POLICY_DIRECTIVES = new Set([
7822
+ 'no-referrer',
7823
+ 'no-referrer-when-downgrade',
7824
+ 'origin',
7825
+ 'origin-when-cross-origin',
7826
+ 'same-origin',
7827
+ 'strict-origin',
7828
+ 'strict-origin-when-cross-origin',
7829
+ 'unsafe-url',
7830
+ ]);
7640
7831
  /**
7641
7832
  * Prefixes for error messages used in modifier validation.
7642
7833
  */
@@ -7649,6 +7840,7 @@ const VALIDATION_ERROR_PREFIX = {
7649
7840
  INVALID_PERMISSION_DIRECTIVE: 'Invalid Permissions-Policy directive for the modifier',
7650
7841
  INVALID_PERMISSION_ORIGINS: 'Origins in the value is invalid for the modifier and the directive',
7651
7842
  INVALID_PERMISSION_ORIGIN_QUOTES: 'Double quotes should be used for origins in the value of the modifier',
7843
+ INVALID_REFERRER_POLICY_DIRECTIVE: 'Invalid Referrer-Policy directive for the modifier',
7652
7844
  MIXED_NEGATIONS: 'Simultaneous usage of negated and not negated values is forbidden for the modifier',
7653
7845
  NO_CSP_VALUE: 'No CSP value for the modifier and the directive',
7654
7846
  NO_CSP_DIRECTIVE_QUOTE: 'CSP directives should no be quoted for the modifier',
@@ -7972,6 +8164,7 @@ var CustomValueFormatValidatorName;
7972
8164
  CustomValueFormatValidatorName["Domain"] = "pipe_separated_domains";
7973
8165
  CustomValueFormatValidatorName["Method"] = "pipe_separated_methods";
7974
8166
  CustomValueFormatValidatorName["Permissions"] = "permissions_value";
8167
+ CustomValueFormatValidatorName["ReferrerPolicy"] = "referrerpolicy_value";
7975
8168
  CustomValueFormatValidatorName["StealthOption"] = "pipe_separated_stealth_options";
7976
8169
  })(CustomValueFormatValidatorName || (CustomValueFormatValidatorName = {}));
7977
8170
  /**
@@ -8428,6 +8621,26 @@ const validatePermissions = (modifier) => {
8428
8621
  }
8429
8622
  return { valid: true };
8430
8623
  };
8624
+ /**
8625
+ * Validates `referrerpolicy_value` custom value format.
8626
+ * Used for $referrerpolicy modifier.
8627
+ *
8628
+ * @param modifier Modifier AST node.
8629
+ *
8630
+ * @returns Validation result.
8631
+ */
8632
+ const validateReferrerPolicy = (modifier) => {
8633
+ if (!modifier.value?.value) {
8634
+ return getValueRequiredValidationResult(modifier.modifier.value);
8635
+ }
8636
+ const modifierName = modifier.modifier.value;
8637
+ const modifierValue = modifier.value.value;
8638
+ if (!REFERRER_POLICY_DIRECTIVES.has(modifierValue)) {
8639
+ // eslint-disable-next-line max-len
8640
+ return getInvalidValidationResult(`${VALIDATION_ERROR_PREFIX.INVALID_REFERRER_POLICY_DIRECTIVE}: '${modifierName}': '${modifierValue}'`);
8641
+ }
8642
+ return { valid: true };
8643
+ };
8431
8644
  /**
8432
8645
  * Map of all available pre-defined validators for modifiers with custom `value_format`.
8433
8646
  */
@@ -8438,6 +8651,7 @@ const CUSTOM_VALUE_FORMAT_MAP = {
8438
8651
  [CustomValueFormatValidatorName.Domain]: validatePipeSeparatedDomains,
8439
8652
  [CustomValueFormatValidatorName.Method]: validatePipeSeparatedMethods,
8440
8653
  [CustomValueFormatValidatorName.Permissions]: validatePermissions,
8654
+ [CustomValueFormatValidatorName.ReferrerPolicy]: validateReferrerPolicy,
8441
8655
  [CustomValueFormatValidatorName.StealthOption]: validatePipeSeparatedStealthOptions,
8442
8656
  };
8443
8657
  /**
@@ -10516,7 +10730,7 @@ class LogicalExpressionUtils {
10516
10730
  }
10517
10731
  }
10518
10732
 
10519
- const version$1 = "1.1.6";
10733
+ const version$1 = "1.1.8";
10520
10734
 
10521
10735
  /**
10522
10736
  * @file AGTree version