@tamagui/web 3.0.0-beta.1133.1 → 3.0.0-beta.1141.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/helpers/getSplitStyles.cjs +56 -17
- package/dist/cjs/helpers/getSplitStyles.native.cjs +65 -29
- package/dist/cjs/helpers/getSplitStyles.native.js +65 -29
- package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
- package/dist/esm/helpers/getSplitStyles.mjs +56 -17
- package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
- package/dist/esm/helpers/getSplitStyles.native.js +65 -29
- package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
- package/package.json +17 -17
- package/src/helpers/getSplitStyles.tsx +115 -17
- package/types/helpers/getSplitStyles.d.ts.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/web",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.1141.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Nate Wienert"
|
|
@@ -100,24 +100,24 @@
|
|
|
100
100
|
"test:web": "vitest --typecheck --run"
|
|
101
101
|
},
|
|
102
102
|
"dependencies": {
|
|
103
|
-
"@tamagui/animation-helpers": "3.0.0-beta.
|
|
104
|
-
"@tamagui/compose-refs": "3.0.0-beta.
|
|
105
|
-
"@tamagui/constants": "3.0.0-beta.
|
|
106
|
-
"@tamagui/dom": "3.0.0-beta.
|
|
107
|
-
"@tamagui/helpers": "3.0.0-beta.
|
|
108
|
-
"@tamagui/is-equal-shallow": "3.0.0-beta.
|
|
109
|
-
"@tamagui/native": "3.0.0-beta.
|
|
110
|
-
"@tamagui/normalize-css-color": "3.0.0-beta.
|
|
111
|
-
"@tamagui/react-native-types": "3.0.0-beta.
|
|
112
|
-
"@tamagui/style-grammar": "3.0.0-beta.
|
|
113
|
-
"@tamagui/timer": "3.0.0-beta.
|
|
114
|
-
"@tamagui/types": "3.0.0-beta.
|
|
115
|
-
"@tamagui/use-did-finish-ssr": "3.0.0-beta.
|
|
116
|
-
"@tamagui/use-event": "3.0.0-beta.
|
|
117
|
-
"@tamagui/use-force-update": "3.0.0-beta.
|
|
103
|
+
"@tamagui/animation-helpers": "3.0.0-beta.1141.1",
|
|
104
|
+
"@tamagui/compose-refs": "3.0.0-beta.1141.1",
|
|
105
|
+
"@tamagui/constants": "3.0.0-beta.1141.1",
|
|
106
|
+
"@tamagui/dom": "3.0.0-beta.1141.1",
|
|
107
|
+
"@tamagui/helpers": "3.0.0-beta.1141.1",
|
|
108
|
+
"@tamagui/is-equal-shallow": "3.0.0-beta.1141.1",
|
|
109
|
+
"@tamagui/native": "3.0.0-beta.1141.1",
|
|
110
|
+
"@tamagui/normalize-css-color": "3.0.0-beta.1141.1",
|
|
111
|
+
"@tamagui/react-native-types": "3.0.0-beta.1141.1",
|
|
112
|
+
"@tamagui/style-grammar": "3.0.0-beta.1141.1",
|
|
113
|
+
"@tamagui/timer": "3.0.0-beta.1141.1",
|
|
114
|
+
"@tamagui/types": "3.0.0-beta.1141.1",
|
|
115
|
+
"@tamagui/use-did-finish-ssr": "3.0.0-beta.1141.1",
|
|
116
|
+
"@tamagui/use-event": "3.0.0-beta.1141.1",
|
|
117
|
+
"@tamagui/use-force-update": "3.0.0-beta.1141.1"
|
|
118
118
|
},
|
|
119
119
|
"devDependencies": {
|
|
120
|
-
"@tamagui/build": "3.0.0-beta.
|
|
120
|
+
"@tamagui/build": "3.0.0-beta.1141.1",
|
|
121
121
|
"@testing-library/react": "^16.1.0",
|
|
122
122
|
"csstype": "^3.0.10",
|
|
123
123
|
"react": "19.2.3",
|
|
@@ -757,15 +757,44 @@ function contributeProp(
|
|
|
757
757
|
? styleOriginalValues.get(style)
|
|
758
758
|
: undefined
|
|
759
759
|
for (const key in style) {
|
|
760
|
-
|
|
760
|
+
const value = style[key]
|
|
761
|
+
if (value == null) continue
|
|
762
|
+
// the style prop is the inline style attribute, as in react: a plain
|
|
763
|
+
// value never becomes an atomic class, so element.style reads it back
|
|
764
|
+
// and it can change every frame without inserting a rule. a value that
|
|
765
|
+
// carries conditions can only exist as css, so those still compile
|
|
766
|
+
let inline = !styleState.styleProps.stylePieceEntries
|
|
761
767
|
if (process.env.TAMAGUI_TARGET === 'web') {
|
|
762
768
|
if (key === 'containerName') {
|
|
763
|
-
pass[passContainerName] =
|
|
769
|
+
pass[passContainerName] = value
|
|
770
|
+
inline = false
|
|
764
771
|
} else if (key === 'containerType') {
|
|
765
|
-
pass[passContainerType] =
|
|
772
|
+
pass[passContainerType] = value
|
|
773
|
+
inline = false
|
|
766
774
|
}
|
|
767
775
|
}
|
|
768
|
-
|
|
776
|
+
if (inline) {
|
|
777
|
+
if (typeof value === 'string') {
|
|
778
|
+
const [segments] = getConfigRevisionState(conf).parseFlatValue(value)
|
|
779
|
+
for (let index = 4; index < segments.length; index += 5) {
|
|
780
|
+
if (!(segments[index] & 1)) {
|
|
781
|
+
inline = false
|
|
782
|
+
break
|
|
783
|
+
}
|
|
784
|
+
}
|
|
785
|
+
} else if (
|
|
786
|
+
value &&
|
|
787
|
+
typeof value === 'object' &&
|
|
788
|
+
!Array.isArray(value) &&
|
|
789
|
+
!isVariable(value) &&
|
|
790
|
+
classifyConditionalObject(value, styleState) !== 0
|
|
791
|
+
) {
|
|
792
|
+
inline = false
|
|
793
|
+
}
|
|
794
|
+
}
|
|
795
|
+
;(styleState as DirectState).flatInlineStyleProp = inline
|
|
796
|
+
contributeValue(styleState, key, value, styleOriginals?.[key])
|
|
797
|
+
;(styleState as DirectState).flatInlineStyleProp = false
|
|
769
798
|
}
|
|
770
799
|
}
|
|
771
800
|
pass[passSourceLayer] = layerBeforeStyle
|
|
@@ -1926,6 +1955,16 @@ function writeCapturedStyleRecord(
|
|
|
1926
1955
|
(entryFlags & (recordInline | recordCSS)) !==
|
|
1927
1956
|
(flags & (recordInline | recordCSS))
|
|
1928
1957
|
) {
|
|
1958
|
+
// a piece landing after a plain style value replaces its inline record
|
|
1959
|
+
if (
|
|
1960
|
+
sourceLayer === sourceLayerStyle &&
|
|
1961
|
+
entry[7]! >> 5 === sourceLayerStyle &&
|
|
1962
|
+
entry[0] === source[0] &&
|
|
1963
|
+
!condition &&
|
|
1964
|
+
!entry[2]
|
|
1965
|
+
) {
|
|
1966
|
+
list.splice(index--, 1)
|
|
1967
|
+
}
|
|
1929
1968
|
continue
|
|
1930
1969
|
}
|
|
1931
1970
|
if (entry[0] !== source[0]) continue
|
|
@@ -2100,6 +2139,8 @@ type HOCClassNames = [
|
|
|
2100
2139
|
]
|
|
2101
2140
|
|
|
2102
2141
|
type DirectState = GetStyleState & {
|
|
2142
|
+
// set while a plain style prop value contributes, so its record stays inline
|
|
2143
|
+
flatInlineStyleProp?: boolean
|
|
2103
2144
|
flatValueScope?: ValueScopeCache
|
|
2104
2145
|
flatConditions?: Map<string, Condition>
|
|
2105
2146
|
flatConditionsClassed?: boolean
|
|
@@ -2224,7 +2265,12 @@ function writeStyleRecord(
|
|
|
2224
2265
|
const identity = cursor ? cursor[conditionKey] : ''
|
|
2225
2266
|
const direct = state as DirectState
|
|
2226
2267
|
const slots = (direct.flatSlots ||= new Map())
|
|
2227
|
-
const
|
|
2268
|
+
const sourceLayer = direct.flatPass?.[passSourceLayer] || 0
|
|
2269
|
+
if (direct.flatInlineStyleProp) flags |= recordInline
|
|
2270
|
+
// css records share a slot per shorthand group so one class covers the
|
|
2271
|
+
// group; an inline record keeps its own property slot because the emitter
|
|
2272
|
+
// merges exactly one inline winner per slot
|
|
2273
|
+
const cssSlot =
|
|
2228
2274
|
process.env.TAMAGUI_TARGET === 'web' &&
|
|
2229
2275
|
canGenerateCSS &&
|
|
2230
2276
|
(state.flatShouldDoClasses || flags & recordCSS)
|
|
@@ -2232,8 +2278,30 @@ function writeStyleRecord(
|
|
|
2232
2278
|
: property.startsWith('transition')
|
|
2233
2279
|
? 'transition'
|
|
2234
2280
|
: property
|
|
2281
|
+
const slot = flags & recordInline && cssSlot !== property ? property : cssSlot
|
|
2235
2282
|
let list = slots.get(slot)
|
|
2236
2283
|
if (!list) slots.set(slot, (list = []))
|
|
2284
|
+
// a style array is last-wins per property even across a piece (a class) and
|
|
2285
|
+
// a plain value (inline), which otherwise never meet
|
|
2286
|
+
if (sourceLayer === sourceLayerStyle && !condition) {
|
|
2287
|
+
const other =
|
|
2288
|
+
slot === cssSlot ? list : slots.get(flags & recordInline ? cssSlot : property)
|
|
2289
|
+
if (other) {
|
|
2290
|
+
for (let index = 0; index < other.length; index++) {
|
|
2291
|
+
const entry = other[index]
|
|
2292
|
+
const entryFlags = entry[7]!
|
|
2293
|
+
if (
|
|
2294
|
+
entry[0] === property &&
|
|
2295
|
+
!entry[2] &&
|
|
2296
|
+
entryFlags >> 5 === sourceLayerStyle &&
|
|
2297
|
+
(entryFlags & (recordInline | recordCSS)) !==
|
|
2298
|
+
(flags & (recordInline | recordCSS))
|
|
2299
|
+
) {
|
|
2300
|
+
other.splice(index--, 1)
|
|
2301
|
+
}
|
|
2302
|
+
}
|
|
2303
|
+
}
|
|
2304
|
+
}
|
|
2237
2305
|
for (let index = 0; index < list.length; index++) {
|
|
2238
2306
|
const entry = list[index]
|
|
2239
2307
|
const entryFlags = entry[7]!
|
|
@@ -2263,7 +2331,7 @@ function writeStyleRecord(
|
|
|
2263
2331
|
cursor ? cursor[conditionSelector] : '',
|
|
2264
2332
|
cursor ? cursor[conditionWrappers] : undefined,
|
|
2265
2333
|
original,
|
|
2266
|
-
flags | (
|
|
2334
|
+
flags | (sourceLayer << 5),
|
|
2267
2335
|
])
|
|
2268
2336
|
}
|
|
2269
2337
|
|
|
@@ -2526,7 +2594,8 @@ function configuredValue(
|
|
|
2526
2594
|
state: GetStyleState,
|
|
2527
2595
|
property: string,
|
|
2528
2596
|
raw: string,
|
|
2529
|
-
embedded = false
|
|
2597
|
+
embedded = false,
|
|
2598
|
+
nativeColors?: Map<string, unknown>
|
|
2530
2599
|
): any {
|
|
2531
2600
|
const grammar = getConfigRevisionState(state.conf)
|
|
2532
2601
|
let name = raw
|
|
@@ -2552,7 +2621,7 @@ function configuredValue(
|
|
|
2552
2621
|
property === 'letterSpacing'
|
|
2553
2622
|
const resolveValues = state.styleProps.resolveValues
|
|
2554
2623
|
let byRaw: Map<string, any> | undefined
|
|
2555
|
-
if (!fontProperty) {
|
|
2624
|
+
if (!fontProperty && !nativeColors) {
|
|
2556
2625
|
const revision = grammar.revision
|
|
2557
2626
|
if (state.conf !== valueCacheConf || revision !== valueCacheRevision) {
|
|
2558
2627
|
valueCacheConf = state.conf
|
|
@@ -2746,7 +2815,7 @@ function configuredValue(
|
|
|
2746
2815
|
out =
|
|
2747
2816
|
resolveValues === 'except-theme' && fromTheme
|
|
2748
2817
|
? `${THEME_REF_PREFIX}${lookupName}${opacity !== undefined ? `/${opacity}` : ''}`
|
|
2749
|
-
: resolveVariableValue(property, value, resolveValues)
|
|
2818
|
+
: resolveVariableValue(nativeColors ? 'color' : property, value, resolveValues)
|
|
2750
2819
|
if (opacity !== undefined) {
|
|
2751
2820
|
out =
|
|
2752
2821
|
process.env.TAMAGUI_TARGET === 'web'
|
|
@@ -2754,13 +2823,20 @@ function configuredValue(
|
|
|
2754
2823
|
: (normalizeColor(out, opacity / 100) ?? out)
|
|
2755
2824
|
}
|
|
2756
2825
|
}
|
|
2826
|
+
if (nativeColors && out && typeof out === 'object') {
|
|
2827
|
+
const reference = `__tamagui_native_color_${nativeColors.size}`
|
|
2828
|
+
nativeColors.set(reference, out)
|
|
2829
|
+
out = reference
|
|
2830
|
+
}
|
|
2757
2831
|
if (embedded && out === raw) {
|
|
2758
2832
|
const usedSafeArea = state.flatUsesSafeArea
|
|
2759
|
-
out = grammar.embeddedTokens(raw, (word) =>
|
|
2833
|
+
out = grammar.embeddedTokens(raw, (word) =>
|
|
2834
|
+
configuredValue(state, property, word, false, nativeColors)
|
|
2835
|
+
)
|
|
2760
2836
|
// a safe-area token flips state as it resolves, so a cached hit would lose it
|
|
2761
2837
|
if (!usedSafeArea && state.flatUsesSafeArea) return out
|
|
2762
2838
|
}
|
|
2763
|
-
if (!fontProperty && !fromTheme) {
|
|
2839
|
+
if (!fontProperty && !fromTheme && !nativeColors) {
|
|
2764
2840
|
if (valueCacheEntries > 8192) {
|
|
2765
2841
|
valueCaches = new WeakMap()
|
|
2766
2842
|
valueCacheEntries = 0
|
|
@@ -3028,8 +3104,16 @@ function emitResolved(
|
|
|
3028
3104
|
)
|
|
3029
3105
|
}
|
|
3030
3106
|
|
|
3031
|
-
function resolveValue(
|
|
3032
|
-
|
|
3107
|
+
function resolveValue(
|
|
3108
|
+
state: GetStyleState,
|
|
3109
|
+
property: string,
|
|
3110
|
+
raw: any,
|
|
3111
|
+
nativeColors?: Map<string, unknown>
|
|
3112
|
+
) {
|
|
3113
|
+
let value =
|
|
3114
|
+
typeof raw === 'string'
|
|
3115
|
+
? configuredValue(state, property, raw, true, nativeColors)
|
|
3116
|
+
: raw
|
|
3033
3117
|
if (
|
|
3034
3118
|
(process.env.TAMAGUI_TARGET === 'native' || !state.flatShouldDoClasses) &&
|
|
3035
3119
|
typeof value === 'string' &&
|
|
@@ -3293,7 +3377,15 @@ function emitValue(
|
|
|
3293
3377
|
return
|
|
3294
3378
|
}
|
|
3295
3379
|
|
|
3296
|
-
|
|
3380
|
+
const nativeColors =
|
|
3381
|
+
process.env.TAMAGUI_TARGET === 'native' &&
|
|
3382
|
+
typeof raw === 'string' &&
|
|
3383
|
+
(property === 'backgroundImage' ||
|
|
3384
|
+
property === 'boxShadow' ||
|
|
3385
|
+
property === 'textShadow')
|
|
3386
|
+
? new Map<string, unknown>()
|
|
3387
|
+
: undefined
|
|
3388
|
+
let value: any = resolveValue(state, property, raw, nativeColors)
|
|
3297
3389
|
if (
|
|
3298
3390
|
canGenerateCSS &&
|
|
3299
3391
|
state.flatShouldDoClasses &&
|
|
@@ -3311,7 +3403,7 @@ function emitValue(
|
|
|
3311
3403
|
property === 'boxShadow' ||
|
|
3312
3404
|
property === 'textShadow')
|
|
3313
3405
|
) {
|
|
3314
|
-
const parsed = parseNativeStyle(property, value)
|
|
3406
|
+
const parsed = parseNativeStyle(property, value, nativeColors)
|
|
3315
3407
|
if (parsed) {
|
|
3316
3408
|
if (property === 'textShadow') {
|
|
3317
3409
|
for (const [key, parsedValue] of parsed) {
|
|
@@ -3756,6 +3848,7 @@ function contributeValue(
|
|
|
3756
3848
|
|
|
3757
3849
|
function clearDirectStyle(state: GetStyleState, property: string) {
|
|
3758
3850
|
const direct = state as DirectState
|
|
3851
|
+
if (direct.flatDynamicColors) delete direct.flatDynamicColors[property]
|
|
3759
3852
|
if (process.env.TAMAGUI_TARGET === 'web') property = webStyleProperty(property)
|
|
3760
3853
|
const propertyKind = getConfigRevisionState(state.conf).propertyKind(property)
|
|
3761
3854
|
const atomicKey = property.startsWith('transition')
|
|
@@ -3770,15 +3863,20 @@ function clearDirectStyle(state: GetStyleState, property: string) {
|
|
|
3770
3863
|
const slot = process.env.TAMAGUI_TARGET === 'web' ? styleSlot(atomicKey) : atomicKey
|
|
3771
3864
|
direct.flatAtomics?.delete(slot)
|
|
3772
3865
|
if (direct.flatSlots) {
|
|
3773
|
-
|
|
3866
|
+
// a slot groups related properties under one atomic class. clearing a
|
|
3867
|
+
// longhand removes only its records, and so does clearing `flex`, which
|
|
3868
|
+
// shares its slot with flexDirection and flexWrap: <XStack flex={undefined} />
|
|
3869
|
+
// keeps the styled row
|
|
3870
|
+
if (slot !== atomicKey || atomicKey === 'flex') {
|
|
3774
3871
|
const entries = direct.flatSlots.get(slot)
|
|
3775
3872
|
if (entries) {
|
|
3776
3873
|
for (let index = entries.length; index--; ) {
|
|
3777
3874
|
if (entries[index][0] === atomicKey) entries.splice(index, 1)
|
|
3778
3875
|
}
|
|
3876
|
+
if (!entries.length) direct.flatSlots.delete(slot)
|
|
3779
3877
|
}
|
|
3780
3878
|
}
|
|
3781
|
-
direct.flatSlots.delete(atomicKey)
|
|
3879
|
+
if (atomicKey !== 'flex') direct.flatSlots.delete(atomicKey)
|
|
3782
3880
|
}
|
|
3783
3881
|
if (atomicKey === 'transform') state.transformAccumulator = undefined
|
|
3784
3882
|
if (state.style) delete state.style[atomicKey]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSplitStyles.d.ts","sourceRoot":"","sources":["../../src/helpers/getSplitStyles.tsx"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EACV,gBAAgB,EAEhB,mBAAmB,EAEnB,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,aAAa,EAEb,eAAe,EACf,YAAY,EAGZ,qBAAqB,EACrB,qBAAqB,EAErB,WAAW,EAGZ,MAAM,UAAU,CAAA;AAkBjB,OAAO,EAAE,oBAAoB,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAKlF,OAAO,EAAE,oBAAoB,EAAE,CAAA;AAmB/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAe3D,OAAO,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AACvF,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,mBAAmB,EAAE,CAAA;AAE9B,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAK3D,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAMhE,MAAM,MAAM,aAAa,GAAG,CAC1B,KAAK,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC7B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,qBAAqB,EACrC,UAAU,EAAE,eAAe,EAC3B,iBAAiB,CAAC,EAAE,cAAc,GAAG,IAAI,EACzC,OAAO,CAAC,EAAE,iBAAiB,EAC3B,YAAY,CAAC,EAAE,gBAAgB,GAAG,IAAI,EAEtC,WAAW,CAAC,EAAE,MAAM,EACpB,iBAAiB,CAAC,EAAE,OAAO,EAC3B,KAAK,CAAC,EAAE,SAAS,EAEjB,eAAe,CAAC,EAAE,mBAAmB,GAAG,IAAI,EAC5C,iBAAiB,CAAC,EAAE,iBAAiB,KAClC,IAAI,GAAG,cAAc,CAAA;AA4U1B,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAEhF;
|
|
1
|
+
{"version":3,"file":"getSplitStyles.d.ts","sourceRoot":"","sources":["../../src/helpers/getSplitStyles.tsx"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EACV,gBAAgB,EAEhB,mBAAmB,EAEnB,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,aAAa,EAEb,eAAe,EACf,YAAY,EAGZ,qBAAqB,EACrB,qBAAqB,EAErB,WAAW,EAGZ,MAAM,UAAU,CAAA;AAkBjB,OAAO,EAAE,oBAAoB,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAKlF,OAAO,EAAE,oBAAoB,EAAE,CAAA;AAmB/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAe3D,OAAO,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AACvF,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,mBAAmB,EAAE,CAAA;AAE9B,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAK3D,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAMhE,MAAM,MAAM,aAAa,GAAG,CAC1B,KAAK,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC7B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,qBAAqB,EACrC,UAAU,EAAE,eAAe,EAC3B,iBAAiB,CAAC,EAAE,cAAc,GAAG,IAAI,EACzC,OAAO,CAAC,EAAE,iBAAiB,EAC3B,YAAY,CAAC,EAAE,gBAAgB,GAAG,IAAI,EAEtC,WAAW,CAAC,EAAE,MAAM,EACpB,iBAAiB,CAAC,EAAE,OAAO,EAC3B,KAAK,CAAC,EAAE,SAAS,EAEjB,eAAe,CAAC,EAAE,mBAAmB,GAAG,IAAI,EAC5C,iBAAiB,CAAC,EAAE,iBAAiB,KAClC,IAAI,GAAG,cAAc,CAAA;AA4U1B,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAEhF;AA0pBD,eAAO,MAAM,cAAc,EAAE,aA0mB5B,CAAA;AAiXD,MAAM,MAAM,UAAU,GAAG,CACvB,KAAK,EAAE,aAAa,EACpB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG,EACV,gBAAgB,CAAC,EAAE,OAAO,EAC1B,aAAa,CAAC,EAAE,GAAG,KAChB,IAAI,CAAA;AA81CT,KAAK,oBAAoB,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,IAAI,CAAA;AAgCnF,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,GAAG,EACV,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,oBAAoB,GAAG,IAAI,EACjC,QAAQ,SAAI,EACZ,WAAW,UAAQ,WAyNpB;AA2HD,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,aAAa,EACpB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,GAAG,EACb,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,OAAO,QAsBlB;AAID,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,qBAAqB,sBAgBtF;AAMD,cAAc,mBAAmB,CAAA"}
|