omlish 0.0.0.dev484__py3-none-any.whl → 0.0.0.dev506__py3-none-any.whl

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.

Potentially problematic release.


This version of omlish might be problematic. Click here for more details.

Files changed (93) hide show
  1. omlish/CODESTYLE.md +345 -0
  2. omlish/README.md +199 -0
  3. omlish/__about__.py +12 -5
  4. omlish/_check.cc +209 -0
  5. omlish/check.py +11 -0
  6. omlish/dataclasses/__init__.py +4 -0
  7. omlish/dataclasses/impl/concerns/frozen.py +4 -1
  8. omlish/dataclasses/impl/generation/plans.py +2 -17
  9. omlish/dataclasses/impl/generation/processor.py +2 -2
  10. omlish/dataclasses/impl/processing/driving.py +13 -1
  11. omlish/dataclasses/tools/replace.py +27 -0
  12. omlish/diag/_pycharm/runhack.py +1 -1
  13. omlish/dispatch/functions.py +1 -1
  14. omlish/formats/json/stream/lexing.py +13 -5
  15. omlish/formats/json/stream/parsing.py +1 -1
  16. omlish/inject/README.md +430 -0
  17. omlish/inject/__init__.py +20 -11
  18. omlish/inject/_dataclasses.py +1545 -1383
  19. omlish/inject/binder.py +7 -4
  20. omlish/inject/eagers.py +2 -4
  21. omlish/inject/elements.py +4 -0
  22. omlish/inject/helpers/late.py +76 -0
  23. omlish/inject/{managed.py → helpers/managed.py} +37 -34
  24. omlish/inject/impl/elements.py +7 -4
  25. omlish/inject/impl/injector.py +14 -26
  26. omlish/inject/impl/inspect.py +0 -8
  27. omlish/inject/impl/origins.py +1 -0
  28. omlish/inject/impl/privates.py +2 -6
  29. omlish/inject/impl/providers.py +0 -4
  30. omlish/inject/impl/scopes.py +14 -18
  31. omlish/inject/inspect.py +10 -1
  32. omlish/inject/multis.py +0 -3
  33. omlish/inject/scopes.py +7 -5
  34. omlish/io/buffers.py +35 -8
  35. omlish/lang/__init__.py +10 -0
  36. omlish/lang/classes/simple.py +2 -1
  37. omlish/lang/iterables.py +6 -0
  38. omlish/lang/objects.py +13 -0
  39. omlish/lang/outcomes.py +1 -1
  40. omlish/lang/recursion.py +1 -1
  41. omlish/lang/sequences.py +33 -0
  42. omlish/lifecycles/README.md +30 -0
  43. omlish/lifecycles/__init__.py +87 -13
  44. omlish/lifecycles/_dataclasses.py +1388 -0
  45. omlish/lifecycles/base.py +178 -64
  46. omlish/lifecycles/contextmanagers.py +113 -4
  47. omlish/lifecycles/controller.py +150 -87
  48. omlish/lifecycles/injection.py +143 -0
  49. omlish/lifecycles/listeners.py +56 -0
  50. omlish/lifecycles/managed.py +142 -0
  51. omlish/lifecycles/manager.py +218 -93
  52. omlish/lifecycles/states.py +2 -0
  53. omlish/lifecycles/transitions.py +3 -0
  54. omlish/lifecycles/unwrap.py +57 -0
  55. omlish/lite/maybes.py +7 -0
  56. omlish/lite/typing.py +33 -0
  57. omlish/logs/_amalg.py +1 -1
  58. omlish/logs/all.py +36 -11
  59. omlish/logs/asyncs.py +73 -0
  60. omlish/logs/base.py +101 -12
  61. omlish/logs/bisync.py +99 -0
  62. omlish/logs/contexts.py +4 -1
  63. omlish/logs/lists.py +125 -0
  64. omlish/logs/modules.py +19 -1
  65. omlish/logs/std/loggers.py +6 -1
  66. omlish/logs/std/noisy.py +11 -9
  67. omlish/logs/{standard.py → std/standard.py} +3 -4
  68. omlish/logs/utils.py +16 -1
  69. omlish/marshal/_dataclasses.py +813 -813
  70. omlish/reflect/__init__.py +43 -26
  71. omlish/reflect/ops.py +10 -1
  72. omlish/specs/jmespath/_dataclasses.py +597 -597
  73. omlish/specs/jsonschema/keywords/_dataclasses.py +244 -244
  74. omlish/sql/__init__.py +24 -5
  75. omlish/sql/api/dbapi.py +1 -1
  76. omlish/sql/dbapi/__init__.py +15 -0
  77. omlish/sql/{dbapi.py → dbapi/drivers.py} +2 -2
  78. omlish/sql/queries/__init__.py +3 -0
  79. omlish/testing/pytest/plugins/asyncs/plugin.py +2 -0
  80. omlish/text/docwrap/cli.py +5 -0
  81. omlish/typedvalues/_collection.cc +500 -0
  82. omlish/typedvalues/collection.py +159 -62
  83. omlish/typedvalues/generic.py +5 -4
  84. omlish/typedvalues/values.py +6 -0
  85. {omlish-0.0.0.dev484.dist-info → omlish-0.0.0.dev506.dist-info}/METADATA +14 -9
  86. {omlish-0.0.0.dev484.dist-info → omlish-0.0.0.dev506.dist-info}/RECORD +92 -77
  87. omlish/lifecycles/abstract.py +0 -86
  88. /omlish/inject/{impl → helpers}/proxy.py +0 -0
  89. /omlish/sql/{abc.py → dbapi/abc.py} +0 -0
  90. {omlish-0.0.0.dev484.dist-info → omlish-0.0.0.dev506.dist-info}/WHEEL +0 -0
  91. {omlish-0.0.0.dev484.dist-info → omlish-0.0.0.dev506.dist-info}/entry_points.txt +0 -0
  92. {omlish-0.0.0.dev484.dist-info → omlish-0.0.0.dev506.dist-info}/licenses/LICENSE +0 -0
  93. {omlish-0.0.0.dev484.dist-info → omlish-0.0.0.dev506.dist-info}/top_level.txt +0 -0
@@ -25,22 +25,23 @@ def _register(**kwargs):
25
25
 
26
26
  @_register(
27
27
  plan_repr=(
28
- "Plans(tup=(CopyPlan(fields=('m',)), EqPlan(fields=('m',)), FrozenPlan(fields=('m',), allow_dynamic_dunder_attr"
29
- "s=False), HashPlan(action='add', fields=('m',), cache=False), InitPlan(fields=(InitPlan.Field(name='m', annota"
30
- "tion=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, init=True, override=False, fi"
31
- "eld_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None),), self_param='self', std_params=('m"
32
- "',), kw_only_params=(), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPl"
33
- "an(fields=(ReprPlan.Field(name='m', kw_only=False, fn=None),), id=False, terse=False, default_fn=None)))"
28
+ "Plans(tup=(CopyPlan(fields=('vs',)), EqPlan(fields=('vs',)), FrozenPlan(fields=('vs',), allow_dynamic_dunder_a"
29
+ "ttrs=False), HashPlan(action='add', fields=('vs',), cache=False), InitPlan(fields=(InitPlan.Field(name='vs', a"
30
+ "nnotation=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, init=True, override=Fals"
31
+ "e, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None),), self_param='self', std_param"
32
+ "s=('vs',), kw_only_params=(), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), "
33
+ "ReprPlan(fields=(ReprPlan.Field(name='vs', kw_only=False, fn=None),), id=False, terse=False, default_fn=None))"
34
+ ")"
34
35
  ),
35
- plan_repr_sha1='00a32d02ca8d7c055f05a95a2073d8d5198c6d97',
36
+ plan_repr_sha1='50dcd1e5d7bfbe0e8b2f047dd733608af258e4ce',
36
37
  op_ref_idents=(
37
38
  '__dataclass__init__fields__0__annotation',
38
39
  ),
39
40
  cls_names=(
40
- ('omlish.specs.jsonschema.keywords', 'StrToKeywordsKeyword'),
41
+ ('omlish.specs.jsonschema.keywords', 'AnyArrayKeyword'),
41
42
  ),
42
43
  )
43
- def _process_dataclass__00a32d02ca8d7c055f05a95a2073d8d5198c6d97():
44
+ def _process_dataclass__50dcd1e5d7bfbe0e8b2f047dd733608af258e4ce():
44
45
  def _process_dataclass(
45
46
  *,
46
47
  __dataclass__cls,
@@ -63,7 +64,7 @@ def _process_dataclass__00a32d02ca8d7c055f05a95a2073d8d5198c6d97():
63
64
  if self.__class__ is not __dataclass__cls:
64
65
  raise TypeError(self)
65
66
  return __dataclass__cls( # noqa
66
- m=self.m,
67
+ vs=self.vs,
67
68
  )
68
69
 
69
70
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -77,7 +78,7 @@ def _process_dataclass__00a32d02ca8d7c055f05a95a2073d8d5198c6d97():
77
78
  if self.__class__ is not other.__class__:
78
79
  return NotImplemented
79
80
  return (
80
- self.m == other.m
81
+ self.vs == other.vs
81
82
  )
82
83
 
83
84
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -86,13 +87,13 @@ def _process_dataclass__00a32d02ca8d7c055f05a95a2073d8d5198c6d97():
86
87
  setattr(__dataclass__cls, '__eq__', __eq__)
87
88
 
88
89
  __dataclass___setattr_frozen_fields = {
89
- 'm',
90
+ 'vs',
90
91
  }
91
92
 
92
93
  def __setattr__(self, name, value):
93
94
  if (
94
95
  type(self) is __dataclass__cls
95
- or name in __dataclass___setattr_frozen_fields
96
+ or name in __dataclass___setattr_frozen_fields
96
97
  ):
97
98
  raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
98
99
  super(__dataclass__cls, self).__setattr__(name, value)
@@ -103,13 +104,13 @@ def _process_dataclass__00a32d02ca8d7c055f05a95a2073d8d5198c6d97():
103
104
  setattr(__dataclass__cls, '__setattr__', __setattr__)
104
105
 
105
106
  __dataclass___delattr_frozen_fields = {
106
- 'm',
107
+ 'vs',
107
108
  }
108
109
 
109
110
  def __delattr__(self, name):
110
111
  if (
111
112
  type(self) is __dataclass__cls
112
- or name in __dataclass___delattr_frozen_fields
113
+ or name in __dataclass___delattr_frozen_fields
113
114
  ):
114
115
  raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
115
116
  super(__dataclass__cls, self).__delattr__(name)
@@ -121,7 +122,7 @@ def _process_dataclass__00a32d02ca8d7c055f05a95a2073d8d5198c6d97():
121
122
 
122
123
  def __hash__(self):
123
124
  return hash((
124
- self.m,
125
+ self.vs,
125
126
  ))
126
127
 
127
128
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -129,9 +130,9 @@ def _process_dataclass__00a32d02ca8d7c055f05a95a2073d8d5198c6d97():
129
130
 
130
131
  def __init__(
131
132
  self,
132
- m: __dataclass__init__fields__0__annotation,
133
+ vs: __dataclass__init__fields__0__annotation,
133
134
  ) -> __dataclass__None:
134
- __dataclass__object_setattr(self, 'm', m)
135
+ __dataclass__object_setattr(self, 'vs', vs)
135
136
 
136
137
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
137
138
  if '__init__' in __dataclass__cls.__dict__:
@@ -141,7 +142,7 @@ def _process_dataclass__00a32d02ca8d7c055f05a95a2073d8d5198c6d97():
141
142
  @__dataclass___recursive_repr()
142
143
  def __repr__(self):
143
144
  parts = []
144
- parts.append(f"m={self.m!r}")
145
+ parts.append(f"vs={self.vs!r}")
145
146
  return (
146
147
  f"{self.__class__.__qualname__}("
147
148
  f"{', '.join(parts)}"
@@ -158,23 +159,22 @@ def _process_dataclass__00a32d02ca8d7c055f05a95a2073d8d5198c6d97():
158
159
 
159
160
  @_register(
160
161
  plan_repr=(
161
- "Plans(tup=(CopyPlan(fields=('bk',)), EqPlan(fields=('bk',)), FrozenPlan(fields=('bk',), allow_dynamic_dunder_a"
162
- "ttrs=False), HashPlan(action='add', fields=('bk',), cache=False), InitPlan(fields=(InitPlan.Field(name='bk', a"
163
- "nnotation=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, init=True, override=Fals"
164
- "e, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None),), self_param='self', std_param"
165
- "s=('bk',), kw_only_params=(), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), "
166
- "ReprPlan(fields=(ReprPlan.Field(name='bk', kw_only=False, fn=None),), id=False, terse=False, default_fn=None))"
167
- ")"
162
+ "Plans(tup=(CopyPlan(fields=('v',)), EqPlan(fields=('v',)), FrozenPlan(fields=('v',), allow_dynamic_dunder_attr"
163
+ "s=False), HashPlan(action='add', fields=('v',), cache=False), InitPlan(fields=(InitPlan.Field(name='v', annota"
164
+ "tion=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, init=True, override=False, fi"
165
+ "eld_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None),), self_param='self', std_params=('v"
166
+ "',), kw_only_params=(), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPl"
167
+ "an(fields=(ReprPlan.Field(name='v', kw_only=False, fn=None),), id=False, terse=False, default_fn=None)))"
168
168
  ),
169
- plan_repr_sha1='07af1f8e95f26d5a33fd9c0d2886faf347456c98',
169
+ plan_repr_sha1='7514673b39883258db895b0031e644b486721b54',
170
170
  op_ref_idents=(
171
171
  '__dataclass__init__fields__0__annotation',
172
172
  ),
173
173
  cls_names=(
174
- ('omlish.specs.jsonschema.keywords', 'BooleanOrKeywordsKeyword'),
174
+ ('omlish.specs.jsonschema.keywords', 'AnyKeyword'),
175
175
  ),
176
176
  )
177
- def _process_dataclass__07af1f8e95f26d5a33fd9c0d2886faf347456c98():
177
+ def _process_dataclass__7514673b39883258db895b0031e644b486721b54():
178
178
  def _process_dataclass(
179
179
  *,
180
180
  __dataclass__cls,
@@ -197,7 +197,7 @@ def _process_dataclass__07af1f8e95f26d5a33fd9c0d2886faf347456c98():
197
197
  if self.__class__ is not __dataclass__cls:
198
198
  raise TypeError(self)
199
199
  return __dataclass__cls( # noqa
200
- bk=self.bk,
200
+ v=self.v,
201
201
  )
202
202
 
203
203
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -211,7 +211,7 @@ def _process_dataclass__07af1f8e95f26d5a33fd9c0d2886faf347456c98():
211
211
  if self.__class__ is not other.__class__:
212
212
  return NotImplemented
213
213
  return (
214
- self.bk == other.bk
214
+ self.v == other.v
215
215
  )
216
216
 
217
217
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -220,13 +220,13 @@ def _process_dataclass__07af1f8e95f26d5a33fd9c0d2886faf347456c98():
220
220
  setattr(__dataclass__cls, '__eq__', __eq__)
221
221
 
222
222
  __dataclass___setattr_frozen_fields = {
223
- 'bk',
223
+ 'v',
224
224
  }
225
225
 
226
226
  def __setattr__(self, name, value):
227
227
  if (
228
228
  type(self) is __dataclass__cls
229
- or name in __dataclass___setattr_frozen_fields
229
+ or name in __dataclass___setattr_frozen_fields
230
230
  ):
231
231
  raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
232
232
  super(__dataclass__cls, self).__setattr__(name, value)
@@ -237,13 +237,13 @@ def _process_dataclass__07af1f8e95f26d5a33fd9c0d2886faf347456c98():
237
237
  setattr(__dataclass__cls, '__setattr__', __setattr__)
238
238
 
239
239
  __dataclass___delattr_frozen_fields = {
240
- 'bk',
240
+ 'v',
241
241
  }
242
242
 
243
243
  def __delattr__(self, name):
244
244
  if (
245
245
  type(self) is __dataclass__cls
246
- or name in __dataclass___delattr_frozen_fields
246
+ or name in __dataclass___delattr_frozen_fields
247
247
  ):
248
248
  raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
249
249
  super(__dataclass__cls, self).__delattr__(name)
@@ -255,7 +255,7 @@ def _process_dataclass__07af1f8e95f26d5a33fd9c0d2886faf347456c98():
255
255
 
256
256
  def __hash__(self):
257
257
  return hash((
258
- self.bk,
258
+ self.v,
259
259
  ))
260
260
 
261
261
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -263,9 +263,9 @@ def _process_dataclass__07af1f8e95f26d5a33fd9c0d2886faf347456c98():
263
263
 
264
264
  def __init__(
265
265
  self,
266
- bk: __dataclass__init__fields__0__annotation,
266
+ v: __dataclass__init__fields__0__annotation,
267
267
  ) -> __dataclass__None:
268
- __dataclass__object_setattr(self, 'bk', bk)
268
+ __dataclass__object_setattr(self, 'v', v)
269
269
 
270
270
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
271
271
  if '__init__' in __dataclass__cls.__dict__:
@@ -275,7 +275,7 @@ def _process_dataclass__07af1f8e95f26d5a33fd9c0d2886faf347456c98():
275
275
  @__dataclass___recursive_repr()
276
276
  def __repr__(self):
277
277
  parts = []
278
- parts.append(f"bk={self.bk!r}")
278
+ parts.append(f"v={self.v!r}")
279
279
  return (
280
280
  f"{self.__class__.__qualname__}("
281
281
  f"{', '.join(parts)}"
@@ -292,22 +292,22 @@ def _process_dataclass__07af1f8e95f26d5a33fd9c0d2886faf347456c98():
292
292
 
293
293
  @_register(
294
294
  plan_repr=(
295
- "Plans(tup=(CopyPlan(fields=('s',)), EqPlan(fields=('s',)), FrozenPlan(fields=('s',), allow_dynamic_dunder_attr"
296
- "s=False), HashPlan(action='add', fields=('s',), cache=False), InitPlan(fields=(InitPlan.Field(name='s', annota"
295
+ "Plans(tup=(CopyPlan(fields=('b',)), EqPlan(fields=('b',)), FrozenPlan(fields=('b',), allow_dynamic_dunder_attr"
296
+ "s=False), HashPlan(action='add', fields=('b',), cache=False), InitPlan(fields=(InitPlan.Field(name='b', annota"
297
297
  "tion=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, init=True, override=False, fi"
298
- "eld_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None),), self_param='self', std_params=('s"
298
+ "eld_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None),), self_param='self', std_params=('b"
299
299
  "',), kw_only_params=(), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPl"
300
- "an(fields=(ReprPlan.Field(name='s', kw_only=False, fn=None),), id=False, terse=False, default_fn=None)))"
300
+ "an(fields=(ReprPlan.Field(name='b', kw_only=False, fn=None),), id=False, terse=False, default_fn=None)))"
301
301
  ),
302
- plan_repr_sha1='30a5dd74853303d917aae5f67d4e7189615d1440',
302
+ plan_repr_sha1='b15f6985d2c25a626406472fe673abf39f19e546',
303
303
  op_ref_idents=(
304
304
  '__dataclass__init__fields__0__annotation',
305
305
  ),
306
306
  cls_names=(
307
- ('omlish.specs.jsonschema.keywords', 'StrKeyword'),
307
+ ('omlish.specs.jsonschema.keywords', 'BooleanKeyword'),
308
308
  ),
309
309
  )
310
- def _process_dataclass__30a5dd74853303d917aae5f67d4e7189615d1440():
310
+ def _process_dataclass__b15f6985d2c25a626406472fe673abf39f19e546():
311
311
  def _process_dataclass(
312
312
  *,
313
313
  __dataclass__cls,
@@ -330,7 +330,7 @@ def _process_dataclass__30a5dd74853303d917aae5f67d4e7189615d1440():
330
330
  if self.__class__ is not __dataclass__cls:
331
331
  raise TypeError(self)
332
332
  return __dataclass__cls( # noqa
333
- s=self.s,
333
+ b=self.b,
334
334
  )
335
335
 
336
336
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -344,7 +344,7 @@ def _process_dataclass__30a5dd74853303d917aae5f67d4e7189615d1440():
344
344
  if self.__class__ is not other.__class__:
345
345
  return NotImplemented
346
346
  return (
347
- self.s == other.s
347
+ self.b == other.b
348
348
  )
349
349
 
350
350
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -353,13 +353,13 @@ def _process_dataclass__30a5dd74853303d917aae5f67d4e7189615d1440():
353
353
  setattr(__dataclass__cls, '__eq__', __eq__)
354
354
 
355
355
  __dataclass___setattr_frozen_fields = {
356
- 's',
356
+ 'b',
357
357
  }
358
358
 
359
359
  def __setattr__(self, name, value):
360
360
  if (
361
361
  type(self) is __dataclass__cls
362
- or name in __dataclass___setattr_frozen_fields
362
+ or name in __dataclass___setattr_frozen_fields
363
363
  ):
364
364
  raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
365
365
  super(__dataclass__cls, self).__setattr__(name, value)
@@ -370,13 +370,13 @@ def _process_dataclass__30a5dd74853303d917aae5f67d4e7189615d1440():
370
370
  setattr(__dataclass__cls, '__setattr__', __setattr__)
371
371
 
372
372
  __dataclass___delattr_frozen_fields = {
373
- 's',
373
+ 'b',
374
374
  }
375
375
 
376
376
  def __delattr__(self, name):
377
377
  if (
378
378
  type(self) is __dataclass__cls
379
- or name in __dataclass___delattr_frozen_fields
379
+ or name in __dataclass___delattr_frozen_fields
380
380
  ):
381
381
  raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
382
382
  super(__dataclass__cls, self).__delattr__(name)
@@ -388,7 +388,7 @@ def _process_dataclass__30a5dd74853303d917aae5f67d4e7189615d1440():
388
388
 
389
389
  def __hash__(self):
390
390
  return hash((
391
- self.s,
391
+ self.b,
392
392
  ))
393
393
 
394
394
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -396,9 +396,9 @@ def _process_dataclass__30a5dd74853303d917aae5f67d4e7189615d1440():
396
396
 
397
397
  def __init__(
398
398
  self,
399
- s: __dataclass__init__fields__0__annotation,
399
+ b: __dataclass__init__fields__0__annotation,
400
400
  ) -> __dataclass__None:
401
- __dataclass__object_setattr(self, 's', s)
401
+ __dataclass__object_setattr(self, 'b', b)
402
402
 
403
403
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
404
404
  if '__init__' in __dataclass__cls.__dict__:
@@ -408,7 +408,7 @@ def _process_dataclass__30a5dd74853303d917aae5f67d4e7189615d1440():
408
408
  @__dataclass___recursive_repr()
409
409
  def __repr__(self):
410
410
  parts = []
411
- parts.append(f"s={self.s!r}")
411
+ parts.append(f"b={self.b!r}")
412
412
  return (
413
413
  f"{self.__class__.__qualname__}("
414
414
  f"{', '.join(parts)}"
@@ -425,31 +425,27 @@ def _process_dataclass__30a5dd74853303d917aae5f67d4e7189615d1440():
425
425
 
426
426
  @_register(
427
427
  plan_repr=(
428
- "Plans(tup=(CopyPlan(fields=('tag', 'value')), EqPlan(fields=('tag', 'value')), FrozenPlan(fields=('tag', 'valu"
429
- "e'), allow_dynamic_dunder_attrs=False), HashPlan(action='add', fields=('tag', 'value'), cache=False), InitPlan"
430
- "(fields=(InitPlan.Field(name='tag', annotation=OpRef(name='init.fields.0.annotation'), default=None, default_f"
431
- "actory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type="
432
- "None), InitPlan.Field(name='value', annotation=OpRef(name='init.fields.1.annotation'), default=None, default_f"
433
- "actory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type="
434
- "None)), self_param='self', std_params=('tag', 'value'), kw_only_params=(), frozen=True, slots=False, post_init"
435
- "_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='tag', kw_only=False, fn=Non"
436
- "e), ReprPlan.Field(name='value', kw_only=False, fn=None)), id=False, terse=False, default_fn=None)))"
428
+ "Plans(tup=(CopyPlan(fields=('bk',)), EqPlan(fields=('bk',)), FrozenPlan(fields=('bk',), allow_dynamic_dunder_a"
429
+ "ttrs=False), HashPlan(action='add', fields=('bk',), cache=False), InitPlan(fields=(InitPlan.Field(name='bk', a"
430
+ "nnotation=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, init=True, override=Fals"
431
+ "e, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None),), self_param='self', std_param"
432
+ "s=('bk',), kw_only_params=(), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), "
433
+ "ReprPlan(fields=(ReprPlan.Field(name='bk', kw_only=False, fn=None),), id=False, terse=False, default_fn=None))"
434
+ ")"
437
435
  ),
438
- plan_repr_sha1='4decbb1861609d4246f4e255ea5fbbe291055fb1',
436
+ plan_repr_sha1='07af1f8e95f26d5a33fd9c0d2886faf347456c98',
439
437
  op_ref_idents=(
440
438
  '__dataclass__init__fields__0__annotation',
441
- '__dataclass__init__fields__1__annotation',
442
439
  ),
443
440
  cls_names=(
444
- ('omlish.specs.jsonschema.keywords', 'UnknownKeyword'),
441
+ ('omlish.specs.jsonschema.keywords', 'BooleanOrKeywordsKeyword'),
445
442
  ),
446
443
  )
447
- def _process_dataclass__4decbb1861609d4246f4e255ea5fbbe291055fb1():
444
+ def _process_dataclass__07af1f8e95f26d5a33fd9c0d2886faf347456c98():
448
445
  def _process_dataclass(
449
446
  *,
450
447
  __dataclass__cls,
451
448
  __dataclass__init__fields__0__annotation,
452
- __dataclass__init__fields__1__annotation,
453
449
  __dataclass__FieldFnValidationError, # noqa
454
450
  __dataclass__FieldTypeValidationError, # noqa
455
451
  __dataclass__FnValidationError, # noqa
@@ -468,8 +464,7 @@ def _process_dataclass__4decbb1861609d4246f4e255ea5fbbe291055fb1():
468
464
  if self.__class__ is not __dataclass__cls:
469
465
  raise TypeError(self)
470
466
  return __dataclass__cls( # noqa
471
- tag=self.tag,
472
- value=self.value,
467
+ bk=self.bk,
473
468
  )
474
469
 
475
470
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -483,8 +478,7 @@ def _process_dataclass__4decbb1861609d4246f4e255ea5fbbe291055fb1():
483
478
  if self.__class__ is not other.__class__:
484
479
  return NotImplemented
485
480
  return (
486
- self.tag == other.tag and
487
- self.value == other.value
481
+ self.bk == other.bk
488
482
  )
489
483
 
490
484
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -493,14 +487,13 @@ def _process_dataclass__4decbb1861609d4246f4e255ea5fbbe291055fb1():
493
487
  setattr(__dataclass__cls, '__eq__', __eq__)
494
488
 
495
489
  __dataclass___setattr_frozen_fields = {
496
- 'tag',
497
- 'value',
490
+ 'bk',
498
491
  }
499
492
 
500
493
  def __setattr__(self, name, value):
501
494
  if (
502
495
  type(self) is __dataclass__cls
503
- or name in __dataclass___setattr_frozen_fields
496
+ or name in __dataclass___setattr_frozen_fields
504
497
  ):
505
498
  raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
506
499
  super(__dataclass__cls, self).__setattr__(name, value)
@@ -511,14 +504,13 @@ def _process_dataclass__4decbb1861609d4246f4e255ea5fbbe291055fb1():
511
504
  setattr(__dataclass__cls, '__setattr__', __setattr__)
512
505
 
513
506
  __dataclass___delattr_frozen_fields = {
514
- 'tag',
515
- 'value',
507
+ 'bk',
516
508
  }
517
509
 
518
510
  def __delattr__(self, name):
519
511
  if (
520
512
  type(self) is __dataclass__cls
521
- or name in __dataclass___delattr_frozen_fields
513
+ or name in __dataclass___delattr_frozen_fields
522
514
  ):
523
515
  raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
524
516
  super(__dataclass__cls, self).__delattr__(name)
@@ -530,8 +522,7 @@ def _process_dataclass__4decbb1861609d4246f4e255ea5fbbe291055fb1():
530
522
 
531
523
  def __hash__(self):
532
524
  return hash((
533
- self.tag,
534
- self.value,
525
+ self.bk,
535
526
  ))
536
527
 
537
528
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -539,11 +530,9 @@ def _process_dataclass__4decbb1861609d4246f4e255ea5fbbe291055fb1():
539
530
 
540
531
  def __init__(
541
532
  self,
542
- tag: __dataclass__init__fields__0__annotation,
543
- value: __dataclass__init__fields__1__annotation,
533
+ bk: __dataclass__init__fields__0__annotation,
544
534
  ) -> __dataclass__None:
545
- __dataclass__object_setattr(self, 'tag', tag)
546
- __dataclass__object_setattr(self, 'value', value)
535
+ __dataclass__object_setattr(self, 'bk', bk)
547
536
 
548
537
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
549
538
  if '__init__' in __dataclass__cls.__dict__:
@@ -553,8 +542,7 @@ def _process_dataclass__4decbb1861609d4246f4e255ea5fbbe291055fb1():
553
542
  @__dataclass___recursive_repr()
554
543
  def __repr__(self):
555
544
  parts = []
556
- parts.append(f"tag={self.tag!r}")
557
- parts.append(f"value={self.value!r}")
545
+ parts.append(f"bk={self.bk!r}")
558
546
  return (
559
547
  f"{self.__class__.__qualname__}("
560
548
  f"{', '.join(parts)}"
@@ -571,27 +559,31 @@ def _process_dataclass__4decbb1861609d4246f4e255ea5fbbe291055fb1():
571
559
 
572
560
  @_register(
573
561
  plan_repr=(
574
- "Plans(tup=(CopyPlan(fields=('vs',)), EqPlan(fields=('vs',)), FrozenPlan(fields=('vs',), allow_dynamic_dunder_a"
575
- "ttrs=False), HashPlan(action='add', fields=('vs',), cache=False), InitPlan(fields=(InitPlan.Field(name='vs', a"
576
- "nnotation=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, init=True, override=Fals"
577
- "e, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None),), self_param='self', std_param"
578
- "s=('vs',), kw_only_params=(), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), "
579
- "ReprPlan(fields=(ReprPlan.Field(name='vs', kw_only=False, fn=None),), id=False, terse=False, default_fn=None))"
580
- ")"
562
+ "Plans(tup=(CopyPlan(fields=('lst',)), EqPlan(fields=('lst',)), FrozenPlan(fields=('lst',), allow_dynamic_dunde"
563
+ "r_attrs=False), HashPlan(action='add', fields=('lst',), cache=False), InitPlan(fields=(InitPlan.Field(name='ls"
564
+ "t', annotation=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, init=True, override"
565
+ "=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None),), self_param='self', std_"
566
+ "params=('lst',), kw_only_params=(), frozen=True, slots=False, post_init_params=None, init_fns=(OpRef(name='ini"
567
+ "t.init_fns.0'), OpRef(name='init.init_fns.1')), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='lst', "
568
+ "kw_only=False, fn=None),), id=False, terse=False, default_fn=None)))"
581
569
  ),
582
- plan_repr_sha1='50dcd1e5d7bfbe0e8b2f047dd733608af258e4ce',
570
+ plan_repr_sha1='e41d7414f687c82fa6c9b4ae3b0f5e2a3665007d',
583
571
  op_ref_idents=(
584
572
  '__dataclass__init__fields__0__annotation',
573
+ '__dataclass__init__init_fns__0',
574
+ '__dataclass__init__init_fns__1',
585
575
  ),
586
576
  cls_names=(
587
- ('omlish.specs.jsonschema.keywords', 'AnyArrayKeyword'),
577
+ ('omlish.specs.jsonschema.keywords', 'Keywords'),
588
578
  ),
589
579
  )
590
- def _process_dataclass__50dcd1e5d7bfbe0e8b2f047dd733608af258e4ce():
580
+ def _process_dataclass__e41d7414f687c82fa6c9b4ae3b0f5e2a3665007d():
591
581
  def _process_dataclass(
592
582
  *,
593
583
  __dataclass__cls,
594
584
  __dataclass__init__fields__0__annotation,
585
+ __dataclass__init__init_fns__0,
586
+ __dataclass__init__init_fns__1,
595
587
  __dataclass__FieldFnValidationError, # noqa
596
588
  __dataclass__FieldTypeValidationError, # noqa
597
589
  __dataclass__FnValidationError, # noqa
@@ -610,7 +602,7 @@ def _process_dataclass__50dcd1e5d7bfbe0e8b2f047dd733608af258e4ce():
610
602
  if self.__class__ is not __dataclass__cls:
611
603
  raise TypeError(self)
612
604
  return __dataclass__cls( # noqa
613
- vs=self.vs,
605
+ lst=self.lst,
614
606
  )
615
607
 
616
608
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -624,7 +616,7 @@ def _process_dataclass__50dcd1e5d7bfbe0e8b2f047dd733608af258e4ce():
624
616
  if self.__class__ is not other.__class__:
625
617
  return NotImplemented
626
618
  return (
627
- self.vs == other.vs
619
+ self.lst == other.lst
628
620
  )
629
621
 
630
622
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -633,13 +625,13 @@ def _process_dataclass__50dcd1e5d7bfbe0e8b2f047dd733608af258e4ce():
633
625
  setattr(__dataclass__cls, '__eq__', __eq__)
634
626
 
635
627
  __dataclass___setattr_frozen_fields = {
636
- 'vs',
628
+ 'lst',
637
629
  }
638
630
 
639
631
  def __setattr__(self, name, value):
640
632
  if (
641
633
  type(self) is __dataclass__cls
642
- or name in __dataclass___setattr_frozen_fields
634
+ or name in __dataclass___setattr_frozen_fields
643
635
  ):
644
636
  raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
645
637
  super(__dataclass__cls, self).__setattr__(name, value)
@@ -650,13 +642,13 @@ def _process_dataclass__50dcd1e5d7bfbe0e8b2f047dd733608af258e4ce():
650
642
  setattr(__dataclass__cls, '__setattr__', __setattr__)
651
643
 
652
644
  __dataclass___delattr_frozen_fields = {
653
- 'vs',
645
+ 'lst',
654
646
  }
655
647
 
656
648
  def __delattr__(self, name):
657
649
  if (
658
650
  type(self) is __dataclass__cls
659
- or name in __dataclass___delattr_frozen_fields
651
+ or name in __dataclass___delattr_frozen_fields
660
652
  ):
661
653
  raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
662
654
  super(__dataclass__cls, self).__delattr__(name)
@@ -668,7 +660,7 @@ def _process_dataclass__50dcd1e5d7bfbe0e8b2f047dd733608af258e4ce():
668
660
 
669
661
  def __hash__(self):
670
662
  return hash((
671
- self.vs,
663
+ self.lst,
672
664
  ))
673
665
 
674
666
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -676,9 +668,11 @@ def _process_dataclass__50dcd1e5d7bfbe0e8b2f047dd733608af258e4ce():
676
668
 
677
669
  def __init__(
678
670
  self,
679
- vs: __dataclass__init__fields__0__annotation,
671
+ lst: __dataclass__init__fields__0__annotation,
680
672
  ) -> __dataclass__None:
681
- __dataclass__object_setattr(self, 'vs', vs)
673
+ __dataclass__object_setattr(self, 'lst', lst)
674
+ __dataclass__init__init_fns__0(self)
675
+ __dataclass__init__init_fns__1(self)
682
676
 
683
677
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
684
678
  if '__init__' in __dataclass__cls.__dict__:
@@ -688,7 +682,7 @@ def _process_dataclass__50dcd1e5d7bfbe0e8b2f047dd733608af258e4ce():
688
682
  @__dataclass___recursive_repr()
689
683
  def __repr__(self):
690
684
  parts = []
691
- parts.append(f"vs={self.vs!r}")
685
+ parts.append(f"lst={self.lst!r}")
692
686
  return (
693
687
  f"{self.__class__.__qualname__}("
694
688
  f"{', '.join(parts)}"
@@ -705,22 +699,23 @@ def _process_dataclass__50dcd1e5d7bfbe0e8b2f047dd733608af258e4ce():
705
699
 
706
700
  @_register(
707
701
  plan_repr=(
708
- "Plans(tup=(CopyPlan(fields=('v',)), EqPlan(fields=('v',)), FrozenPlan(fields=('v',), allow_dynamic_dunder_attr"
709
- "s=False), HashPlan(action='add', fields=('v',), cache=False), InitPlan(fields=(InitPlan.Field(name='v', annota"
710
- "tion=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, init=True, override=False, fi"
711
- "eld_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None),), self_param='self', std_params=('v"
712
- "',), kw_only_params=(), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPl"
713
- "an(fields=(ReprPlan.Field(name='v', kw_only=False, fn=None),), id=False, terse=False, default_fn=None)))"
702
+ "Plans(tup=(CopyPlan(fields=('kws',)), EqPlan(fields=('kws',)), FrozenPlan(fields=('kws',), allow_dynamic_dunde"
703
+ "r_attrs=False), HashPlan(action='add', fields=('kws',), cache=False), InitPlan(fields=(InitPlan.Field(name='kw"
704
+ "s', annotation=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, init=True, override"
705
+ "=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None),), self_param='self', std_"
706
+ "params=('kws',), kw_only_params=(), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns"
707
+ "=()), ReprPlan(fields=(ReprPlan.Field(name='kws', kw_only=False, fn=None),), id=False, terse=False, default_fn"
708
+ "=None)))"
714
709
  ),
715
- plan_repr_sha1='7514673b39883258db895b0031e644b486721b54',
710
+ plan_repr_sha1='789bffcf55273fd31a58a8ecefec3ed38f0b08eb',
716
711
  op_ref_idents=(
717
712
  '__dataclass__init__fields__0__annotation',
718
713
  ),
719
714
  cls_names=(
720
- ('omlish.specs.jsonschema.keywords', 'AnyKeyword'),
715
+ ('omlish.specs.jsonschema.keywords', 'KeywordsArrayKeyword'),
721
716
  ),
722
717
  )
723
- def _process_dataclass__7514673b39883258db895b0031e644b486721b54():
718
+ def _process_dataclass__789bffcf55273fd31a58a8ecefec3ed38f0b08eb():
724
719
  def _process_dataclass(
725
720
  *,
726
721
  __dataclass__cls,
@@ -743,7 +738,7 @@ def _process_dataclass__7514673b39883258db895b0031e644b486721b54():
743
738
  if self.__class__ is not __dataclass__cls:
744
739
  raise TypeError(self)
745
740
  return __dataclass__cls( # noqa
746
- v=self.v,
741
+ kws=self.kws,
747
742
  )
748
743
 
749
744
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -757,7 +752,7 @@ def _process_dataclass__7514673b39883258db895b0031e644b486721b54():
757
752
  if self.__class__ is not other.__class__:
758
753
  return NotImplemented
759
754
  return (
760
- self.v == other.v
755
+ self.kws == other.kws
761
756
  )
762
757
 
763
758
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -766,13 +761,13 @@ def _process_dataclass__7514673b39883258db895b0031e644b486721b54():
766
761
  setattr(__dataclass__cls, '__eq__', __eq__)
767
762
 
768
763
  __dataclass___setattr_frozen_fields = {
769
- 'v',
764
+ 'kws',
770
765
  }
771
766
 
772
767
  def __setattr__(self, name, value):
773
768
  if (
774
769
  type(self) is __dataclass__cls
775
- or name in __dataclass___setattr_frozen_fields
770
+ or name in __dataclass___setattr_frozen_fields
776
771
  ):
777
772
  raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
778
773
  super(__dataclass__cls, self).__setattr__(name, value)
@@ -783,13 +778,13 @@ def _process_dataclass__7514673b39883258db895b0031e644b486721b54():
783
778
  setattr(__dataclass__cls, '__setattr__', __setattr__)
784
779
 
785
780
  __dataclass___delattr_frozen_fields = {
786
- 'v',
781
+ 'kws',
787
782
  }
788
783
 
789
784
  def __delattr__(self, name):
790
785
  if (
791
786
  type(self) is __dataclass__cls
792
- or name in __dataclass___delattr_frozen_fields
787
+ or name in __dataclass___delattr_frozen_fields
793
788
  ):
794
789
  raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
795
790
  super(__dataclass__cls, self).__delattr__(name)
@@ -801,7 +796,7 @@ def _process_dataclass__7514673b39883258db895b0031e644b486721b54():
801
796
 
802
797
  def __hash__(self):
803
798
  return hash((
804
- self.v,
799
+ self.kws,
805
800
  ))
806
801
 
807
802
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -809,9 +804,9 @@ def _process_dataclass__7514673b39883258db895b0031e644b486721b54():
809
804
 
810
805
  def __init__(
811
806
  self,
812
- v: __dataclass__init__fields__0__annotation,
807
+ kws: __dataclass__init__fields__0__annotation,
813
808
  ) -> __dataclass__None:
814
- __dataclass__object_setattr(self, 'v', v)
809
+ __dataclass__object_setattr(self, 'kws', kws)
815
810
 
816
811
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
817
812
  if '__init__' in __dataclass__cls.__dict__:
@@ -821,7 +816,7 @@ def _process_dataclass__7514673b39883258db895b0031e644b486721b54():
821
816
  @__dataclass___recursive_repr()
822
817
  def __repr__(self):
823
818
  parts = []
824
- parts.append(f"v={self.v!r}")
819
+ parts.append(f"kws={self.kws!r}")
825
820
  return (
826
821
  f"{self.__class__.__qualname__}("
827
822
  f"{', '.join(parts)}"
@@ -838,23 +833,23 @@ def _process_dataclass__7514673b39883258db895b0031e644b486721b54():
838
833
 
839
834
  @_register(
840
835
  plan_repr=(
841
- "Plans(tup=(CopyPlan(fields=('kws',)), EqPlan(fields=('kws',)), FrozenPlan(fields=('kws',), allow_dynamic_dunde"
842
- "r_attrs=False), HashPlan(action='add', fields=('kws',), cache=False), InitPlan(fields=(InitPlan.Field(name='kw"
843
- "s', annotation=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, init=True, override"
844
- "=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None),), self_param='self', std_"
845
- "params=('kws',), kw_only_params=(), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns"
846
- "=()), ReprPlan(fields=(ReprPlan.Field(name='kws', kw_only=False, fn=None),), id=False, terse=False, default_fn"
847
- "=None)))"
836
+ "Plans(tup=(CopyPlan(fields=('kw',)), EqPlan(fields=('kw',)), FrozenPlan(fields=('kw',), allow_dynamic_dunder_a"
837
+ "ttrs=False), HashPlan(action='add', fields=('kw',), cache=False), InitPlan(fields=(InitPlan.Field(name='kw', a"
838
+ "nnotation=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, init=True, override=Fals"
839
+ "e, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None),), self_param='self', std_param"
840
+ "s=('kw',), kw_only_params=(), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), "
841
+ "ReprPlan(fields=(ReprPlan.Field(name='kw', kw_only=False, fn=None),), id=False, terse=False, default_fn=None))"
842
+ ")"
848
843
  ),
849
- plan_repr_sha1='789bffcf55273fd31a58a8ecefec3ed38f0b08eb',
844
+ plan_repr_sha1='abd91f531aba634e9d4ea8af8e75ee8415d56f67',
850
845
  op_ref_idents=(
851
846
  '__dataclass__init__fields__0__annotation',
852
847
  ),
853
848
  cls_names=(
854
- ('omlish.specs.jsonschema.keywords', 'KeywordsArrayKeyword'),
849
+ ('omlish.specs.jsonschema.keywords', 'KeywordsKeyword'),
855
850
  ),
856
851
  )
857
- def _process_dataclass__789bffcf55273fd31a58a8ecefec3ed38f0b08eb():
852
+ def _process_dataclass__abd91f531aba634e9d4ea8af8e75ee8415d56f67():
858
853
  def _process_dataclass(
859
854
  *,
860
855
  __dataclass__cls,
@@ -877,7 +872,7 @@ def _process_dataclass__789bffcf55273fd31a58a8ecefec3ed38f0b08eb():
877
872
  if self.__class__ is not __dataclass__cls:
878
873
  raise TypeError(self)
879
874
  return __dataclass__cls( # noqa
880
- kws=self.kws,
875
+ kw=self.kw,
881
876
  )
882
877
 
883
878
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -891,7 +886,7 @@ def _process_dataclass__789bffcf55273fd31a58a8ecefec3ed38f0b08eb():
891
886
  if self.__class__ is not other.__class__:
892
887
  return NotImplemented
893
888
  return (
894
- self.kws == other.kws
889
+ self.kw == other.kw
895
890
  )
896
891
 
897
892
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -900,13 +895,13 @@ def _process_dataclass__789bffcf55273fd31a58a8ecefec3ed38f0b08eb():
900
895
  setattr(__dataclass__cls, '__eq__', __eq__)
901
896
 
902
897
  __dataclass___setattr_frozen_fields = {
903
- 'kws',
898
+ 'kw',
904
899
  }
905
900
 
906
901
  def __setattr__(self, name, value):
907
902
  if (
908
903
  type(self) is __dataclass__cls
909
- or name in __dataclass___setattr_frozen_fields
904
+ or name in __dataclass___setattr_frozen_fields
910
905
  ):
911
906
  raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
912
907
  super(__dataclass__cls, self).__setattr__(name, value)
@@ -917,13 +912,13 @@ def _process_dataclass__789bffcf55273fd31a58a8ecefec3ed38f0b08eb():
917
912
  setattr(__dataclass__cls, '__setattr__', __setattr__)
918
913
 
919
914
  __dataclass___delattr_frozen_fields = {
920
- 'kws',
915
+ 'kw',
921
916
  }
922
917
 
923
918
  def __delattr__(self, name):
924
919
  if (
925
920
  type(self) is __dataclass__cls
926
- or name in __dataclass___delattr_frozen_fields
921
+ or name in __dataclass___delattr_frozen_fields
927
922
  ):
928
923
  raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
929
924
  super(__dataclass__cls, self).__delattr__(name)
@@ -935,7 +930,7 @@ def _process_dataclass__789bffcf55273fd31a58a8ecefec3ed38f0b08eb():
935
930
 
936
931
  def __hash__(self):
937
932
  return hash((
938
- self.kws,
933
+ self.kw,
939
934
  ))
940
935
 
941
936
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -943,9 +938,9 @@ def _process_dataclass__789bffcf55273fd31a58a8ecefec3ed38f0b08eb():
943
938
 
944
939
  def __init__(
945
940
  self,
946
- kws: __dataclass__init__fields__0__annotation,
941
+ kw: __dataclass__init__fields__0__annotation,
947
942
  ) -> __dataclass__None:
948
- __dataclass__object_setattr(self, 'kws', kws)
943
+ __dataclass__object_setattr(self, 'kw', kw)
949
944
 
950
945
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
951
946
  if '__init__' in __dataclass__cls.__dict__:
@@ -955,7 +950,7 @@ def _process_dataclass__789bffcf55273fd31a58a8ecefec3ed38f0b08eb():
955
950
  @__dataclass___recursive_repr()
956
951
  def __repr__(self):
957
952
  parts = []
958
- parts.append(f"kws={self.kws!r}")
953
+ parts.append(f"kw={self.kw!r}")
959
954
  return (
960
955
  f"{self.__class__.__qualname__}("
961
956
  f"{', '.join(parts)}"
@@ -972,23 +967,22 @@ def _process_dataclass__789bffcf55273fd31a58a8ecefec3ed38f0b08eb():
972
967
 
973
968
  @_register(
974
969
  plan_repr=(
975
- "Plans(tup=(CopyPlan(fields=('ss',)), EqPlan(fields=('ss',)), FrozenPlan(fields=('ss',), allow_dynamic_dunder_a"
976
- "ttrs=False), HashPlan(action='add', fields=('ss',), cache=False), InitPlan(fields=(InitPlan.Field(name='ss', a"
977
- "nnotation=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, init=True, override=Fals"
978
- "e, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None),), self_param='self', std_param"
979
- "s=('ss',), kw_only_params=(), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), "
980
- "ReprPlan(fields=(ReprPlan.Field(name='ss', kw_only=False, fn=None),), id=False, terse=False, default_fn=None))"
981
- ")"
970
+ "Plans(tup=(CopyPlan(fields=('n',)), EqPlan(fields=('n',)), FrozenPlan(fields=('n',), allow_dynamic_dunder_attr"
971
+ "s=False), HashPlan(action='add', fields=('n',), cache=False), InitPlan(fields=(InitPlan.Field(name='n', annota"
972
+ "tion=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, init=True, override=False, fi"
973
+ "eld_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None),), self_param='self', std_params=('n"
974
+ "',), kw_only_params=(), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPl"
975
+ "an(fields=(ReprPlan.Field(name='n', kw_only=False, fn=None),), id=False, terse=False, default_fn=None)))"
982
976
  ),
983
- plan_repr_sha1='9aaf31707e8da065f2718cbdd31f87978933a451',
977
+ plan_repr_sha1='9fd15f32de91b0c51104d30d936bf3e4e8934b29',
984
978
  op_ref_idents=(
985
979
  '__dataclass__init__fields__0__annotation',
986
980
  ),
987
981
  cls_names=(
988
- ('omlish.specs.jsonschema.keywords', 'StrOrStrArrayKeyword'),
982
+ ('omlish.specs.jsonschema.keywords', 'NumberKeyword'),
989
983
  ),
990
984
  )
991
- def _process_dataclass__9aaf31707e8da065f2718cbdd31f87978933a451():
985
+ def _process_dataclass__9fd15f32de91b0c51104d30d936bf3e4e8934b29():
992
986
  def _process_dataclass(
993
987
  *,
994
988
  __dataclass__cls,
@@ -1011,7 +1005,7 @@ def _process_dataclass__9aaf31707e8da065f2718cbdd31f87978933a451():
1011
1005
  if self.__class__ is not __dataclass__cls:
1012
1006
  raise TypeError(self)
1013
1007
  return __dataclass__cls( # noqa
1014
- ss=self.ss,
1008
+ n=self.n,
1015
1009
  )
1016
1010
 
1017
1011
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -1025,7 +1019,7 @@ def _process_dataclass__9aaf31707e8da065f2718cbdd31f87978933a451():
1025
1019
  if self.__class__ is not other.__class__:
1026
1020
  return NotImplemented
1027
1021
  return (
1028
- self.ss == other.ss
1022
+ self.n == other.n
1029
1023
  )
1030
1024
 
1031
1025
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -1034,13 +1028,13 @@ def _process_dataclass__9aaf31707e8da065f2718cbdd31f87978933a451():
1034
1028
  setattr(__dataclass__cls, '__eq__', __eq__)
1035
1029
 
1036
1030
  __dataclass___setattr_frozen_fields = {
1037
- 'ss',
1031
+ 'n',
1038
1032
  }
1039
1033
 
1040
1034
  def __setattr__(self, name, value):
1041
1035
  if (
1042
1036
  type(self) is __dataclass__cls
1043
- or name in __dataclass___setattr_frozen_fields
1037
+ or name in __dataclass___setattr_frozen_fields
1044
1038
  ):
1045
1039
  raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
1046
1040
  super(__dataclass__cls, self).__setattr__(name, value)
@@ -1051,13 +1045,13 @@ def _process_dataclass__9aaf31707e8da065f2718cbdd31f87978933a451():
1051
1045
  setattr(__dataclass__cls, '__setattr__', __setattr__)
1052
1046
 
1053
1047
  __dataclass___delattr_frozen_fields = {
1054
- 'ss',
1048
+ 'n',
1055
1049
  }
1056
1050
 
1057
1051
  def __delattr__(self, name):
1058
1052
  if (
1059
1053
  type(self) is __dataclass__cls
1060
- or name in __dataclass___delattr_frozen_fields
1054
+ or name in __dataclass___delattr_frozen_fields
1061
1055
  ):
1062
1056
  raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
1063
1057
  super(__dataclass__cls, self).__delattr__(name)
@@ -1069,7 +1063,7 @@ def _process_dataclass__9aaf31707e8da065f2718cbdd31f87978933a451():
1069
1063
 
1070
1064
  def __hash__(self):
1071
1065
  return hash((
1072
- self.ss,
1066
+ self.n,
1073
1067
  ))
1074
1068
 
1075
1069
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -1077,9 +1071,9 @@ def _process_dataclass__9aaf31707e8da065f2718cbdd31f87978933a451():
1077
1071
 
1078
1072
  def __init__(
1079
1073
  self,
1080
- ss: __dataclass__init__fields__0__annotation,
1074
+ n: __dataclass__init__fields__0__annotation,
1081
1075
  ) -> __dataclass__None:
1082
- __dataclass__object_setattr(self, 'ss', ss)
1076
+ __dataclass__object_setattr(self, 'n', n)
1083
1077
 
1084
1078
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
1085
1079
  if '__init__' in __dataclass__cls.__dict__:
@@ -1089,7 +1083,7 @@ def _process_dataclass__9aaf31707e8da065f2718cbdd31f87978933a451():
1089
1083
  @__dataclass___recursive_repr()
1090
1084
  def __repr__(self):
1091
1085
  parts = []
1092
- parts.append(f"ss={self.ss!r}")
1086
+ parts.append(f"n={self.n!r}")
1093
1087
  return (
1094
1088
  f"{self.__class__.__qualname__}("
1095
1089
  f"{', '.join(parts)}"
@@ -1106,22 +1100,22 @@ def _process_dataclass__9aaf31707e8da065f2718cbdd31f87978933a451():
1106
1100
 
1107
1101
  @_register(
1108
1102
  plan_repr=(
1109
- "Plans(tup=(CopyPlan(fields=('n',)), EqPlan(fields=('n',)), FrozenPlan(fields=('n',), allow_dynamic_dunder_attr"
1110
- "s=False), HashPlan(action='add', fields=('n',), cache=False), InitPlan(fields=(InitPlan.Field(name='n', annota"
1103
+ "Plans(tup=(CopyPlan(fields=('s',)), EqPlan(fields=('s',)), FrozenPlan(fields=('s',), allow_dynamic_dunder_attr"
1104
+ "s=False), HashPlan(action='add', fields=('s',), cache=False), InitPlan(fields=(InitPlan.Field(name='s', annota"
1111
1105
  "tion=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, init=True, override=False, fi"
1112
- "eld_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None),), self_param='self', std_params=('n"
1106
+ "eld_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None),), self_param='self', std_params=('s"
1113
1107
  "',), kw_only_params=(), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPl"
1114
- "an(fields=(ReprPlan.Field(name='n', kw_only=False, fn=None),), id=False, terse=False, default_fn=None)))"
1108
+ "an(fields=(ReprPlan.Field(name='s', kw_only=False, fn=None),), id=False, terse=False, default_fn=None)))"
1115
1109
  ),
1116
- plan_repr_sha1='9fd15f32de91b0c51104d30d936bf3e4e8934b29',
1110
+ plan_repr_sha1='30a5dd74853303d917aae5f67d4e7189615d1440',
1117
1111
  op_ref_idents=(
1118
1112
  '__dataclass__init__fields__0__annotation',
1119
1113
  ),
1120
1114
  cls_names=(
1121
- ('omlish.specs.jsonschema.keywords', 'NumberKeyword'),
1115
+ ('omlish.specs.jsonschema.keywords', 'StrKeyword'),
1122
1116
  ),
1123
1117
  )
1124
- def _process_dataclass__9fd15f32de91b0c51104d30d936bf3e4e8934b29():
1118
+ def _process_dataclass__30a5dd74853303d917aae5f67d4e7189615d1440():
1125
1119
  def _process_dataclass(
1126
1120
  *,
1127
1121
  __dataclass__cls,
@@ -1144,7 +1138,7 @@ def _process_dataclass__9fd15f32de91b0c51104d30d936bf3e4e8934b29():
1144
1138
  if self.__class__ is not __dataclass__cls:
1145
1139
  raise TypeError(self)
1146
1140
  return __dataclass__cls( # noqa
1147
- n=self.n,
1141
+ s=self.s,
1148
1142
  )
1149
1143
 
1150
1144
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -1158,7 +1152,7 @@ def _process_dataclass__9fd15f32de91b0c51104d30d936bf3e4e8934b29():
1158
1152
  if self.__class__ is not other.__class__:
1159
1153
  return NotImplemented
1160
1154
  return (
1161
- self.n == other.n
1155
+ self.s == other.s
1162
1156
  )
1163
1157
 
1164
1158
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -1167,13 +1161,13 @@ def _process_dataclass__9fd15f32de91b0c51104d30d936bf3e4e8934b29():
1167
1161
  setattr(__dataclass__cls, '__eq__', __eq__)
1168
1162
 
1169
1163
  __dataclass___setattr_frozen_fields = {
1170
- 'n',
1164
+ 's',
1171
1165
  }
1172
1166
 
1173
1167
  def __setattr__(self, name, value):
1174
1168
  if (
1175
1169
  type(self) is __dataclass__cls
1176
- or name in __dataclass___setattr_frozen_fields
1170
+ or name in __dataclass___setattr_frozen_fields
1177
1171
  ):
1178
1172
  raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
1179
1173
  super(__dataclass__cls, self).__setattr__(name, value)
@@ -1184,13 +1178,13 @@ def _process_dataclass__9fd15f32de91b0c51104d30d936bf3e4e8934b29():
1184
1178
  setattr(__dataclass__cls, '__setattr__', __setattr__)
1185
1179
 
1186
1180
  __dataclass___delattr_frozen_fields = {
1187
- 'n',
1181
+ 's',
1188
1182
  }
1189
1183
 
1190
1184
  def __delattr__(self, name):
1191
1185
  if (
1192
1186
  type(self) is __dataclass__cls
1193
- or name in __dataclass___delattr_frozen_fields
1187
+ or name in __dataclass___delattr_frozen_fields
1194
1188
  ):
1195
1189
  raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
1196
1190
  super(__dataclass__cls, self).__delattr__(name)
@@ -1202,7 +1196,7 @@ def _process_dataclass__9fd15f32de91b0c51104d30d936bf3e4e8934b29():
1202
1196
 
1203
1197
  def __hash__(self):
1204
1198
  return hash((
1205
- self.n,
1199
+ self.s,
1206
1200
  ))
1207
1201
 
1208
1202
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -1210,9 +1204,9 @@ def _process_dataclass__9fd15f32de91b0c51104d30d936bf3e4e8934b29():
1210
1204
 
1211
1205
  def __init__(
1212
1206
  self,
1213
- n: __dataclass__init__fields__0__annotation,
1207
+ s: __dataclass__init__fields__0__annotation,
1214
1208
  ) -> __dataclass__None:
1215
- __dataclass__object_setattr(self, 'n', n)
1209
+ __dataclass__object_setattr(self, 's', s)
1216
1210
 
1217
1211
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
1218
1212
  if '__init__' in __dataclass__cls.__dict__:
@@ -1222,7 +1216,7 @@ def _process_dataclass__9fd15f32de91b0c51104d30d936bf3e4e8934b29():
1222
1216
  @__dataclass___recursive_repr()
1223
1217
  def __repr__(self):
1224
1218
  parts = []
1225
- parts.append(f"n={self.n!r}")
1219
+ parts.append(f"s={self.s!r}")
1226
1220
  return (
1227
1221
  f"{self.__class__.__qualname__}("
1228
1222
  f"{', '.join(parts)}"
@@ -1239,23 +1233,23 @@ def _process_dataclass__9fd15f32de91b0c51104d30d936bf3e4e8934b29():
1239
1233
 
1240
1234
  @_register(
1241
1235
  plan_repr=(
1242
- "Plans(tup=(CopyPlan(fields=('kw',)), EqPlan(fields=('kw',)), FrozenPlan(fields=('kw',), allow_dynamic_dunder_a"
1243
- "ttrs=False), HashPlan(action='add', fields=('kw',), cache=False), InitPlan(fields=(InitPlan.Field(name='kw', a"
1236
+ "Plans(tup=(CopyPlan(fields=('ss',)), EqPlan(fields=('ss',)), FrozenPlan(fields=('ss',), allow_dynamic_dunder_a"
1237
+ "ttrs=False), HashPlan(action='add', fields=('ss',), cache=False), InitPlan(fields=(InitPlan.Field(name='ss', a"
1244
1238
  "nnotation=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, init=True, override=Fals"
1245
1239
  "e, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None),), self_param='self', std_param"
1246
- "s=('kw',), kw_only_params=(), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), "
1247
- "ReprPlan(fields=(ReprPlan.Field(name='kw', kw_only=False, fn=None),), id=False, terse=False, default_fn=None))"
1240
+ "s=('ss',), kw_only_params=(), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), "
1241
+ "ReprPlan(fields=(ReprPlan.Field(name='ss', kw_only=False, fn=None),), id=False, terse=False, default_fn=None))"
1248
1242
  ")"
1249
1243
  ),
1250
- plan_repr_sha1='abd91f531aba634e9d4ea8af8e75ee8415d56f67',
1244
+ plan_repr_sha1='9aaf31707e8da065f2718cbdd31f87978933a451',
1251
1245
  op_ref_idents=(
1252
1246
  '__dataclass__init__fields__0__annotation',
1253
1247
  ),
1254
1248
  cls_names=(
1255
- ('omlish.specs.jsonschema.keywords', 'KeywordsKeyword'),
1249
+ ('omlish.specs.jsonschema.keywords', 'StrOrStrArrayKeyword'),
1256
1250
  ),
1257
1251
  )
1258
- def _process_dataclass__abd91f531aba634e9d4ea8af8e75ee8415d56f67():
1252
+ def _process_dataclass__9aaf31707e8da065f2718cbdd31f87978933a451():
1259
1253
  def _process_dataclass(
1260
1254
  *,
1261
1255
  __dataclass__cls,
@@ -1278,7 +1272,7 @@ def _process_dataclass__abd91f531aba634e9d4ea8af8e75ee8415d56f67():
1278
1272
  if self.__class__ is not __dataclass__cls:
1279
1273
  raise TypeError(self)
1280
1274
  return __dataclass__cls( # noqa
1281
- kw=self.kw,
1275
+ ss=self.ss,
1282
1276
  )
1283
1277
 
1284
1278
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -1292,7 +1286,7 @@ def _process_dataclass__abd91f531aba634e9d4ea8af8e75ee8415d56f67():
1292
1286
  if self.__class__ is not other.__class__:
1293
1287
  return NotImplemented
1294
1288
  return (
1295
- self.kw == other.kw
1289
+ self.ss == other.ss
1296
1290
  )
1297
1291
 
1298
1292
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -1301,13 +1295,13 @@ def _process_dataclass__abd91f531aba634e9d4ea8af8e75ee8415d56f67():
1301
1295
  setattr(__dataclass__cls, '__eq__', __eq__)
1302
1296
 
1303
1297
  __dataclass___setattr_frozen_fields = {
1304
- 'kw',
1298
+ 'ss',
1305
1299
  }
1306
1300
 
1307
1301
  def __setattr__(self, name, value):
1308
1302
  if (
1309
1303
  type(self) is __dataclass__cls
1310
- or name in __dataclass___setattr_frozen_fields
1304
+ or name in __dataclass___setattr_frozen_fields
1311
1305
  ):
1312
1306
  raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
1313
1307
  super(__dataclass__cls, self).__setattr__(name, value)
@@ -1318,13 +1312,13 @@ def _process_dataclass__abd91f531aba634e9d4ea8af8e75ee8415d56f67():
1318
1312
  setattr(__dataclass__cls, '__setattr__', __setattr__)
1319
1313
 
1320
1314
  __dataclass___delattr_frozen_fields = {
1321
- 'kw',
1315
+ 'ss',
1322
1316
  }
1323
1317
 
1324
1318
  def __delattr__(self, name):
1325
1319
  if (
1326
1320
  type(self) is __dataclass__cls
1327
- or name in __dataclass___delattr_frozen_fields
1321
+ or name in __dataclass___delattr_frozen_fields
1328
1322
  ):
1329
1323
  raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
1330
1324
  super(__dataclass__cls, self).__delattr__(name)
@@ -1336,7 +1330,7 @@ def _process_dataclass__abd91f531aba634e9d4ea8af8e75ee8415d56f67():
1336
1330
 
1337
1331
  def __hash__(self):
1338
1332
  return hash((
1339
- self.kw,
1333
+ self.ss,
1340
1334
  ))
1341
1335
 
1342
1336
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -1344,9 +1338,9 @@ def _process_dataclass__abd91f531aba634e9d4ea8af8e75ee8415d56f67():
1344
1338
 
1345
1339
  def __init__(
1346
1340
  self,
1347
- kw: __dataclass__init__fields__0__annotation,
1341
+ ss: __dataclass__init__fields__0__annotation,
1348
1342
  ) -> __dataclass__None:
1349
- __dataclass__object_setattr(self, 'kw', kw)
1343
+ __dataclass__object_setattr(self, 'ss', ss)
1350
1344
 
1351
1345
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
1352
1346
  if '__init__' in __dataclass__cls.__dict__:
@@ -1356,7 +1350,7 @@ def _process_dataclass__abd91f531aba634e9d4ea8af8e75ee8415d56f67():
1356
1350
  @__dataclass___recursive_repr()
1357
1351
  def __repr__(self):
1358
1352
  parts = []
1359
- parts.append(f"kw={self.kw!r}")
1353
+ parts.append(f"ss={self.ss!r}")
1360
1354
  return (
1361
1355
  f"{self.__class__.__qualname__}("
1362
1356
  f"{', '.join(parts)}"
@@ -1373,22 +1367,22 @@ def _process_dataclass__abd91f531aba634e9d4ea8af8e75ee8415d56f67():
1373
1367
 
1374
1368
  @_register(
1375
1369
  plan_repr=(
1376
- "Plans(tup=(CopyPlan(fields=('b',)), EqPlan(fields=('b',)), FrozenPlan(fields=('b',), allow_dynamic_dunder_attr"
1377
- "s=False), HashPlan(action='add', fields=('b',), cache=False), InitPlan(fields=(InitPlan.Field(name='b', annota"
1370
+ "Plans(tup=(CopyPlan(fields=('m',)), EqPlan(fields=('m',)), FrozenPlan(fields=('m',), allow_dynamic_dunder_attr"
1371
+ "s=False), HashPlan(action='add', fields=('m',), cache=False), InitPlan(fields=(InitPlan.Field(name='m', annota"
1378
1372
  "tion=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, init=True, override=False, fi"
1379
- "eld_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None),), self_param='self', std_params=('b"
1373
+ "eld_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None),), self_param='self', std_params=('m"
1380
1374
  "',), kw_only_params=(), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPl"
1381
- "an(fields=(ReprPlan.Field(name='b', kw_only=False, fn=None),), id=False, terse=False, default_fn=None)))"
1375
+ "an(fields=(ReprPlan.Field(name='m', kw_only=False, fn=None),), id=False, terse=False, default_fn=None)))"
1382
1376
  ),
1383
- plan_repr_sha1='b15f6985d2c25a626406472fe673abf39f19e546',
1377
+ plan_repr_sha1='00a32d02ca8d7c055f05a95a2073d8d5198c6d97',
1384
1378
  op_ref_idents=(
1385
1379
  '__dataclass__init__fields__0__annotation',
1386
1380
  ),
1387
1381
  cls_names=(
1388
- ('omlish.specs.jsonschema.keywords', 'BooleanKeyword'),
1382
+ ('omlish.specs.jsonschema.keywords', 'StrToKeywordsKeyword'),
1389
1383
  ),
1390
1384
  )
1391
- def _process_dataclass__b15f6985d2c25a626406472fe673abf39f19e546():
1385
+ def _process_dataclass__00a32d02ca8d7c055f05a95a2073d8d5198c6d97():
1392
1386
  def _process_dataclass(
1393
1387
  *,
1394
1388
  __dataclass__cls,
@@ -1411,7 +1405,7 @@ def _process_dataclass__b15f6985d2c25a626406472fe673abf39f19e546():
1411
1405
  if self.__class__ is not __dataclass__cls:
1412
1406
  raise TypeError(self)
1413
1407
  return __dataclass__cls( # noqa
1414
- b=self.b,
1408
+ m=self.m,
1415
1409
  )
1416
1410
 
1417
1411
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -1425,7 +1419,7 @@ def _process_dataclass__b15f6985d2c25a626406472fe673abf39f19e546():
1425
1419
  if self.__class__ is not other.__class__:
1426
1420
  return NotImplemented
1427
1421
  return (
1428
- self.b == other.b
1422
+ self.m == other.m
1429
1423
  )
1430
1424
 
1431
1425
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -1434,13 +1428,13 @@ def _process_dataclass__b15f6985d2c25a626406472fe673abf39f19e546():
1434
1428
  setattr(__dataclass__cls, '__eq__', __eq__)
1435
1429
 
1436
1430
  __dataclass___setattr_frozen_fields = {
1437
- 'b',
1431
+ 'm',
1438
1432
  }
1439
1433
 
1440
1434
  def __setattr__(self, name, value):
1441
1435
  if (
1442
1436
  type(self) is __dataclass__cls
1443
- or name in __dataclass___setattr_frozen_fields
1437
+ or name in __dataclass___setattr_frozen_fields
1444
1438
  ):
1445
1439
  raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
1446
1440
  super(__dataclass__cls, self).__setattr__(name, value)
@@ -1451,13 +1445,13 @@ def _process_dataclass__b15f6985d2c25a626406472fe673abf39f19e546():
1451
1445
  setattr(__dataclass__cls, '__setattr__', __setattr__)
1452
1446
 
1453
1447
  __dataclass___delattr_frozen_fields = {
1454
- 'b',
1448
+ 'm',
1455
1449
  }
1456
1450
 
1457
1451
  def __delattr__(self, name):
1458
1452
  if (
1459
1453
  type(self) is __dataclass__cls
1460
- or name in __dataclass___delattr_frozen_fields
1454
+ or name in __dataclass___delattr_frozen_fields
1461
1455
  ):
1462
1456
  raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
1463
1457
  super(__dataclass__cls, self).__delattr__(name)
@@ -1469,7 +1463,7 @@ def _process_dataclass__b15f6985d2c25a626406472fe673abf39f19e546():
1469
1463
 
1470
1464
  def __hash__(self):
1471
1465
  return hash((
1472
- self.b,
1466
+ self.m,
1473
1467
  ))
1474
1468
 
1475
1469
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -1477,9 +1471,9 @@ def _process_dataclass__b15f6985d2c25a626406472fe673abf39f19e546():
1477
1471
 
1478
1472
  def __init__(
1479
1473
  self,
1480
- b: __dataclass__init__fields__0__annotation,
1474
+ m: __dataclass__init__fields__0__annotation,
1481
1475
  ) -> __dataclass__None:
1482
- __dataclass__object_setattr(self, 'b', b)
1476
+ __dataclass__object_setattr(self, 'm', m)
1483
1477
 
1484
1478
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
1485
1479
  if '__init__' in __dataclass__cls.__dict__:
@@ -1489,7 +1483,7 @@ def _process_dataclass__b15f6985d2c25a626406472fe673abf39f19e546():
1489
1483
  @__dataclass___recursive_repr()
1490
1484
  def __repr__(self):
1491
1485
  parts = []
1492
- parts.append(f"b={self.b!r}")
1486
+ parts.append(f"m={self.m!r}")
1493
1487
  return (
1494
1488
  f"{self.__class__.__qualname__}("
1495
1489
  f"{', '.join(parts)}"
@@ -1506,31 +1500,31 @@ def _process_dataclass__b15f6985d2c25a626406472fe673abf39f19e546():
1506
1500
 
1507
1501
  @_register(
1508
1502
  plan_repr=(
1509
- "Plans(tup=(CopyPlan(fields=('lst',)), EqPlan(fields=('lst',)), FrozenPlan(fields=('lst',), allow_dynamic_dunde"
1510
- "r_attrs=False), HashPlan(action='add', fields=('lst',), cache=False), InitPlan(fields=(InitPlan.Field(name='ls"
1511
- "t', annotation=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, init=True, override"
1512
- "=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None),), self_param='self', std_"
1513
- "params=('lst',), kw_only_params=(), frozen=True, slots=False, post_init_params=None, init_fns=(OpRef(name='ini"
1514
- "t.init_fns.0'), OpRef(name='init.init_fns.1')), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='lst', "
1515
- "kw_only=False, fn=None),), id=False, terse=False, default_fn=None)))"
1503
+ "Plans(tup=(CopyPlan(fields=('tag', 'value')), EqPlan(fields=('tag', 'value')), FrozenPlan(fields=('tag', 'valu"
1504
+ "e'), allow_dynamic_dunder_attrs=False), HashPlan(action='add', fields=('tag', 'value'), cache=False), InitPlan"
1505
+ "(fields=(InitPlan.Field(name='tag', annotation=OpRef(name='init.fields.0.annotation'), default=None, default_f"
1506
+ "actory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type="
1507
+ "None), InitPlan.Field(name='value', annotation=OpRef(name='init.fields.1.annotation'), default=None, default_f"
1508
+ "actory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type="
1509
+ "None)), self_param='self', std_params=('tag', 'value'), kw_only_params=(), frozen=True, slots=False, post_init"
1510
+ "_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='tag', kw_only=False, fn=Non"
1511
+ "e), ReprPlan.Field(name='value', kw_only=False, fn=None)), id=False, terse=False, default_fn=None)))"
1516
1512
  ),
1517
- plan_repr_sha1='e41d7414f687c82fa6c9b4ae3b0f5e2a3665007d',
1513
+ plan_repr_sha1='4decbb1861609d4246f4e255ea5fbbe291055fb1',
1518
1514
  op_ref_idents=(
1519
1515
  '__dataclass__init__fields__0__annotation',
1520
- '__dataclass__init__init_fns__0',
1521
- '__dataclass__init__init_fns__1',
1516
+ '__dataclass__init__fields__1__annotation',
1522
1517
  ),
1523
1518
  cls_names=(
1524
- ('omlish.specs.jsonschema.keywords', 'Keywords'),
1519
+ ('omlish.specs.jsonschema.keywords', 'UnknownKeyword'),
1525
1520
  ),
1526
1521
  )
1527
- def _process_dataclass__e41d7414f687c82fa6c9b4ae3b0f5e2a3665007d():
1522
+ def _process_dataclass__4decbb1861609d4246f4e255ea5fbbe291055fb1():
1528
1523
  def _process_dataclass(
1529
1524
  *,
1530
1525
  __dataclass__cls,
1531
1526
  __dataclass__init__fields__0__annotation,
1532
- __dataclass__init__init_fns__0,
1533
- __dataclass__init__init_fns__1,
1527
+ __dataclass__init__fields__1__annotation,
1534
1528
  __dataclass__FieldFnValidationError, # noqa
1535
1529
  __dataclass__FieldTypeValidationError, # noqa
1536
1530
  __dataclass__FnValidationError, # noqa
@@ -1549,7 +1543,8 @@ def _process_dataclass__e41d7414f687c82fa6c9b4ae3b0f5e2a3665007d():
1549
1543
  if self.__class__ is not __dataclass__cls:
1550
1544
  raise TypeError(self)
1551
1545
  return __dataclass__cls( # noqa
1552
- lst=self.lst,
1546
+ tag=self.tag,
1547
+ value=self.value,
1553
1548
  )
1554
1549
 
1555
1550
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -1563,7 +1558,8 @@ def _process_dataclass__e41d7414f687c82fa6c9b4ae3b0f5e2a3665007d():
1563
1558
  if self.__class__ is not other.__class__:
1564
1559
  return NotImplemented
1565
1560
  return (
1566
- self.lst == other.lst
1561
+ self.tag == other.tag and
1562
+ self.value == other.value
1567
1563
  )
1568
1564
 
1569
1565
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -1572,13 +1568,14 @@ def _process_dataclass__e41d7414f687c82fa6c9b4ae3b0f5e2a3665007d():
1572
1568
  setattr(__dataclass__cls, '__eq__', __eq__)
1573
1569
 
1574
1570
  __dataclass___setattr_frozen_fields = {
1575
- 'lst',
1571
+ 'tag',
1572
+ 'value',
1576
1573
  }
1577
1574
 
1578
1575
  def __setattr__(self, name, value):
1579
1576
  if (
1580
1577
  type(self) is __dataclass__cls
1581
- or name in __dataclass___setattr_frozen_fields
1578
+ or name in __dataclass___setattr_frozen_fields
1582
1579
  ):
1583
1580
  raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
1584
1581
  super(__dataclass__cls, self).__setattr__(name, value)
@@ -1589,13 +1586,14 @@ def _process_dataclass__e41d7414f687c82fa6c9b4ae3b0f5e2a3665007d():
1589
1586
  setattr(__dataclass__cls, '__setattr__', __setattr__)
1590
1587
 
1591
1588
  __dataclass___delattr_frozen_fields = {
1592
- 'lst',
1589
+ 'tag',
1590
+ 'value',
1593
1591
  }
1594
1592
 
1595
1593
  def __delattr__(self, name):
1596
1594
  if (
1597
1595
  type(self) is __dataclass__cls
1598
- or name in __dataclass___delattr_frozen_fields
1596
+ or name in __dataclass___delattr_frozen_fields
1599
1597
  ):
1600
1598
  raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
1601
1599
  super(__dataclass__cls, self).__delattr__(name)
@@ -1607,7 +1605,8 @@ def _process_dataclass__e41d7414f687c82fa6c9b4ae3b0f5e2a3665007d():
1607
1605
 
1608
1606
  def __hash__(self):
1609
1607
  return hash((
1610
- self.lst,
1608
+ self.tag,
1609
+ self.value,
1611
1610
  ))
1612
1611
 
1613
1612
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -1615,11 +1614,11 @@ def _process_dataclass__e41d7414f687c82fa6c9b4ae3b0f5e2a3665007d():
1615
1614
 
1616
1615
  def __init__(
1617
1616
  self,
1618
- lst: __dataclass__init__fields__0__annotation,
1617
+ tag: __dataclass__init__fields__0__annotation,
1618
+ value: __dataclass__init__fields__1__annotation,
1619
1619
  ) -> __dataclass__None:
1620
- __dataclass__object_setattr(self, 'lst', lst)
1621
- __dataclass__init__init_fns__0(self)
1622
- __dataclass__init__init_fns__1(self)
1620
+ __dataclass__object_setattr(self, 'tag', tag)
1621
+ __dataclass__object_setattr(self, 'value', value)
1623
1622
 
1624
1623
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
1625
1624
  if '__init__' in __dataclass__cls.__dict__:
@@ -1629,7 +1628,8 @@ def _process_dataclass__e41d7414f687c82fa6c9b4ae3b0f5e2a3665007d():
1629
1628
  @__dataclass___recursive_repr()
1630
1629
  def __repr__(self):
1631
1630
  parts = []
1632
- parts.append(f"lst={self.lst!r}")
1631
+ parts.append(f"tag={self.tag!r}")
1632
+ parts.append(f"value={self.value!r}")
1633
1633
  return (
1634
1634
  f"{self.__class__.__qualname__}("
1635
1635
  f"{', '.join(parts)}"