@kensio/pinyinjs 1.10.3 → 1.10.5

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.
Files changed (53) hide show
  1. package/README.md +3 -3
  2. package/data/core.entries +20 -16
  3. package/data/core.freq +0 -0
  4. package/data/core.keys +4 -0
  5. package/data/full.counts +0 -0
  6. package/data/full.entries +33 -22
  7. package/data/full.freq +0 -0
  8. package/data/full.keys +11 -0
  9. package/data/manifest.json +12 -12
  10. package/data/standard.entries +29 -28
  11. package/data/standard.freq +0 -0
  12. package/data/standard.keys +13 -12
  13. package/dist/decode/particle-rule.d.ts +8 -10
  14. package/dist/decode/particle-rule.d.ts.map +1 -1
  15. package/dist/decode/particle-rule.js +67 -1
  16. package/dist/decode/particle-rule.js.map +1 -1
  17. package/dist/decode/reading-rules.d.ts +1 -0
  18. package/dist/decode/reading-rules.d.ts.map +1 -1
  19. package/dist/decode/reading-rules.js +3 -0
  20. package/dist/decode/reading-rules.js.map +1 -1
  21. package/dist/decode/wenshu-rule.d.ts +17 -0
  22. package/dist/decode/wenshu-rule.d.ts.map +1 -0
  23. package/dist/decode/wenshu-rule.js +44 -0
  24. package/dist/decode/wenshu-rule.js.map +1 -0
  25. package/dist/dictionary/given-names.d.ts +46 -0
  26. package/dist/dictionary/given-names.d.ts.map +1 -0
  27. package/dist/dictionary/given-names.js +65 -0
  28. package/dist/dictionary/given-names.js.map +1 -0
  29. package/dist/dictionary/merge-types.d.ts +6 -0
  30. package/dist/dictionary/merge-types.d.ts.map +1 -1
  31. package/dist/dictionary/merge-types.js.map +1 -1
  32. package/dist/dictionary/merge.d.ts.map +1 -1
  33. package/dist/dictionary/merge.js +9 -2
  34. package/dist/dictionary/merge.js.map +1 -1
  35. package/dist/dictionary/proper-noun.d.ts +3 -1
  36. package/dist/dictionary/proper-noun.d.ts.map +1 -1
  37. package/dist/dictionary/proper-noun.js +6 -2
  38. package/dist/dictionary/proper-noun.js.map +1 -1
  39. package/dist/dictionary/reference-readings.d.ts.map +1 -1
  40. package/dist/dictionary/reference-readings.js +24 -0
  41. package/dist/dictionary/reference-readings.js.map +1 -1
  42. package/dist/index.d.ts +1 -1
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +1 -1
  45. package/dist/index.js.map +1 -1
  46. package/dist/orthography/capitals.d.ts +5 -0
  47. package/dist/orthography/capitals.d.ts.map +1 -1
  48. package/dist/orthography/capitals.js +20 -1
  49. package/dist/orthography/capitals.js.map +1 -1
  50. package/dist/orthography/punctuation.d.ts.map +1 -1
  51. package/dist/orthography/punctuation.js +45 -4
  52. package/dist/orthography/punctuation.js.map +1 -1
  53. package/package.json +1 -1
@@ -73,6 +73,7 @@ she4
73
73
  tiao3
74
74
  lian2
75
75
  mian3 tian3
76
+ weng1
76
77
  sa4
77
78
  tuo2
78
79
  hun2
@@ -6255,7 +6256,7 @@ wei3 wei4 j
6255
6256
  zhu4 zg
6256
6257
  v
6257
6258
  ze5 zg
6258
- xian2
6259
+ xian2 xuan2
6259
6260
  bo2 nr bai3,bo5
6260
6261
  nr p
6261
6262
  nr
@@ -9374,7 +9375,6 @@ nei4 ying4 n
9374
9375
  ns p
9375
9376
  ns
9376
9377
  ns
9377
- ns
9378
9378
  n
9379
9379
  n
9380
9380
  n
@@ -10079,7 +10079,6 @@ xing1 cheng2 ns p
10079
10079
  xing4 tou5 v
10080
10080
  xing1 fen4 v
10081
10081
  xing1 fen4 ji4 n
10082
- xing1 xue2 n
10083
10082
  xing1 an1 ns p
10084
10083
  xing1 shan1 ns p
10085
10084
  xing1 shan1 xian4 ns p2
@@ -10106,9 +10105,6 @@ bing1 n
10106
10105
  bing1 bu4 xie3 ren4 i
10107
10106
  i
10108
10107
  n
10109
- bing1 lai2 jiang4 dang3 i
10110
- n
10111
- n
10112
10108
  n
10113
10109
  n
10114
10110
  n
@@ -10134,7 +10130,6 @@ bing1 lai2 jiang4 dang3 i
10134
10130
  bing1 bai4 ru2 shan1 dao3 i
10135
10131
  n
10136
10132
  n
10137
- bing1 lai2 jiang4 dang3 i
10138
10133
  n
10139
10134
  n
10140
10135
  n
@@ -10345,7 +10340,6 @@ nei4 ying4 n
10345
10340
  ns p
10346
10341
  ns
10347
10342
  ns
10348
- ns
10349
10343
  n
10350
10344
  n
10351
10345
  n
@@ -10516,7 +10510,6 @@ jun1 shi4 ji1 di4 n
10516
10510
  n
10517
10511
  n
10518
10512
  n
10519
- n
10520
10513
  vn
10521
10514
  n
10522
10515
  n
@@ -10644,7 +10637,6 @@ nong2 zg
10644
10637
  nr
10645
10638
  nong2 she4 n
10646
10639
  n
10647
- n
10648
10640
  nong2 hang2 j
10649
10641
  n
10650
10642
  n
@@ -17942,7 +17934,7 @@ pao2 v
17942
17934
  pao2 xiao1 v
17943
17935
  bi4 zg
17944
17936
  fu2
17945
- yang1
17937
+ yang1 yang3
17946
17938
  he2
17947
17939
  ze2 r zha1,za3
17948
17940
  v
@@ -20008,6 +20000,7 @@ guo2 n
20008
20000
  n
20009
20001
  j
20010
20002
  n
20003
+ guo2 xing1 nr p
20011
20004
  s
20012
20005
  s
20013
20006
  n
@@ -20329,6 +20322,7 @@ guo2 jia1 fa1 zhan3 ji4 hua4 wei3 yuan2 hui4 nt p2.4.6
20329
20322
  n
20330
20323
  j
20331
20324
  n
20325
+ guo2 xing1 nr p
20332
20326
  j
20333
20327
  n
20334
20328
  n
@@ -21328,7 +21322,7 @@ kong1 zg
21328
21322
  tang3 chong3 shang3
21329
21323
  dong1 zg
21330
21324
  dai4 zg
21331
- tan4 zg
21325
+ tan4 zg tan2
21332
21326
  an3
21333
21327
  chu4 zg
21334
21328
  beng3
@@ -24907,7 +24901,7 @@ tuo3 dang5 tuo3 dang4 a
24907
24901
  v
24908
24902
  v
24909
24903
  feng1
24910
- yuan2 zg
24904
+ yuan2 zg wan4
24911
24905
  fang2 zg fang1
24912
24906
  v
24913
24907
  v
@@ -25392,7 +25386,7 @@ mei4 zg
25392
25386
  n
25393
25387
  yuan4 zg yuan2
25394
25388
  zheng1 zg
25395
- shi4
25389
+ shi4 ti2
25396
25390
  xie4
25397
25391
  tuo3 zg duo4
25398
25392
  mao4
@@ -25651,6 +25645,7 @@ zir3 nr
25651
25645
  n
25652
25646
  n
25653
25647
  n
25648
+ nr p
25654
25649
  n
25655
25650
  n
25656
25651
  n
@@ -26417,7 +26412,7 @@ yi2 zg
26417
26412
  jing3 zg
26418
26413
  mi4 nr fu2
26419
26414
  zhu3 zg
26420
- dang4 g
26415
+ dang4 g tan4
26421
26416
  zong1 nr zong5
26422
26417
  n
26423
26418
  n
@@ -28338,6 +28333,7 @@ xiao3 ben3 sheng1 yi5 n
28338
28333
  n
28339
28334
  n
28340
28335
  n
28336
+ nr p
28341
28337
  nr
28342
28338
  n
28343
28339
  n
@@ -34347,7 +34343,7 @@ heng2 nr p
34347
34343
  nz p
34348
34344
  n
34349
34345
  xi1 zg
34350
- jiao3 zg
34346
+ jiao3 zg xiao4
34351
34347
  shu4 nr
34352
34348
  v
34353
34349
  yang4 n
@@ -37701,6 +37697,8 @@ la1 gan3 n
37701
37697
  v
37702
37698
  nz p1
37703
37699
  la1 du4 zi5 n
37700
+ nr p
37701
+ nr p
37704
37702
  ns p
37705
37703
  ns p
37706
37704
  nrt
@@ -38663,7 +38661,7 @@ juan3 qu1 n
38663
38661
  juan4 lian2 n
38664
38662
  v
38665
38663
  juan3 fa3 v
38666
- chen1
38664
+ chen1 tian3
38667
38665
  chui2 v
38668
38666
  v
38669
38667
  i
@@ -41397,6 +41395,7 @@ xiao4 xue2
41397
41395
  xiao4
41398
41396
  wen2 n
41399
41397
  n
41398
+ nr p
41400
41399
  n
41401
41400
  n
41402
41401
  n
@@ -41480,6 +41479,7 @@ wen2 n
41480
41479
  nr
41481
41480
  n
41482
41481
  n
41482
+ nr p
41483
41483
  n
41484
41484
  n
41485
41485
  n
@@ -52271,7 +52271,7 @@ dan4 bo2 a
52271
52271
  z
52272
52272
  z
52273
52273
  z
52274
- yu4
52274
+ yu4 xu4
52275
52275
  yu1 v
52276
52276
  yu1 se4 v
52277
52277
  n
@@ -53672,7 +53672,7 @@ lian2 ns
53672
53672
  ns p
53673
53673
  n
53674
53674
  lan3 v
53675
- chi2
53675
+ chi2 si1
53676
53676
  xuan2 n
53677
53677
  n
53678
53678
  n
@@ -54813,7 +54813,7 @@ zhu2 n
54813
54813
  n
54814
54814
  n
54815
54815
  n
54816
- xuan3 zg
54816
+ xuan3 zg xuan1
54817
54817
  zheng1 zg
54818
54818
  po4
54819
54819
  yan1 n yin1
@@ -56700,7 +56700,7 @@ mu4
56700
56700
  bei4 x
56701
56701
  pi1
56702
56702
  yi2
56703
- sheng1
56703
+ sheng1 xing1
56704
56704
  pao2 n
56705
56705
  pao2 zi5 n
56706
56706
  xia2 zg
@@ -57555,7 +57555,7 @@ dai4 n
57555
57555
  dian4 zg
57556
57556
  v
57557
57557
  dian4 ru4 v
57558
- xuan2 zg
57558
+ xuan2 zg xian2
57559
57559
  xi3 ng
57560
57560
  bo1 n
57561
57561
  ns p
@@ -57872,6 +57872,7 @@ li3 xing4 ren4 shi5 li3 xing4 ren4 shi4 l
57872
57872
  li3 fa3 shi1 n
57873
57873
  li3 fa3 dian4 n
57874
57874
  xiu4 zg
57875
+ fu2
57875
57876
  liu2 ns
57876
57877
  n
57877
57878
  ns p2
@@ -58038,6 +58039,7 @@ yao2 j
58038
58039
  n
58039
58040
  ai4 x
58040
58041
  bin1
58042
+ shu1 tu1
58041
58043
  chang2 zg
58042
58044
  kun1
58043
58045
  cong1
@@ -72249,7 +72251,6 @@ xing1 guo2 xian4 ns p2
72249
72251
  xing1 cheng2 ns p
72250
72252
  xing1 fen4 v
72251
72253
  xing1 fen4 ji4 n
72252
- xing1 xue2 n
72253
72254
  xing1 an1 ns p
72254
72255
  xing1 shan1 ns p
72255
72256
  xing1 shan1 xian4 ns p2
@@ -72719,6 +72720,7 @@ ai4 ha3 mai4 de2 nrt
72719
72720
  nr
72720
72721
  n
72721
72722
  n
72723
+ nr p
72722
72724
  nr p1
72723
72725
  nai3 x
72724
72726
  tiao2
@@ -74470,6 +74472,7 @@ suan4 n
74470
74472
  li4 vg
74471
74473
  v
74472
74474
  ju3 zg
74475
+ xi1
74473
74476
  bang4 pang2
74474
74477
  chu2 zg
74475
74478
  huo4
@@ -75663,7 +75666,7 @@ rui4 zg
75663
75666
  ni2 zg
75664
75667
  qing1 n
75665
75668
  n
75666
- wei4
75669
+ wei4 wei3
75667
75670
  liang3 zg
75668
75671
  guo3 n
75669
75672
  wan1 v
@@ -82627,7 +82630,6 @@ jun1 shi4 ji1 di4 n
82627
82630
  n
82628
82631
  n
82629
82632
  n
82630
- n
82631
82633
  vn
82632
82634
  n
82633
82635
  n
@@ -83691,7 +83693,6 @@ nong2
83691
83693
  nong2 she4 n
83692
83694
  n
83693
83695
  n
83694
- n
83695
83696
  nong2 hang2 j
83696
83697
  n
83697
83698
  n
@@ -87946,7 +87947,7 @@ sui4 zg
87946
87947
  lu3 zg
87947
87948
  juan1 zg
87948
87949
  v
87949
- hui4 zg
87950
+ hui4 zg wei4
87950
87951
  yu4 zg
87951
87952
  lian2 n
87952
87953
  n
@@ -97941,7 +97942,7 @@ nao2
97941
97942
  gong3
97942
97943
  geng4
97943
97944
  ying2
97944
- run2
97945
+ run2 shun4
97945
97946
  cha2
97946
97947
  mu3
97947
97948
  xi4
Binary file
@@ -73,6 +73,7 @@ B
73
73
  䠷
74
74
  䥥
75
75
  䩄
76
+ 䩺
76
77
  䬃
77
78
  䭾
78
79
  䰟
@@ -9373,7 +9374,6 @@ B
9373
9374
  內核
9374
9375
  內江
9375
9376
  內河
9376
- 內流河
9377
9377
  內海
9378
9378
  內涵
9379
9379
  內熱
@@ -10079,7 +10079,6 @@ B
10079
10079
  兴头
10080
10080
  兴奋
10081
10081
  兴奋剂
10082
- 兴学
10083
10082
  兴安
10084
10083
  兴山
10085
10084
  兴山县
@@ -10106,8 +10105,6 @@ B
10106
10105
  兵不血刃
10107
10106
  兵临城下
10108
10107
  兵书
10109
- 兵來將擋
10110
- 兵備道
10111
10108
  兵刃
10112
10109
  兵制
10113
10110
  兵力
@@ -10120,7 +10117,6 @@ B
10120
10117
  兵团
10121
10118
  兵團
10122
10119
  兵士
10123
- 兵备道
10124
10120
  兵家
10125
10121
  兵工
10126
10122
  兵工厂
@@ -10134,7 +10130,6 @@ B
10134
10130
  兵敗如山倒
10135
10131
  兵書
10136
10132
  兵权
10137
- 兵来将挡
10138
10133
  兵權
10139
10134
  兵法
10140
10135
  兵源
@@ -10344,7 +10339,6 @@ B
10344
10339
  内核
10345
10340
  内江
10346
10341
  内河
10347
- 内流河
10348
10342
  内海
10349
10343
  内涵
10350
10344
  内热
@@ -10511,7 +10505,6 @@ B
10511
10505
  军制
10512
10506
  军力
10513
10507
  军功
10514
- 军功章
10515
10508
  军务
10516
10509
  军区
10517
10510
  军医
@@ -10643,7 +10636,6 @@ B
10643
10636
  农畜
10644
10637
  农耕
10645
10638
  农舍
10646
- 农艺
10647
10639
  农药
10648
10640
  农行
10649
10641
  农贸市场
@@ -20008,6 +20000,7 @@ B
20008
20000
  国光
20009
20001
  国共
20010
20002
  国共合作
20003
+ 国兴
20011
20004
  国内
20012
20005
  国内外
20013
20006
  国军
@@ -20329,6 +20322,7 @@ B
20329
20322
  國腳
20330
20323
  國臺辦
20331
20324
  國舅
20325
+ 國興
20332
20326
  國航
20333
20327
  國藥
20334
20328
  國號
@@ -25651,6 +25645,7 @@ B
25651
25645
  子弹
25652
25646
  子彈
25653
25647
  子房
25648
+ 子明
25654
25649
  子母弹
25655
25650
  子母彈
25656
25651
  子民
@@ -28338,6 +28333,7 @@ B
28338
28333
  小组
28339
28334
  小组赛
28340
28335
  小结
28336
+ 小美
28341
28337
  小老婆
28342
28338
  小聲
28343
28339
  小肠
@@ -37701,6 +37697,8 @@ B
37701
37697
  拉练
37702
37698
  拉美
37703
37699
  拉肚子
37700
+ 拉胡尔
37701
+ 拉胡爾
37704
37702
  拉脫維亞
37705
37703
  拉脱维亚
37706
37704
  拉莫斯
@@ -41397,6 +41395,7 @@ B
41397
41395
  斆
41398
41396
  文
41399
41397
  文丑
41398
+ 文东
41400
41399
  文书
41401
41400
  文人
41402
41401
  文人学士
@@ -41480,6 +41479,7 @@ B
41480
41479
  文明
41481
41480
  文書
41482
41481
  文本
41482
+ 文東
41483
41483
  文案
41484
41484
  文档
41485
41485
  文檔
@@ -57872,6 +57872,7 @@ B
57872
57872
  理髮師
57873
57873
  理髮店
57874
57874
  琇
57875
+ 琈
57875
57876
  琉
57876
57877
  琉球
57877
57878
  琉球群岛
@@ -58038,6 +58039,7 @@ B
58038
58039
  瑶池
58039
58040
  瑷
58040
58041
  瑸
58042
+ 瑹
58041
58043
  瑺
58042
58044
  瑻
58043
58045
  瑽
@@ -72249,7 +72251,6 @@ B
72249
72251
  興城
72250
72252
  興奮
72251
72253
  興奮劑
72252
- 興學
72253
72254
  興安
72254
72255
  興山
72255
72256
  興山縣
@@ -72719,6 +72720,7 @@ B
72719
72720
  艾滋
72720
72721
  艾滋病
72721
72722
  艾滋病毒
72723
+ 艾琳
72722
72724
  艾青
72723
72725
  艿
72724
72726
  芀
@@ -74470,6 +74472,7 @@ B
74470
74472
  蒞
74471
74473
  蒞臨
74472
74474
  蒟
74475
+ 蒠
74473
74476
  蒡
74474
74477
  蒢
74475
74478
  蒦
@@ -82624,7 +82627,6 @@ B
82624
82627
  軍制
82625
82628
  軍力
82626
82629
  軍功
82627
- 軍功章
82628
82630
  軍務
82629
82631
  軍區
82630
82632
  軍品
@@ -83690,7 +83692,6 @@ B
83690
83692
  農耕
83691
83693
  農舍
83692
83694
  農莊
83693
- 農藝
83694
83695
  農藥
83695
83696
  農行
83696
83697
  農貿市場
@@ -1,13 +1,3 @@
1
- /**
2
- * The rules about words that begin at an aspect particle or at the adverbial
3
- * 地.
4
- *
5
- * {@link import("./de-rule.js").PARTICLE_DE} and
6
- * {@link import("./complement-rule.js").COMPLEMENT_DE} settle the same fault for 的 and
7
- * 得: the full tier keeps keys no source tagged, many of them from the phrase
8
- * corpus, and one that starts at a particle reads that particle as whatever it
9
- * is at the head of a phrase.
10
- */
11
1
  import { type EdgeRule } from "./rules.js";
12
2
  /**
13
3
  * A word beginning with 着 or 了 does not start where the aspect particle does.
@@ -35,8 +25,16 @@ export declare const ASPECTUAL_PARTICLE: EdgeRule;
35
25
  * for a family's place of origin. After an adjective or an adverb 地 is the
36
26
  * particle that makes it modify a verb, and reads `de`.
37
27
  *
28
+ * Only an untagged key is forbidden there, since a tagged one such as 地方 can
29
+ * follow an adjective as a noun: 这么大地方. After a reduplication any key is
30
+ * forbidden, since the 地 after 一点儿一点儿 or 慢慢 is always the particle.
31
+ * 跟着丈夫一点儿一点儿地学 and 他慢慢地学 came out `dì xué` on the noun 地学.
32
+ *
38
33
  * Over the 88,612 sentences of Tatoeba and the 43,367 Chinese Boost 例句 it
39
34
  * changes 2 runs in the full tier, both corrections: 惆怅地望着 and 悠哉地坐.
35
+ * The reduplication changes 1 more of the 17,825 distinct runs holding a 地 in
36
+ * Tatoeba, zh.wikipedia and the 47,848 例句 there are now, also a correction:
37
+ * 斷斷續續地下了.
40
38
  */
41
39
  export declare const ADVERBIAL_DI: EdgeRule;
42
40
  //# sourceMappingURL=particle-rule.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"particle-rule.d.ts","sourceRoot":"","sources":["../../src/decode/particle-rule.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAEL,KAAK,QAAQ,EAGd,MAAM,YAAY,CAAC;AAgCpB;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,kBAAkB,EAAE,QAShC,CAAC;AAcF;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,EAAE,QAS1B,CAAC"}
1
+ {"version":3,"file":"particle-rule.d.ts","sourceRoot":"","sources":["../../src/decode/particle-rule.ts"],"names":[],"mappings":"AAWA,OAAO,EAEL,KAAK,QAAQ,EAGd,MAAM,YAAY,CAAC;AAgCpB;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,kBAAkB,EAAE,QAShC,CAAC;AAyEF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,YAAY,EAAE,QAgB1B,CAAC"}
@@ -8,6 +8,7 @@
8
8
  * corpus, and one that starts at a particle reads that particle as whatever it
9
9
  * is at the head of a phrase.
10
10
  */
11
+ import { toCharacters } from "../script/characters.js";
11
12
  import { tagOf, wordEndingAt, } from "./rules.js";
12
13
  /**
13
14
  * Whether an edge is a word of more than one character that no source tagged
@@ -69,6 +70,56 @@ const DI = new Set(["地"]);
69
70
  * 地球轨道.
70
71
  */
71
72
  const ADVERBIAL_TAGS = /^(?:a|z|d)/u;
73
+ /** The numeral that starts a count said twice over: 一点儿一点儿, 一步一步. */
74
+ const ONE = "一";
75
+ /**
76
+ * The tags of a reduplicated word that says how something is done: 慢慢 and
77
+ * 渐渐 are `d`, 悄悄 and 匆匆 are `z`, and 断断续续 is `i`.
78
+ */
79
+ const MANNER_TAGS = /^(?:d|z|i)/u;
80
+ /**
81
+ * The reduplicated adverbs that say when or how often rather than how, and
82
+ * stand in front of a 地震 or a 地铁 as readily as in front of the particle.
83
+ */
84
+ const TEMPORAL_REDUPLICATIONS = new Set([
85
+ "常常",
86
+ "刚刚",
87
+ "剛剛",
88
+ "每每",
89
+ "偏偏",
90
+ "仅仅",
91
+ "僅僅",
92
+ "恰恰",
93
+ ]);
94
+ /**
95
+ * Whether the words ending at a position are a reduplication that 地 makes
96
+ * into an adverbial.
97
+ *
98
+ * Two shapes qualify. A count said twice, 一点儿一点儿 or 一步一步, is a
99
+ * manner of doing something and nothing else. A word that is itself
100
+ * reduplicated, 慢慢 or 渐渐, qualifies where its tag makes it an adverb of
101
+ * manner. Repeated characters alone are not enough: 学学 in 大学学地质 ends a
102
+ * 大学, and the 嚐嚐 of 嚐嚐地道的四川菜 is a verb whose object is 地道.
103
+ */
104
+ function isReduplicatedBefore(context, at) {
105
+ const word = wordEndingAt(context, at);
106
+ if (word === undefined) {
107
+ return false;
108
+ }
109
+ const characters = toCharacters(word);
110
+ const length = characters.length;
111
+ if (characters[0] === ONE &&
112
+ length >= 2 &&
113
+ context.characters.slice(at - 2 * length, at - length).join("") === word) {
114
+ return true;
115
+ }
116
+ const isDoubled = (length === 2 || length === 4) &&
117
+ characters[0] === characters[1] &&
118
+ characters[2] === characters[3];
119
+ return (isDoubled &&
120
+ MANNER_TAGS.test(tagOf(context, word)) &&
121
+ !TEMPORAL_REDUPLICATIONS.has(word));
122
+ }
72
123
  /**
73
124
  * A word beginning with 地 does not start where the adverbial particle does.
74
125
  *
@@ -76,16 +127,31 @@ const ADVERBIAL_TAGS = /^(?:a|z|d)/u;
76
127
  * for a family's place of origin. After an adjective or an adverb 地 is the
77
128
  * particle that makes it modify a verb, and reads `de`.
78
129
  *
130
+ * Only an untagged key is forbidden there, since a tagged one such as 地方 can
131
+ * follow an adjective as a noun: 这么大地方. After a reduplication any key is
132
+ * forbidden, since the 地 after 一点儿一点儿 or 慢慢 is always the particle.
133
+ * 跟着丈夫一点儿一点儿地学 and 他慢慢地学 came out `dì xué` on the noun 地学.
134
+ *
79
135
  * Over the 88,612 sentences of Tatoeba and the 43,367 Chinese Boost 例句 it
80
136
  * changes 2 runs in the full tier, both corrections: 惆怅地望着 and 悠哉地坐.
137
+ * The reduplication changes 1 more of the 17,825 distinct runs holding a 地 in
138
+ * Tatoeba, zh.wikipedia and the 47,848 例句 there are now, also a correction:
139
+ * 斷斷續續地下了.
81
140
  */
82
141
  export const ADVERBIAL_DI = {
83
142
  name: "adverbial-di",
84
143
  verdictFor: (context) => {
144
+ const { characters, edge } = context;
145
+ if (edge.to - edge.from < 2 || !DI.has(characters[edge.from] ?? "")) {
146
+ return "keep";
147
+ }
148
+ if (isReduplicatedBefore(context, edge.from)) {
149
+ return "forbid";
150
+ }
85
151
  if (!isUntaggedFrom(context, DI)) {
86
152
  return "keep";
87
153
  }
88
- const before = wordEndingAt(context, context.edge.from);
154
+ const before = wordEndingAt(context, edge.from);
89
155
  return ADVERBIAL_TAGS.test(tagOf(context, before)) ? "forbid" : "keep";
90
156
  },
91
157
  };
@@ -1 +1 @@
1
- {"version":3,"file":"particle-rule.js","sourceRoot":"","sources":["../../src/decode/particle-rule.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAGL,KAAK,EACL,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,SAAS,cAAc,CACrB,OAAoB,EACpB,UAA+B;IAE/B,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IACzB,OAAO,CACL,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC;QACxB,IAAI,CAAC,YAAY,KAAK,EAAE;QACxB,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CACpD,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAElD;;GAEG;AACH,MAAM,QAAQ,GAAG,GAAG,CAAC;AAErB;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAa;IAC1C,IAAI,EAAE,oBAAoB;IAC1B,UAAU,EAAE,CAAC,OAAoB,EAAE,EAAE;QACnC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,CAAC;YAC/C,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IACzE,CAAC;CACF,CAAC;AAEF,iEAAiE;AACjE,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1B;;;;;;GAMG;AACH,MAAM,cAAc,GAAG,aAAa,CAAC;AAErC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,YAAY,GAAa;IACpC,IAAI,EAAE,cAAc;IACpB,UAAU,EAAE,CAAC,OAAoB,EAAE,EAAE;QACnC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;YACjC,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IACzE,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"particle-rule.js","sourceRoot":"","sources":["../../src/decode/particle-rule.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAGL,KAAK,EACL,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,SAAS,cAAc,CACrB,OAAoB,EACpB,UAA+B;IAE/B,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IACzB,OAAO,CACL,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC;QACxB,IAAI,CAAC,YAAY,KAAK,EAAE;QACxB,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CACpD,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAElD;;GAEG;AACH,MAAM,QAAQ,GAAG,GAAG,CAAC;AAErB;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAa;IAC1C,IAAI,EAAE,oBAAoB;IAC1B,UAAU,EAAE,CAAC,OAAoB,EAAE,EAAE;QACnC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,CAAC;YAC/C,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IACzE,CAAC;CACF,CAAC;AAEF,iEAAiE;AACjE,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1B;;;;;;GAMG;AACH,MAAM,cAAc,GAAG,aAAa,CAAC;AAErC,qEAAqE;AACrE,MAAM,GAAG,GAAG,GAAG,CAAC;AAEhB;;;GAGG;AACH,MAAM,WAAW,GAAG,aAAa,CAAC;AAElC;;;GAGG;AACH,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC;IACtC,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;CACL,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,SAAS,oBAAoB,CAAC,OAAoB,EAAE,EAAU;IAC5D,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACvC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IACjC,IACE,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG;QACrB,MAAM,IAAI,CAAC;QACX,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,GAAG,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EACxE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,SAAS,GACb,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC;QAC9B,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC;QAC/B,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC;IAClC,OAAO,CACL,SAAS;QACT,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CACnC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,YAAY,GAAa;IACpC,IAAI,EAAE,cAAc;IACpB,UAAU,EAAE,CAAC,OAAoB,EAAE,EAAE;QACnC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QACrC,IAAI,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACpE,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;YACjC,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IACzE,CAAC;CACF,CAAC"}
@@ -22,6 +22,7 @@ export { RESULTATIVE_ZHAO } from "./zhao-rule.js";
22
22
  export { VERBAL_DE_QUESHI } from "./dique-rule.js";
23
23
  export { COMPASS_DONGXI } from "./dongxi-rule.js";
24
24
  export { VERBAL_CHANGYONG } from "./changyong-rule.js";
25
+ export { LANGUAGE_WENSHU } from "./wenshu-rule.js";
25
26
  import type { EdgeRule } from "./rules.js";
26
27
  export { ATTESTED_ERHUA } from "./erhua-rule.js";
27
28
  export { ADJECTIVAL_CHANG, ADJECTIVAL_MEI, EASY_HAO, PLAYING_TAN, SUMMING_DOU, } from "./polyphone-rules.js";
@@ -1 +1 @@
1
- {"version":3,"file":"reading-rules.d.ts","sourceRoot":"","sources":["../../src/decode/reading-rules.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAUjD,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,QAAQ,EACR,WAAW,EACX,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,QAAQ,EAqC5C,CAAC"}
1
+ {"version":3,"file":"reading-rules.d.ts","sourceRoot":"","sources":["../../src/decode/reading-rules.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAUjD,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,QAAQ,EACR,WAAW,EACX,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,QAAQ,EAsC5C,CAAC"}
@@ -22,6 +22,7 @@ import { RESULTATIVE_ZHAO } from "./zhao-rule.js";
22
22
  import { VERBAL_DE_QUESHI } from "./dique-rule.js";
23
23
  import { COMPASS_DONGXI } from "./dongxi-rule.js";
24
24
  import { VERBAL_CHANGYONG } from "./changyong-rule.js";
25
+ import { LANGUAGE_WENSHU } from "./wenshu-rule.js";
25
26
  export { MODAL_DE, NOUN_HUA, PARTICLE_DE, POTENTIAL_DE } from "./de-rule.js";
26
27
  export { CALCULATING_SUAN, COMPLEMENT_DE } from "./complement-rule.js";
27
28
  export { ADVERBIAL_DI, ASPECTUAL_PARTICLE } from "./particle-rule.js";
@@ -46,6 +47,7 @@ export { RESULTATIVE_ZHAO } from "./zhao-rule.js";
46
47
  export { VERBAL_DE_QUESHI } from "./dique-rule.js";
47
48
  export { COMPASS_DONGXI } from "./dongxi-rule.js";
48
49
  export { VERBAL_CHANGYONG } from "./changyong-rule.js";
50
+ export { LANGUAGE_WENSHU } from "./wenshu-rule.js";
49
51
  import { ATTESTED_ERHUA } from "./erhua-rule.js";
50
52
  export { ATTESTED_ERHUA } from "./erhua-rule.js";
51
53
  import { ADJECTIVAL_CHANG, ADJECTIVAL_MEI, EASY_HAO, PLAYING_TAN, SUMMING_DOU, } from "./polyphone-rules.js";
@@ -90,5 +92,6 @@ export const READING_RULES = [
90
92
  VERBAL_DE_QUESHI,
91
93
  COMPASS_DONGXI,
92
94
  VERBAL_CHANGYONG,
95
+ LANGUAGE_WENSHU,
93
96
  ];
94
97
  //# sourceMappingURL=reading-rules.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reading-rules.js","sourceRoot":"","sources":["../../src/decode/reading-rules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reading-rules.js","sourceRoot":"","sources":["../../src/decode/reading-rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,QAAQ,EACR,WAAW,EACX,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,QAAQ,EACR,WAAW,EACX,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAwB;IAChD,QAAQ;IACR,WAAW;IACX,YAAY;IACZ,aAAa;IACb,gBAAgB;IAChB,kBAAkB;IAClB,YAAY;IACZ,OAAO;IACP,QAAQ;IACR,aAAa;IACb,cAAc;IACd,eAAe;IACf,UAAU;IACV,YAAY;IACZ,gBAAgB;IAChB,WAAW;IACX,gBAAgB;IAChB,kBAAkB;IAClB,iBAAiB;IACjB,cAAc;IACd,iBAAiB;IACjB,YAAY;IACZ,cAAc;IACd,YAAY;IACZ,cAAc;IACd,gBAAgB;IAChB,YAAY;IACZ,cAAc;IACd,gBAAgB;IAChB,QAAQ;IACR,cAAc;IACd,WAAW;IACX,SAAS;IACT,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,eAAe;CAChB,CAAC"}