@focus-reactive/payload-plugin-seo 1.3.0 → 1.4.0
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/README.md +210 -43
- package/dist/admin.css +2 -3
- package/dist/components/SeoButton/ScoreBadge.d.ts.map +1 -1
- package/dist/components/SeoButton/ScoreBadge.js +10 -7
- package/dist/components/SeoButton/ScoreBadge.js.map +1 -1
- package/dist/components/SeoButton/SeoButtonInner.d.ts +3 -1
- package/dist/components/SeoButton/SeoButtonInner.d.ts.map +1 -1
- package/dist/components/SeoButton/SeoButtonInner.js +5 -2
- package/dist/components/SeoButton/SeoButtonInner.js.map +1 -1
- package/dist/components/SeoDrawer/TabsNav/index.d.ts.map +1 -1
- package/dist/components/SeoDrawer/TabsNav/index.js +15 -4
- package/dist/components/SeoDrawer/TabsNav/index.js.map +1 -1
- package/dist/components/SeoDrawer/TabsNav/variants.d.ts.map +1 -1
- package/dist/components/SeoDrawer/TabsNav/variants.js +12 -9
- package/dist/components/SeoDrawer/TabsNav/variants.js.map +1 -1
- package/dist/components/SeoDrawer/analysisDecision.d.ts.map +1 -1
- package/dist/components/SeoDrawer/analysisDecision.js.map +1 -1
- package/dist/components/SeoDrawer/build-analysis-input.d.ts +9 -7
- package/dist/components/SeoDrawer/build-analysis-input.d.ts.map +1 -1
- package/dist/components/SeoDrawer/build-analysis-input.js +39 -11
- package/dist/components/SeoDrawer/build-analysis-input.js.map +1 -1
- package/dist/components/SeoDrawer/buildInput.d.ts +1 -1
- package/dist/components/SeoDrawer/buildInput.d.ts.map +1 -1
- package/dist/components/SeoDrawer/buildInput.js +12 -2
- package/dist/components/SeoDrawer/buildInput.js.map +1 -1
- package/dist/components/SeoDrawer/components/Header.d.ts.map +1 -1
- package/dist/components/SeoDrawer/components/Header.js +20 -2
- package/dist/components/SeoDrawer/components/Header.js.map +1 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingLevelTiles.d.ts.map +1 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingLevelTiles.js +23 -5
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingLevelTiles.js.map +1 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingTree/Chevron.d.ts.map +1 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingTree/Chevron.js +12 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingTree/Chevron.js.map +1 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingTree/HeadingTreeGroup.d.ts.map +1 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingTree/HeadingTreeGroup.js +43 -4
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingTree/HeadingTreeGroup.js.map +1 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingTree/HeadingTreeRow.d.ts +1 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingTree/HeadingTreeRow.d.ts.map +1 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingTree/HeadingTreeRow.js +45 -10
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingTree/HeadingTreeRow.js.map +1 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingTree/index.d.ts.map +1 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingTree/index.js.map +1 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingTree/useHeadingRails.d.ts +1 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingTree/useHeadingRails.d.ts.map +1 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingTree/useHeadingRails.js +6 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/HeadingTree/useHeadingRails.js.map +1 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/index.d.ts.map +1 -1
- package/dist/components/SeoDrawer/components/HeadingsSection/index.js.map +1 -1
- package/dist/components/SeoDrawer/components/SerpPreview/highlight-keyphrase.d.ts.map +1 -1
- package/dist/components/SeoDrawer/components/SerpPreview/highlight-keyphrase.js +3 -1
- package/dist/components/SeoDrawer/components/SerpPreview/highlight-keyphrase.js.map +1 -1
- package/dist/components/SeoDrawer/components/SerpPreview/index.d.ts.map +1 -1
- package/dist/components/SeoDrawer/components/SerpPreview/index.js +8 -1
- package/dist/components/SeoDrawer/components/SerpPreview/index.js.map +1 -1
- package/dist/components/SeoDrawer/components/SerpPreview/serp-favicon.d.ts.map +1 -1
- package/dist/components/SeoDrawer/components/SerpPreview/serp-favicon.js.map +1 -1
- package/dist/components/SeoDrawer/components/SerpPreview/variants.d.ts.map +1 -1
- package/dist/components/SeoDrawer/components/SerpPreview/variants.js +9 -6
- package/dist/components/SeoDrawer/components/SerpPreview/variants.js.map +1 -1
- package/dist/components/SeoDrawer/index.d.ts.map +1 -1
- package/dist/components/SeoDrawer/index.js +50 -15
- package/dist/components/SeoDrawer/index.js.map +1 -1
- package/dist/components/SeoDrawer/keyphrasePending.d.ts.map +1 -1
- package/dist/components/SeoDrawer/keyphrasePending.js.map +1 -1
- package/dist/components/SeoDrawer/languagePacks.d.ts.map +1 -1
- package/dist/components/SeoDrawer/languagePacks.js.map +1 -1
- package/dist/components/SeoDrawer/tabs/InclusiveTab.d.ts.map +1 -1
- package/dist/components/SeoDrawer/tabs/InclusiveTab.js +31 -10
- package/dist/components/SeoDrawer/tabs/InclusiveTab.js.map +1 -1
- package/dist/components/SeoDrawer/tabs/KeyphraseTab.d.ts +1 -1
- package/dist/components/SeoDrawer/tabs/KeyphraseTab.d.ts.map +1 -1
- package/dist/components/SeoDrawer/tabs/KeyphraseTab.js +8 -1
- package/dist/components/SeoDrawer/tabs/KeyphraseTab.js.map +1 -1
- package/dist/components/SeoDrawer/tabs/SerpTab.d.ts +1 -1
- package/dist/components/SeoDrawer/tabs/SerpTab.d.ts.map +1 -1
- package/dist/components/SeoDrawer/tabs/SerpTab.js +5 -1
- package/dist/components/SeoDrawer/tabs/SerpTab.js.map +1 -1
- package/dist/components/SeoDrawer/tabs/VitalsTab.d.ts.map +1 -1
- package/dist/components/SeoDrawer/tabs/VitalsTab.js +32 -9
- package/dist/components/SeoDrawer/tabs/VitalsTab.js.map +1 -1
- package/dist/components/SeoDrawer/useAnalysis.d.ts +1 -1
- package/dist/components/SeoDrawer/useAnalysis.d.ts.map +1 -1
- package/dist/components/SeoDrawer/useAnalysis.js +6 -1
- package/dist/components/SeoDrawer/useAnalysis.js.map +1 -1
- package/dist/components/SeoDrawer/useLiveDocument.d.ts +5 -3
- package/dist/components/SeoDrawer/useLiveDocument.d.ts.map +1 -1
- package/dist/components/SeoDrawer/useLiveDocument.js +82 -37
- package/dist/components/SeoDrawer/useLiveDocument.js.map +1 -1
- package/dist/components/icons.d.ts.map +1 -1
- package/dist/components/icons.js +16 -1
- package/dist/components/icons.js.map +1 -1
- package/dist/constants/checkIds.d.ts.map +1 -1
- package/dist/constants/checkIds.js +18 -2
- package/dist/constants/checkIds.js.map +1 -1
- package/dist/content/extract/context.d.ts +11 -0
- package/dist/content/extract/context.d.ts.map +1 -0
- package/dist/content/extract/context.js +1 -0
- package/dist/content/extract/context.js.map +1 -0
- package/dist/content/extract/extract.d.ts +18 -0
- package/dist/content/extract/extract.d.ts.map +1 -0
- package/dist/content/extract/extract.js +211 -0
- package/dist/content/extract/extract.js.map +1 -0
- package/dist/content/extract/selection.d.ts +3 -0
- package/dist/content/extract/selection.d.ts.map +1 -0
- package/dist/content/extract/selection.js +32 -0
- package/dist/content/extract/selection.js.map +1 -0
- package/dist/content/index.d.ts +5 -0
- package/dist/content/index.d.ts.map +1 -0
- package/dist/content/index.js +14 -0
- package/dist/content/index.js.map +1 -0
- package/dist/content/lexical/transform.d.ts +5 -0
- package/dist/content/lexical/transform.d.ts.map +1 -0
- package/dist/content/lexical/transform.js +56 -0
- package/dist/content/lexical/transform.js.map +1 -0
- package/dist/content/registry.d.ts +4 -0
- package/dist/content/registry.d.ts.map +1 -0
- package/dist/content/registry.js +22 -0
- package/dist/content/registry.js.map +1 -0
- package/dist/content/resolve/collect-refs.d.ts +8 -0
- package/dist/content/resolve/collect-refs.d.ts.map +1 -0
- package/dist/content/resolve/collect-refs.js +79 -0
- package/dist/content/resolve/collect-refs.js.map +1 -0
- package/dist/content/resolve/hydrate.d.ts +7 -0
- package/dist/content/resolve/hydrate.d.ts.map +1 -0
- package/dist/content/resolve/hydrate.js +123 -0
- package/dist/content/resolve/hydrate.js.map +1 -0
- package/dist/content/resolve/resolver.d.ts +7 -0
- package/dist/content/resolve/resolver.d.ts.map +1 -0
- package/dist/content/{uploads/media-resolver.js → resolve/resolver.js} +21 -16
- package/dist/content/resolve/resolver.js.map +1 -0
- package/dist/content/resolve/types.d.ts +12 -0
- package/dist/content/resolve/types.d.ts.map +1 -0
- package/dist/content/resolve/types.js +7 -0
- package/dist/content/resolve/types.js.map +1 -0
- package/dist/content/schema/helpers.d.ts +9 -0
- package/dist/content/schema/helpers.d.ts.map +1 -0
- package/dist/content/schema/helpers.js +60 -0
- package/dist/content/schema/helpers.js.map +1 -0
- package/dist/content/schema/nodes.d.ts +26 -0
- package/dist/content/schema/nodes.d.ts.map +1 -0
- package/dist/content/schema/nodes.js +8 -0
- package/dist/content/schema/nodes.js.map +1 -0
- package/dist/content/schema/serialize.d.ts +3 -0
- package/dist/content/schema/serialize.d.ts.map +1 -0
- package/dist/content/schema/serialize.js +31 -0
- package/dist/content/schema/serialize.js.map +1 -0
- package/dist/content/walk/walkFields.d.ts +17 -0
- package/dist/content/walk/walkFields.d.ts.map +1 -0
- package/dist/content/walk/walkFields.js +88 -0
- package/dist/content/walk/walkFields.js.map +1 -0
- package/dist/engine/assessorAdapter.d.ts.map +1 -1
- package/dist/engine/assessorAdapter.js.map +1 -1
- package/dist/engine/extractCheckData.d.ts.map +1 -1
- package/dist/engine/extractCheckData.js +19 -5
- package/dist/engine/extractCheckData.js.map +1 -1
- package/dist/engine/helpers/title-progress.d.ts +1 -1
- package/dist/engine/helpers/title-progress.js.map +1 -1
- package/dist/engine/inclusiveScore.d.ts.map +1 -1
- package/dist/engine/inclusiveScore.js.map +1 -1
- package/dist/engine/recommendations.d.ts.map +1 -1
- package/dist/engine/recommendations.js.map +1 -1
- package/dist/engine/runAnalysis/services/derive-inclusive.js.map +1 -1
- package/dist/engine/runAnalysis/services/derive-readability.d.ts.map +1 -1
- package/dist/engine/runAnalysis/services/derive-readability.js +5 -1
- package/dist/engine/runAnalysis/services/derive-readability.js.map +1 -1
- package/dist/engine/runAnalysis/services/derive-vitals/heading-tree.d.ts.map +1 -1
- package/dist/engine/runAnalysis/services/derive-vitals/heading-tree.js.map +1 -1
- package/dist/engine/runAnalysis/services/derive-vitals/index.d.ts.map +1 -1
- package/dist/engine/runAnalysis/services/derive-vitals/index.js +9 -1
- package/dist/engine/runAnalysis/services/derive-vitals/index.js.map +1 -1
- package/dist/engine/runAnalysis/services/derive-vitals/researches.d.ts +1 -1
- package/dist/engine/runAnalysis/services/derive-vitals/researches.d.ts.map +1 -1
- package/dist/engine/runAnalysis/services/derive-vitals/researches.js +8 -2
- package/dist/engine/runAnalysis/services/derive-vitals/researches.js.map +1 -1
- package/dist/engine/runAnalysis/utils/enrich.d.ts.map +1 -1
- package/dist/engine/runAnalysis/utils/enrich.js.map +1 -1
- package/dist/engine/visualization/resolveVisualization/constants.d.ts.map +1 -1
- package/dist/engine/visualization/resolveVisualization/constants.js +9 -1
- package/dist/engine/visualization/resolveVisualization/constants.js.map +1 -1
- package/dist/engine/visualization/resolveVisualization/index.d.ts.map +1 -1
- package/dist/engine/visualization/resolveVisualization/index.js.map +1 -1
- package/dist/engine/visualization/resolveVisualization/resolves/resolveDrilldown.d.ts.map +1 -1
- package/dist/engine/visualization/resolveVisualization/resolves/resolveDrilldown.js.map +1 -1
- package/dist/engine/visualization/resolveVisualization/resolves/resolveLinks.d.ts.map +1 -1
- package/dist/engine/visualization/resolveVisualization/resolves/resolveLinks.js.map +1 -1
- package/dist/engine/visualization/resolveVisualization/resolves/resolveProportionCount.d.ts.map +1 -1
- package/dist/engine/visualization/resolveVisualization/resolves/resolveProportionCount.js.map +1 -1
- package/dist/engine/visualization/resolveVisualization/resolves/resolveValueRange.d.ts.map +1 -1
- package/dist/engine/visualization/resolveVisualization/resolves/resolveValueRange.js.map +1 -1
- package/dist/engine/visualization/resolveVisualization/utils/pluralize.d.ts.map +1 -1
- package/dist/engine/visualization/resolveVisualization/utils/pluralize.js.map +1 -1
- package/dist/engine/visualization/resolveVisualization/utils/readDrilldownItems.d.ts.map +1 -1
- package/dist/engine/visualization/resolveVisualization/utils/readDrilldownItems.js.map +1 -1
- package/dist/engine/visualization/resolveVisualization/utils/readNumber.d.ts.map +1 -1
- package/dist/engine/visualization/resolveVisualization/utils/readNumber.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +7 -2
- package/dist/plugin.js.map +1 -1
- package/dist/types/config.d.ts +30 -7
- package/dist/types/config.d.ts.map +1 -1
- package/dist/ui/CheckRow/CheckVisualization/visualizations/DensityGauge.d.ts.map +1 -1
- package/dist/ui/CheckRow/CheckVisualization/visualizations/DensityGauge.js +24 -5
- package/dist/ui/CheckRow/CheckVisualization/visualizations/DensityGauge.js.map +1 -1
- package/dist/ui/CheckRow/CheckVisualization/visualizations/DistributionBar.d.ts.map +1 -1
- package/dist/ui/CheckRow/CheckVisualization/visualizations/DistributionBar.js +8 -1
- package/dist/ui/CheckRow/CheckVisualization/visualizations/DistributionBar.js.map +1 -1
- package/dist/ui/CheckRow/CheckVisualization/visualizations/DrillDown.d.ts.map +1 -1
- package/dist/ui/CheckRow/CheckVisualization/visualizations/DrillDown.js +11 -4
- package/dist/ui/CheckRow/CheckVisualization/visualizations/DrillDown.js.map +1 -1
- package/dist/ui/CheckRow/CheckVisualization/visualizations/SegmentBar.d.ts.map +1 -1
- package/dist/ui/CheckRow/CheckVisualization/visualizations/SegmentBar.js +7 -1
- package/dist/ui/CheckRow/CheckVisualization/visualizations/SegmentBar.js.map +1 -1
- package/dist/ui/CheckRow/index.d.ts.map +1 -1
- package/dist/ui/CheckRow/index.js +23 -9
- package/dist/ui/CheckRow/index.js.map +1 -1
- package/dist/ui/FilterPills.d.ts.map +1 -1
- package/dist/ui/FilterPills.js +78 -19
- package/dist/ui/FilterPills.js.map +1 -1
- package/dist/ui/KpiCard.d.ts.map +1 -1
- package/dist/ui/KpiCard.js.map +1 -1
- package/dist/ui/Pill.d.ts.map +1 -1
- package/dist/ui/Pill.js +11 -8
- package/dist/ui/Pill.js.map +1 -1
- package/dist/ui/ScoreRing.d.ts.map +1 -1
- package/dist/ui/ScoreRing.js +12 -2
- package/dist/ui/ScoreRing.js.map +1 -1
- package/dist/ui/SectionWrapper.d.ts.map +1 -1
- package/dist/ui/SectionWrapper.js.map +1 -1
- package/dist/ui/SegmentedControl.d.ts +1 -1
- package/dist/ui/SegmentedControl.d.ts.map +1 -1
- package/dist/ui/SegmentedControl.js +49 -33
- package/dist/ui/SegmentedControl.js.map +1 -1
- package/dist/ui/Tooltip.d.ts +1 -1
- package/dist/ui/Tooltip.d.ts.map +1 -1
- package/dist/ui/Tooltip.js +8 -1
- package/dist/ui/Tooltip.js.map +1 -1
- package/dist/utils/config/overrideAdmin.d.ts.map +1 -1
- package/dist/utils/config/overrideAdmin.js +9 -1
- package/dist/utils/config/overrideAdmin.js.map +1 -1
- package/dist/utils/style.d.ts.map +1 -1
- package/dist/utils/style.js.map +1 -1
- package/package.json +9 -7
- package/dist/content/extractContent.d.ts +0 -3
- package/dist/content/extractContent.d.ts.map +0 -1
- package/dist/content/extractContent.js +0 -31
- package/dist/content/extractContent.js.map +0 -1
- package/dist/content/uploads/collect-upload-refs.d.ts +0 -5
- package/dist/content/uploads/collect-upload-refs.d.ts.map +0 -1
- package/dist/content/uploads/collect-upload-refs.js +0 -19
- package/dist/content/uploads/collect-upload-refs.js.map +0 -1
- package/dist/content/uploads/hydrate-values.d.ts +0 -5
- package/dist/content/uploads/hydrate-values.d.ts.map +0 -1
- package/dist/content/uploads/hydrate-values.js +0 -15
- package/dist/content/uploads/hydrate-values.js.map +0 -1
- package/dist/content/uploads/media-resolver.d.ts +0 -7
- package/dist/content/uploads/media-resolver.d.ts.map +0 -1
- package/dist/content/uploads/media-resolver.js.map +0 -1
- package/dist/content/uploads/transform-lexical-uploads.d.ts +0 -5
- package/dist/content/uploads/transform-lexical-uploads.d.ts.map +0 -1
- package/dist/content/uploads/transform-lexical-uploads.js +0 -34
- package/dist/content/uploads/transform-lexical-uploads.js.map +0 -1
- package/dist/content/uploads/transform-upload-values.d.ts +0 -10
- package/dist/content/uploads/transform-upload-values.d.ts.map +0 -1
- package/dist/content/uploads/transform-upload-values.js +0 -108
- package/dist/content/uploads/transform-upload-values.js.map +0 -1
- package/dist/content/uploads/types.d.ts +0 -8
- package/dist/content/uploads/types.d.ts.map +0 -1
- package/dist/content/uploads/types.js +0 -7
- package/dist/content/uploads/types.js.map +0 -1
- package/dist/content/walkValue.d.ts +0 -14
- package/dist/content/walkValue.d.ts.map +0 -1
- package/dist/content/walkValue.js +0 -62
- package/dist/content/walkValue.js.map +0 -1
package/README.md
CHANGED
|
@@ -71,7 +71,9 @@ const nextConfig = {
|
|
|
71
71
|
- `fields.content` should point at your primary body field. The built-in extractor walks
|
|
72
72
|
blocks, arrays, groups, tabs, lexical richText, and uploads, converting them to HTML.
|
|
73
73
|
- If the built-in extractor can't reach your content shape, supply `extractContentPath`:
|
|
74
|
-
|
|
74
|
+
the lookup key for a `ContentExtractor` you register via `registerContentExtractors` from
|
|
75
|
+
`@focus-reactive/payload-plugin-seo/content`. The extractor receives hydrated form values
|
|
76
|
+
and returns `ContentNode[]` — a structured Intermediate Representation the plugin serializes to HTML internally.
|
|
75
77
|
- Non-English analysis requires the locale code in `supportedLocales`; the matching Yoast
|
|
76
78
|
language pack is dynamically imported on demand.
|
|
77
79
|
- No GA4, no API keys, no server calls except resolving media URLs from your own Payload API.
|
|
@@ -204,10 +206,12 @@ interface SeoCollectionConfig {
|
|
|
204
206
|
/** Dot-paths telling the plugin which fields hold the SEO inputs. */
|
|
205
207
|
fields?: SeoFieldPaths;
|
|
206
208
|
/**
|
|
207
|
-
*
|
|
208
|
-
*
|
|
209
|
-
*
|
|
210
|
-
*
|
|
209
|
+
* Lookup key for a registered ContentExtractor.
|
|
210
|
+
* Set this to the same string you pass as the key in registerContentExtractors().
|
|
211
|
+
* Convention: use the module path of the extractor file, e.g. "@/seo/my-extractor#default".
|
|
212
|
+
* The extractor runs in the browser on hydrated, unflattened form values and returns ContentNode[].
|
|
213
|
+
* Register it from an admin-mounted client module — see "Content Extraction" below.
|
|
214
|
+
* Default: the built-in document walker.
|
|
211
215
|
*/
|
|
212
216
|
extractContentPath?: string;
|
|
213
217
|
}
|
|
@@ -216,6 +220,13 @@ interface SeoCollectionConfig {
|
|
|
216
220
|
### SeoFieldPaths
|
|
217
221
|
|
|
218
222
|
```ts
|
|
223
|
+
interface ContentSelection {
|
|
224
|
+
/** Dot-paths to walk, in order. Omitted or empty = whole document root. */
|
|
225
|
+
include?: string[];
|
|
226
|
+
/** Dot-paths to skip (merged with auto-excluded seoTitle/metaDescription/slug). */
|
|
227
|
+
exclude?: string[];
|
|
228
|
+
}
|
|
229
|
+
|
|
219
230
|
interface SeoFieldPaths {
|
|
220
231
|
/** Dot-path to the SEO title. Falls back to the collection's useAsTitle / `title`. */
|
|
221
232
|
seoTitle?: string;
|
|
@@ -224,13 +235,28 @@ interface SeoFieldPaths {
|
|
|
224
235
|
metaDescription?: string;
|
|
225
236
|
/** Dot-path to the slug. Default: 'slug' */
|
|
226
237
|
slug?: string;
|
|
227
|
-
/**
|
|
228
|
-
|
|
238
|
+
/**
|
|
239
|
+
* Built-in content selection. A string is a single field path (back-compat).
|
|
240
|
+
* An object selects include/exclude paths over the whole document.
|
|
241
|
+
* Ignored when extractContentPath is set and registered.
|
|
242
|
+
*/
|
|
243
|
+
content?: string | ContentSelection;
|
|
229
244
|
}
|
|
230
245
|
```
|
|
231
246
|
|
|
232
247
|
Dot-paths support nesting, e.g. `"meta.description"` or `"content.body"`.
|
|
233
248
|
|
|
249
|
+
**`content` selection semantics:**
|
|
250
|
+
|
|
251
|
+
| Value | Behavior |
|
|
252
|
+
| ------------------------------------ | ---------------------------------------------------------- |
|
|
253
|
+
| `"blocks"` (string) | Walk that one field path. Back-compat — unchanged from v1. |
|
|
254
|
+
| `{ include: ["blocks", "excerpt"] }` | Walk each listed path in order, concatenated. |
|
|
255
|
+
| `{ exclude: ["meta"] }` (no include) | Walk the whole document root, skipping excluded subtrees. |
|
|
256
|
+
| `{}` / `{ include: [] }` | Walk the whole document root. |
|
|
257
|
+
|
|
258
|
+
**Automatic metadata exclusion:** the configured `seoTitle`, `metaDescription`, and `slug` paths are always excluded from body content so their text is not double-counted in the Yoast analysis.
|
|
259
|
+
|
|
234
260
|
### SeoSiteConfig
|
|
235
261
|
|
|
236
262
|
```ts
|
|
@@ -244,48 +270,188 @@ interface SeoSiteConfig {
|
|
|
244
270
|
}
|
|
245
271
|
```
|
|
246
272
|
|
|
247
|
-
|
|
273
|
+
## Content Extraction
|
|
274
|
+
|
|
275
|
+
### The `ContentNode` Intermediate Representation
|
|
276
|
+
|
|
277
|
+
The plugin represents page content as a flat array of typed nodes before serializing to HTML. This is the `ContentNode` union exported from `@focus-reactive/payload-plugin-seo/content`:
|
|
248
278
|
|
|
249
279
|
```ts
|
|
250
|
-
type
|
|
280
|
+
type ContentNode =
|
|
281
|
+
| { type: "heading"; level: 1 | 2 | 3 | 4 | 5 | 6; text: string }
|
|
282
|
+
| { type: "paragraph"; text: string }
|
|
283
|
+
| { type: "link"; href: string; text: string }
|
|
284
|
+
| { type: "image"; src: string; alt?: string }
|
|
285
|
+
| { type: "video"; src: string; poster?: string }
|
|
286
|
+
| { type: "html"; html: string }; // lexical-converted or raw HTML escape hatch
|
|
251
287
|
```
|
|
252
288
|
|
|
253
|
-
|
|
289
|
+
Serialization to HTML (for the Yoast engine) happens entirely inside the plugin. Custom extractors produce `ContentNode[]`; they never construct HTML strings directly.
|
|
290
|
+
|
|
291
|
+
### Builder helpers
|
|
292
|
+
|
|
293
|
+
The `/content` subpath exports pure builder functions. Each helper returns `null` for empty or missing input, so you can call `.filter(Boolean)` on an array of helper results:
|
|
254
294
|
|
|
255
295
|
```ts
|
|
256
|
-
|
|
296
|
+
import {
|
|
297
|
+
heading, // heading(level: 1|2|3|4|5|6, text?: string | null): ContentNode | null
|
|
298
|
+
paragraph, // paragraph(text?: string | null): ContentNode | null
|
|
299
|
+
link, // link(href?: string | null, text?: string | null): ContentNode | null
|
|
300
|
+
image, // image(src?: string | null, alt?: string | null): ContentNode | null
|
|
301
|
+
video, // video(src?: string | null, poster?: string | null): ContentNode | null
|
|
302
|
+
richText, // richText(lexicalValue: unknown): ContentNode | null (converts via convertLexicalToHTML; null when empty)
|
|
303
|
+
html, // html(raw?: string | null): ContentNode | null
|
|
304
|
+
} from "@focus-reactive/payload-plugin-seo/content";
|
|
305
|
+
import type {
|
|
306
|
+
ContentNode,
|
|
307
|
+
HeadingLevel,
|
|
308
|
+
} from "@focus-reactive/payload-plugin-seo/content";
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
### Built-in extractor
|
|
312
|
+
|
|
313
|
+
When `extractContentPath` is not set (or points to an unregistered key), the plugin's built-in extractor runs:
|
|
314
|
+
|
|
315
|
+
1. **Selects** the subtree(s) specified by `fields.content` — a single field path, an `include` list, or the whole document root.
|
|
316
|
+
2. **Collects upload / relationship references** by walking the form schema (arrays, blocks, groups, tabs, rows, collapsibles, and lexical richText, including inline media nodes).
|
|
317
|
+
3. **Resolves media** by calling your Payload REST API per collection:
|
|
318
|
+
`GET /api/{collection}?depth=0&locale={locale}&where[id][in][]=…` — fetching each doc's `url`, `mimeType`, and `alt`. Results are cached in-memory and invalidated when the drawer re-opens or content changes.
|
|
319
|
+
4. **Hydrates** the value tree (upload IDs → full docs) and walks it to emit `ContentNode[]`:
|
|
320
|
+
- Lexical richText → `{ type: "html", html: "…" }` via `@payloadcms/richtext-lexical/html`
|
|
321
|
+
- `{ url, mimeType: "image/*", alt? }` → `{ type: "image", … }`
|
|
322
|
+
- `{ url, label | text | title }` → `{ type: "link", … }`
|
|
323
|
+
- Strings → `{ type: "paragraph", … }`
|
|
324
|
+
- Structural keys (`id`, `blockType`, `blockName`, `_template`, `order`) are skipped
|
|
325
|
+
5. **Serializes** the Intermediate Representation to an HTML string that is fed to the Yoast engine.
|
|
326
|
+
|
|
327
|
+
Image checks (alt text, keyphrase in alt, image count) work against the real, resolved media — not raw relationship IDs.
|
|
328
|
+
|
|
329
|
+
### Custom extractor (`ContentExtractor`)
|
|
330
|
+
|
|
331
|
+
```ts
|
|
332
|
+
type ContentExtractor = (
|
|
333
|
+
values: Record<string, unknown>,
|
|
334
|
+
) => ContentNode[] | Promise<ContentNode[]>;
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
Supply a custom extractor when the built-in walker cannot reconstruct your content shape (e.g. a complex block schema with a specific heading hierarchy). The extractor:
|
|
338
|
+
|
|
339
|
+
- Receives **hydrated, unflattened** form values — upload IDs have already been resolved to full media objects before your function is called.
|
|
340
|
+
- Returns `ContentNode[]` (not an HTML string).
|
|
341
|
+
- Runs **entirely in the browser** on the live, unsaved form state.
|
|
342
|
+
|
|
343
|
+
Use the `/content` helpers to build the Intermediate Representation:
|
|
344
|
+
|
|
345
|
+
```ts
|
|
346
|
+
// src/seo/extract-page-content.ts
|
|
347
|
+
import {
|
|
348
|
+
heading,
|
|
349
|
+
paragraph,
|
|
350
|
+
image,
|
|
351
|
+
link,
|
|
352
|
+
richText,
|
|
353
|
+
} from "@focus-reactive/payload-plugin-seo/content";
|
|
354
|
+
import type { ContentNode } from "@focus-reactive/payload-plugin-seo/content";
|
|
355
|
+
|
|
356
|
+
export default function extractPageContent(
|
|
357
|
+
values: Record<string, unknown>,
|
|
358
|
+
): ContentNode[] {
|
|
359
|
+
const blocks = (values as { blocks?: unknown[] }).blocks ?? [];
|
|
360
|
+
return blocks.flatMap((block) => {
|
|
361
|
+
const b = block as Record<string, unknown>;
|
|
362
|
+
switch (b.blockType) {
|
|
363
|
+
case "hero":
|
|
364
|
+
return [
|
|
365
|
+
heading(2, b.title as string),
|
|
366
|
+
paragraph(b.subtitle as string),
|
|
367
|
+
image(
|
|
368
|
+
(b.image as { url?: string; alt?: string } | null)?.url,
|
|
369
|
+
(b.image as { url?: string; alt?: string } | null)?.alt,
|
|
370
|
+
),
|
|
371
|
+
link(b.ctaUrl as string, b.ctaLabel as string),
|
|
372
|
+
].filter((n): n is ContentNode => n !== null);
|
|
373
|
+
case "richText":
|
|
374
|
+
return [richText(b.content)].filter(
|
|
375
|
+
(n): n is ContentNode => n !== null,
|
|
376
|
+
);
|
|
377
|
+
default:
|
|
378
|
+
return [];
|
|
379
|
+
}
|
|
380
|
+
});
|
|
381
|
+
}
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
### The registry: why it exists and how to use it
|
|
385
|
+
|
|
386
|
+
Payload 3.84 has no client-side import map — `admin.dependencies` resolves path strings to functions server-side only, and a resolved function cannot cross the server→client boundary as a prop. Because the Yoast analysis runs live in the browser, `extractContentPath` cannot be resolved by Payload machinery on the client.
|
|
387
|
+
|
|
388
|
+
The plugin bridges this with a `globalThis`-backed registry. `extractContentPath` in config is the **lookup key**; the consuming app registers the actual function under the same key in an admin-mounted client module. The registry uses `globalThis` (not a bare module-level `Map`) so the key and function resolve to the same instance across separate bundle chunks.
|
|
389
|
+
|
|
390
|
+
**Step 1 — Set `extractContentPath` in the plugin config (the lookup key):**
|
|
391
|
+
|
|
392
|
+
```ts
|
|
393
|
+
// payload.config.ts (or your plugins file)
|
|
394
|
+
import { seoPlugin } from "@focus-reactive/payload-plugin-seo";
|
|
395
|
+
|
|
257
396
|
seoPlugin({
|
|
258
397
|
collections: [
|
|
259
|
-
{
|
|
398
|
+
{
|
|
399
|
+
slug: "page",
|
|
400
|
+
fields: {
|
|
401
|
+
seoTitle: "meta.title",
|
|
402
|
+
metaDescription: "meta.description",
|
|
403
|
+
slug: "slug",
|
|
404
|
+
content: "blocks",
|
|
405
|
+
},
|
|
406
|
+
extractContentPath: "@/collections/Page/extractPageContent#default",
|
|
407
|
+
},
|
|
260
408
|
],
|
|
261
409
|
});
|
|
262
410
|
```
|
|
263
411
|
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
412
|
+
**Step 2 — Create a client registrar component:**
|
|
413
|
+
|
|
414
|
+
```tsx
|
|
415
|
+
// src/providers/SeoExtractorRegistrar.tsx
|
|
416
|
+
"use client";
|
|
417
|
+
|
|
418
|
+
import { registerContentExtractors } from "@focus-reactive/payload-plugin-seo/content";
|
|
419
|
+
import type { ReactNode } from "react";
|
|
420
|
+
|
|
421
|
+
import extractPageContent from "@/collections/Page/extractPageContent";
|
|
422
|
+
|
|
423
|
+
// registerContentExtractors runs once when this module loads in the admin bundle.
|
|
424
|
+
// The key must exactly match the extractContentPath string in your plugin config.
|
|
425
|
+
registerContentExtractors({
|
|
426
|
+
"@/collections/Page/extractPageContent#default": extractPageContent,
|
|
427
|
+
});
|
|
428
|
+
|
|
429
|
+
export function SeoExtractorRegistrar({ children }: { children: ReactNode }) {
|
|
430
|
+
return <>{children}</>;
|
|
268
431
|
}
|
|
432
|
+
|
|
433
|
+
export default SeoExtractorRegistrar;
|
|
269
434
|
```
|
|
270
435
|
|
|
271
|
-
|
|
436
|
+
**Step 3 — Mount the registrar as an admin provider:**
|
|
272
437
|
|
|
273
|
-
|
|
438
|
+
```ts
|
|
439
|
+
// payload.config.ts
|
|
440
|
+
export default buildConfig({
|
|
441
|
+
admin: {
|
|
442
|
+
components: {
|
|
443
|
+
providers: ["/providers/SeoExtractorRegistrar"],
|
|
444
|
+
},
|
|
445
|
+
},
|
|
446
|
+
// ...
|
|
447
|
+
});
|
|
448
|
+
```
|
|
274
449
|
|
|
275
|
-
|
|
450
|
+
If the configured `extractContentPath` is set but the function is not registered (e.g. the provider is missing), the plugin logs a one-time console warning and falls back to the built-in document walker.
|
|
276
451
|
|
|
277
|
-
|
|
278
|
-
2. **Collects upload / relationship references** by walking the form schema (arrays, blocks, groups, tabs, rows, collapsibles, and lexical richText, including inline media nodes).
|
|
279
|
-
3. **Resolves media** by calling your Payload REST API per collection:
|
|
280
|
-
`GET /api/{collection}?depth=0&locale={locale}&where[id][in][]=…` — fetching each doc's `url`, `mimeType`, and `alt`. Results are cached in-memory and invalidated when the drawer re-opens or content changes.
|
|
281
|
-
4. **Hydrates** the value tree (upload IDs → full docs) and walks it to build HTML:
|
|
282
|
-
- Lexical richText → HTML via `@payloadcms/richtext-lexical/html`
|
|
283
|
-
- `{ url, mimeType: "image/*", alt? }` → `<img src="…" alt="…" />`
|
|
284
|
-
- `{ url, label | text | title }` → `<a href="…">…</a>`
|
|
285
|
-
- Strings → `<p>…</p>`
|
|
286
|
-
- Structural keys (`id`, `blockType`, `blockName`, `_template`, `order`) are skipped
|
|
452
|
+
### Limitation: `reference`-type action links
|
|
287
453
|
|
|
288
|
-
|
|
454
|
+
Only actions with a literal `url` string become `link` nodes in the Intermediate Representation. Internal relationship references (Payload `relationship` fields pointing to a page or post) cannot be resolved to a URL client-side — only upload media is hydrated before the extractor runs. Omit `reference`-type actions from your extractor or return nothing for them.
|
|
289
455
|
|
|
290
456
|
---
|
|
291
457
|
|
|
@@ -293,14 +459,14 @@ This means image checks (alt text, keyphrase in alt, image count) work against t
|
|
|
293
459
|
|
|
294
460
|
The drawer presents six tabs, all derived from a single in-browser Yoast analysis pass (a `Paper` analyzed by `SeoAssessor` with the language-appropriate `Researcher`):
|
|
295
461
|
|
|
296
|
-
| Tab
|
|
297
|
-
|
|
|
298
|
-
| **Keyphrase**
|
|
299
|
-
| **On-page SEO**
|
|
300
|
-
| **Readability**
|
|
301
|
-
| **Inclusive**
|
|
302
|
-
| **Content vitals**
|
|
303
|
-
| **Search result preview** | Live Google SERP preview (desktop + mobile) with keyphrase highlighting, built on `@yoast/search-metadata-previews`.
|
|
462
|
+
| Tab | What it checks |
|
|
463
|
+
| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
464
|
+
| **Keyphrase** | Focus keyphrase usage — in title, slug, meta description, first paragraph, density, image alt, synonyms. Enter a keyphrase to unlock these checks. |
|
|
465
|
+
| **On-page SEO** | Title width, meta description presence/length, internal & outbound links, heading structure. |
|
|
466
|
+
| **Readability** | Sentence/paragraph length, transition words, passive voice, consecutive sentences. |
|
|
467
|
+
| **Inclusive** | Flags potentially exclusionary or non-inclusive language. |
|
|
468
|
+
| **Content vitals** | Word count, sentence/paragraph counts, image & video counts, reading time, prominent words. |
|
|
469
|
+
| **Search result preview** | Live Google SERP preview (desktop + mobile) with keyphrase highlighting, built on `@yoast/search-metadata-previews`. |
|
|
304
470
|
|
|
305
471
|
**Without a keyphrase:** the drawer still runs and the On-page, Readability, Inclusive, Content vitals, and SERP tabs all populate. Only the keyphrase-specific assessments wait until you type a focus keyphrase and analysis runs.
|
|
306
472
|
|
|
@@ -323,11 +489,12 @@ The active locale is taken from the admin and normalized to Yoast's `xx_XX` form
|
|
|
323
489
|
|
|
324
490
|
## Exports Reference
|
|
325
491
|
|
|
326
|
-
| Import path
|
|
327
|
-
|
|
|
328
|
-
| `@focus-reactive/payload-plugin-seo`
|
|
329
|
-
| `@focus-reactive/payload-plugin-seo/
|
|
330
|
-
| `@focus-reactive/payload-plugin-seo/
|
|
492
|
+
| Import path | Exports |
|
|
493
|
+
| --------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
494
|
+
| `@focus-reactive/payload-plugin-seo` | `seoPlugin`, and types `SeoPluginConfig`, `SeoCollectionConfig`, `SeoFieldPaths`, `SeoSiteConfig`, `ContentExtractor`, `ContentSelection` |
|
|
495
|
+
| `@focus-reactive/payload-plugin-seo/content` | Builder helpers `heading`, `paragraph`, `link`, `image`, `video`, `richText`, `html`; `registerContentExtractors`, `resolveContentExtractor`; types `ContentNode`, `HeadingLevel`, `ContentExtractor`, `ContentSelection` |
|
|
496
|
+
| `@focus-reactive/payload-plugin-seo/admin.css` | Compiled admin styles for the drawer & button |
|
|
497
|
+
| `@focus-reactive/payload-plugin-seo/components/SeoButton` | `SeoButton` — the toolbar button component (wired automatically by the plugin via the importMap; you normally never import this directly) |
|
|
331
498
|
|
|
332
499
|
---
|
|
333
500
|
|
package/dist/admin.css
CHANGED
|
@@ -44,8 +44,7 @@
|
|
|
44
44
|
--color-serp-favicon-bg: var(--serp-favicon-bg);
|
|
45
45
|
--radius-rs: var(--style-radius-s);
|
|
46
46
|
--radius-rm: var(--style-radius-m);
|
|
47
|
-
--shadow-popover: 0 12px 32px -12px var(--seo-shadow-strong),
|
|
48
|
-
0 2px 6px -2px var(--seo-shadow-soft);
|
|
47
|
+
--shadow-popover: 0 12px 32px -12px var(--seo-shadow-strong), 0 2px 6px -2px var(--seo-shadow-soft);
|
|
49
48
|
--animate-seo-fade-in: seo-fade-in 0.18s ease;
|
|
50
49
|
}
|
|
51
50
|
}
|
|
@@ -1376,4 +1375,4 @@
|
|
|
1376
1375
|
}
|
|
1377
1376
|
}
|
|
1378
1377
|
|
|
1379
|
-
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIjxubyBzb3VyY2U+IiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3RhaWx3aW5kY3NzL3V0aWxpdGllcy5jc3MiLCIuLi9zcmMvYWRtaW4uY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3RhaWx3aW5kY3NzL3RoZW1lLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpRUFBQTtBQ0FBLGlCQUFtQjtBQ0FuQix5Q0FBMEM7QUFDMUM7RUNEQTtJQUtFO2FBRVc7SURTWCw2Q0FBOEM7SUFDOUMsK0NBQWdEO0lBRWhELCtDQUFnRDtJQUNoRCwrQ0FBZ0Q7SUFDaEQsK0NBQWdEO0lBQ2hELCtDQUFnRDtJQUNoRCwrQ0FBZ0Q7SUFDaEQsK0NBQWdEO0lBQ2hELCtDQUFnRDtJQ3lTaEQsbUJBQW1CO0lBRW5CLGtCQUFrQjtJQW9EbEIseUJBQXlCO0lBQ3pCLHlCQUF5QjtJQUN6QiwyQkFBMkI7SUFDM0IsdUJBQXVCO0lBTXZCLHNCQUFzQjtJQW9EdEIsdUNBQXVDO0lBc0R2QyxvQ0FBb0M7SUFDcEMsa0VBQWtFO0lEN2RsRSwyQ0FBNEM7SUFHNUMsK0NBQWdEO0lBUWhELGlEQUFrRDtJQUVsRCxpQ0FBa0M7SUFDbEMseUNBQTBDO0lBQzFDLHlDQUEwQztJQUMxQyxpQ0FBa0M7SUFDbEMseUNBQTBDO0lBQzFDLCtCQUFnQztJQUNoQyx1Q0FBd0M7SUFFeEMscUNBQXNDO0lBQ3RDLG1EQUFvRDtJQUNwRCwyQ0FBNEM7SUFDNUMsMkNBQTRDO0lBQzVDLHlEQUEwRDtJQUMxRCxpREFBa0Q7SUFDbEQsK0RBQWdFO0lBQ2hFLCtDQUFnRDtJQUVoRCxrQ0FBbUM7SUFDbkMsa0NBQW1DO0lBRW5DO3lDQUN3QztJQUV4Qyw2Q0FBOEM7RUNuRGpDO0FEQzhCO0FBQzdDO0VERkE7SUFBQSxvQkFBbUI7RUFBQTtFQUFuQjtJQUFBLG1CQUFtQjtFQUFBO0VBQW5CO0lBQUEsa0JBQW1CO0lBQW5CLFVBQW1CO0lBQW5CLFdBQW1CO0lBQW5CLFVBQW1CO0lBQW5CLFlBQW1CO0lBQW5CLGdCQUFtQjtJQUFuQixxQkFBbUI7SUFBbkIsbUJBQW1CO0lBQW5CLGVBQW1CO0VBQUE7RUFBbkI7SUFBQSxrQkFBbUI7RUFBQTtFQUFuQjtJQUFBLGVBQW1CO0VBQUE7RUFBbkI7SUFBQSxrQkFBbUI7RUFBQTtFQUFuQjtJQUFBLGVBQW1CO0VBQUE7RUFBbkI7SUFBQSxjQUFtQjtFQUFBO0VBQW5CO0lBQUEsOEJBQW1CO0VBQUE7RUFBbkI7SUFBQSxtQkFBbUI7RUFBQTtFQUFuQjtJQUFBLFFBQW1CO0VBQUE7RUFBbkI7SUFBQSxnQ0FBbUI7RUFBQTtFQUFuQjtJQUFBLFNBQW1CO0VBQUE7RUFBbkI7SUFBQSxXQUFtQjtFQUFBO0VBQW5CO0lBQUEsWUFBbUI7RUFBQTtFQUFuQjtJQUFBLFlBQW1CO0VBQUE7RUFBbkI7SUFBQSxXQUFtQjtJQUFuQjtNQUFBLGdCQUFtQjtJQUFBO0lBQW5CO01BQUEsZ0JBQW1CO0lBQUE7SUFBbkI7TUFBQSxnQkFBbUI7SUFBQTtJQUFuQjtNQUFBLGdCQUFtQjtJQUFBO0lBQW5CO01BQUEsZ0JBQW1CO0lBQUE7RUFBQTtFQUFuQjtJQUFBLFNBQW1CO0VBQUE7RUFBbkI7SUFBQSxrQkFBbUI7RUFBQTtFQUFuQjtJQUFBLGVBQW1CO0VBQUE7RUFBbkI7SUFBQSxlQUFtQjtFQUFBO0VBQW5CO0lBQUEsZUFBbUI7RUFBQTtFQUFuQjtJQUFBLGVBQW1CO0VBQUE7RUFBbkI7SUFBQSxnQkFBbUI7RUFBQTtFQUFuQjtJQUFBLGtCQUFtQjtFQUFBO0VBQW5CO0lBQUEsa0JBQW1CO0VBQUE7RUFBbkI7SUFBQSxrQkFBbUI7RUFBQTtFQUFuQjtJQUFBLG1CQUFtQjtFQUFBO0VBQW5CO0lBQUEsbUJBQW1CO0VBQUE7RUFBbkI7SUFBQSxzQkFBbUI7RUFBQTtFQUFuQjtJQUFBLGdCQUFtQjtJQUFuQixvQkFBbUI7SUFBbkIsNEJBQW1CO0lBQW5CLHFCQUFtQjtFQUFBO0VBQW5CO0lBQUEsY0FBbUI7RUFBQTtFQUFuQjtJQUFBLGFBQW1CO0VBQUE7RUFBbkI7SUFBQSxhQUFtQjtFQUFBO0VBQW5CO0lBQUEsYUFBbUI7RUFBQTtFQUFuQjtJQUFBLGVBQW1CO0VBQUE7RUFBbkI7SUFBQSxxQkFBbUI7RUFBQTtFQUFuQjtJQUFBLG9CQUFtQjtFQUFBO0VBQW5CO0lBQUEsY0FBbUI7RUFBQTtFQUFuQjtJQUFBLGFBQW1CO0VBQUE7RUFBbkI7SUFBQSxXQUFtQjtFQUFBO0VBQW5CO0lBQUEsV0FBbUI7RUFBQTtFQUFuQjtJQUFBLFdBQW1CO0VBQUE7RUFBbkI7SUFBQSxZQUFtQjtFQUFBO0VBQW5CO0lBQUEsWUFBbUI7RUFBQTtFQUFuQjtJQUFBLFlBQW1CO0VBQUE7RUFBbkI7SUFBQSxZQUFtQjtFQUFBO0VBQW5CO0lBQUEsWUFBbUI7RUFBQTtFQUFuQjtJQUFBLFlBQW1CO0VBQUE7RUFBbkI7SUFBQSxZQUFtQjtFQUFBO0VBQW5CO0lBQUEsWUFBbUI7RUFBQTtFQUFuQjtJQUFBLFlBQW1CO0VBQUE7RUFBbkI7SUFBQSxZQUFtQjtFQUFBO0VBQW5CO0lBQUEsK0JBQW1CO0VBQUE7RUFBbkI7SUFBQSxZQUFtQjtFQUFBO0VBQW5CO0lBQUEsZ0JBQW1CO0VBQUE7RUFBbkI7SUFBQSxZQUFtQjtFQUFBO0VBQW5CO0lBQUEsVUFBbUI7RUFBQTtFQUFuQjtJQUFBLFVBQW1CO0VBQUE7RUFBbkI7SUFBQSxVQUFtQjtFQUFBO0VBQW5CO0lBQUEsV0FBbUI7RUFBQTtFQUFuQjtJQUFBLFdBQW1CO0VBQUE7RUFBbkI7SUFBQSxXQUFtQjtFQUFBO0VBQW5CO0lBQUEsV0FBbUI7RUFBQTtFQUFuQjtJQUFBLFdBQW1CO0VBQUE7RUFBbkI7SUFBQSxXQUFtQjtFQUFBO0VBQW5CO0lBQUEsV0FBbUI7RUFBQTtFQUFuQjtJQUFBLFdBQW1CO0VBQUE7RUFBbkI7SUFBQSxXQUFtQjtFQUFBO0VBQW5CO0lBQUEsWUFBbUI7RUFBQTtFQUFuQjtJQUFBLFlBQW1CO0VBQUE7RUFBbkI7SUFBQSw4QkFBbUI7RUFBQTtFQUFuQjtJQUFBLGdCQUFtQjtFQUFBO0VBQW5CO0lBQUEsZ0JBQW1CO0VBQUE7RUFBbkI7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QTtFQUFuQjtJQUFBLG1CQUFtQjtFQUFBO0VBQW5CO0lBQUEsbUJBQW1CO0VBQUE7RUFBbkI7SUFBQSxtQkFBbUI7RUFBQTtFQUFuQjtJQUFBLGdCQUFtQjtFQUFBO0VBQW5CO0lBQUEsZ0JBQW1CO0VBQUE7RUFBbkI7SUFBQSxnQkFBbUI7RUFBQTtFQUFuQjtJQUFBLGlCQUFtQjtFQUFBO0VBQW5CO0lBQUEsaUJBQW1CO0VBQUE7RUFBbkI7SUFBQSxtQkFBbUI7RUFBQTtFQUFuQjtJQUFBLG9CQUFtQjtFQUFBO0VBQW5CO0lBQUEsb0JBQW1CO0VBQUE7RUFBbkI7SUFBQSxrQkFBbUI7RUFBQTtFQUFuQjtJQUFBLGdCQUFtQjtFQUFBO0VBQW5CO0lBQUEsaUJBQW1CO0VBQUE7RUFBbkI7SUFBQSwwREFBbUI7RUFBQTtFQUFuQjtJQUFBLDZCQUFtQjtFQUFBO0VBQW5CO0lBQUEsNkJBQW1CO0VBQUE7RUFBbkI7SUFBQSxnQkFBbUI7RUFBQTtFQUFuQjtJQUFBLGNBQW1CO0VBQUE7RUFBbkI7SUFBQSxpQkFBbUI7RUFBQTtFQUFuQjtJQUFBLGVBQW1CO0VBQUE7RUFBbkI7SUFBQSxpQkFBbUI7RUFBQTtFQUFuQjtJQUFBLGVBQW1CO0VBQUE7RUFBbkI7SUFBQSxpQkFBbUI7RUFBQTtFQUFuQjtJQUFBLGVBQW1CO0VBQUE7RUFBbkI7SUFBQSxlQUFtQjtFQUFBO0VBQW5CO0lBQUEsZUFBbUI7RUFBQTtFQUFuQjtJQUFBLGVBQW1CO0VBQUE7RUFBbkI7SUFBQSxlQUFtQjtFQUFBO0VBQW5CO0lBQUEsZUFBbUI7RUFBQTtFQUFuQjtJQUFBLGVBQW1CO0VBQUE7RUFBbkI7SUFBQSxpQkFBbUI7SUFBbkIsZ0JBQW1CO0VBQUE7RUFBbkI7SUFBQSxpQkFBbUI7SUFBbkIsZ0JBQW1CO0VBQUE7RUFBbkI7SUFBQSxrQkFBbUI7SUFBbkIsaUJBQW1CO0VBQUE7RUFBbkI7SUFBQSxrQkFBbUI7SUFBbkIsaUJBQW1CO0VBQUE7RUFBbkI7SUFBQSxrQkFBbUI7SUFBbkIsaUJBQW1CO0VBQUE7RUFBbkI7SUFBQSxrQkFB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QUE7QUFBbkI7RUFBQSxXQUFtQjtFQUFuQixlQUFtQjtFQUFuQix3QkFBbUI7QUFBQTtBQUFuQjtFQUFBLFdBQW1CO0VBQW5CLGVBQW1CO0FBQUE7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkIsZUFBbUI7RUFBbkIsbUJBQW1CO0FBQUE7QUFBbkI7RUFBQSxXQUFtQjtFQUFuQixlQUFtQjtBQUFBO0FBQW5CO0VBQUEsV0FBbUI7RUFBbkIsZUFBbUI7RUFBbkIsd0JBQW1CO0FBQUE7QUFBbkI7RUFBQSxXQUFtQjtFQUFuQixlQUFtQjtBQUFBO0FBQW5CO0VBQUEsV0FBbUI7RUFBbkIsZUFBbUI7RUFBbkIsd0JBQW1CO0FBQUE7QUFBbkI7RUFBQSxXQUFtQjtFQUFuQixlQUFtQjtBQUFBO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CLGVBQW1CO0VBQW5CLGtCQUFtQjtBQUFBO0FBQW5CO0VBQUEsV0FBbUI7RUFBbkIsZUFBbUI7RUFBbkIsbUJBQW1CO0FBQUE7QUFBbkI7RUFBQSxXQUFtQjtFQUFuQixlQUFtQjtFQUFuQix3QkFBbUI7QUFBQTtBQUFuQjtFQUFBLFdBQW1CO0VBQW5CLGVBQW1CO0VBQW5CLG9CQUFtQjtBQUFBO0FBQW5CO0VBQUEsV0FBbUI7RUFBbkIsZUFBbUI7QUFBQTtBQUFuQjtFQUFBLFdBQW1CO0VBQW5CLGVBQW1CO0FBQUE7QUFBbkI7RUFBQSxXQUFtQjtFQUFuQixlQUFtQjtBQUFBO0FBQW5CO0VBQUEsV0FBbUI7RUFBbkIsZUFBbUI7QUFBQTtBQUFuQjtFQUFBLFdBQW1CO0VBQW5CLGVBQW1CO0FBQUE7QUFBbkI7RUFBQSxXQUFtQjtFQUFuQixlQUFtQjtBQUFBO0FBQW5CO0VBQUEsV0FBbUI7RUFBbkIsZUFBbUI7QUFBQTtBQUFuQjtFQUFBLFdBQW1CO0VBQW5CLGVBQW1CO0FBQUE7QUFBbkI7RUFBQSxXQUFtQjtFQUFuQixlQUFtQjtBQUFBO0FBQW5CO0VBQUEsV0FBbUI7RUFBbkIsZUFBbUI7QUFBQTtBQUFuQjtFQUFBLFdBQW1CO0VBQW5CLGVBQW1CO0FBQUE7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkIsZUFBbUI7RUFBbkIsbUJBQW1CO0FBQUE7QUFBbkI7RUFBQSxXQUFtQjtFQUFuQixlQUFtQjtBQUFBO0FBQW5CO0VBQUEsV0FBbUI7RUFBbkIsZUFBbUI7QUFBQTtBQUFuQjtFQUFBLFdBQW1CO0VBQW5CLGlCQUFtQjtFQUFuQixlQUFtQjtBQUFBO0FFMGJqQjtFQUNFO0lBQ0UseUJBQXlCO0VBRHhCO0FBRFc7QURyWWhCO0VBQ0U7SUFDRSxVQUFXO0VBQ1o7QUFDRjtBRHpESDtFQUFBO0lBQUE7TUFBQSxtQkFBbUI7TUFBbkIsbUJBQW1CO01BQW5CLG1CQUFtQjtNQUFuQixzQkFBbUI7TUFBbkIsc0JBQW1CO01BQW5CLHNCQUFtQjtNQUFuQixvQkFBbUI7TUFBbkIsb0JBQW1CO01BQW5CLHdCQUFtQjtNQUFuQixxQkFBbUI7TUFBbkIseUJBQW1CO01BQW5CLHNCQUFtQjtNQUFuQixzQkFBbUI7TUFBbkIsMEJBQW1CO01BQW5CLHVCQUFtQjtNQUFuQiw0QkFBbUI7TUFBbkIsZ0NBQW1CO01BQW5CLDZCQUFtQjtNQUFuQix3QkFBbUI7TUFBbkIsMkJBQW1CO01BQW5CLDhCQUFtQjtNQUFuQixpQ0FBbUI7TUFBbkIsd0JBQW1CO01BQW5CLDJCQUFtQjtNQUFuQiw0QkFBbUI7TUFBbkIsa0NBQW1CO01BQW5CLHlCQUFtQjtNQUFuQixrQkFBbUI7TUFBbkIsd0JBQW1CO01BQW5CLHNCQUFtQjtNQUFuQix1QkFBbUI7TUFBbkIsd0JBQW1CO01BQW5CLG9CQUFtQjtNQUFuQixxQkFBbUI7TUFBbkIsc0JBQW1CO01BQW5CLG1CQUFtQjtNQUFuQix5QkFBbUI7TUFBbkIsK0JBQW1CO01BQW5CLDRCQUFtQjtNQUFuQiw4QkFBbUI7TUFBbkIsc0JBQW1CO01BQW5CLGdCQUFtQjtJQUFBO0VBQUE7QUFBQSIsImZpbGUiOiJhZG1pbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6W251bGwsIkB0YWlsd2luZCB1dGlsaXRpZXM7XG4iLCJAbGF5ZXIgdGhlbWUsIGJhc2UsIGNvbXBvbmVudHMsIHV0aWxpdGllcztcbkBpbXBvcnQgXCJ0YWlsd2luZGNzcy90aGVtZS5jc3NcIiBsYXllcih0aGVtZSk7XG5AaW1wb3J0IFwidGFpbHdpbmRjc3MvdXRpbGl0aWVzLmNzc1wiIGxheWVyKHV0aWxpdGllcyk7XG5cbkBzb3VyY2UgXCIuLyoqLyoue3RzLHRzeH1cIjtcblxuQGxheWVyIHV0aWxpdGllcyB7XG4gIC50YWJsZSB7XG4gICAgZGlzcGxheTogcmV2ZXJ0LWxheWVyO1xuICB9XG59XG5cbkBjdXN0b20tdmFyaWFudCBkYXJrIChbZGF0YS10aGVtZT1cImRhcmtcIl0gJik7XG5cbkB0aGVtZSBzdGF0aWMge1xuICAtLWNvbG9yLW5ldXRyYWwtMDogdmFyKC0tdGhlbWUtZWxldmF0aW9uLTApO1xuICAtLWNvbG9yLW5ldXRyYWwtNTA6IHZhcigtLXRoZW1lLWVsZXZhdGlvbi01MCk7XG4gIC0tY29sb3ItbmV1dHJhbC0xMDA6IHZhcigtLXRoZW1lLWVsZXZhdGlvbi0xMDApO1xuICAtLWNvbG9yLW5ldXRyYWwtMTUwOiB2YXIoLS10aGVtZS1lbGV2YXRpb24tMTUwKTtcbiAgLS1jb2xvci1uZXV0cmFsLTIwMDogdmFyKC0tdGhlbWUtZWxldmF0aW9uLTIwMCk7XG4gIC0tY29sb3ItbmV1dHJhbC0zMDA6IHZhcigtLXRoZW1lLWVsZXZhdGlvbi0zMDApO1xuICAtLWNvbG9yLW5ldXRyYWwtNDAwOiB2YXIoLS10aGVtZS1lbGV2YXRpb24tNDAwKTtcbiAgLS1jb2xvci1uZXV0cmFsLTUwMDogdmFyKC0tdGhlbWUtZWxldmF0aW9uLTUwMCk7XG4gIC0tY29sb3ItbmV1dHJhbC02MDA6IHZhcigtLXRoZW1lLWVsZXZhdGlvbi02MDApO1xuICAtLWNvbG9yLW5ldXRyYWwtNzAwOiB2YXIoLS10aGVtZS1lbGV2YXRpb24tNzAwKTtcbiAgLS1jb2xvci1uZXV0cmFsLTgwMDogdmFyKC0tdGhlbWUtZWxldmF0aW9uLTgwMCk7XG4gIC0tY29sb3ItbmV1dHJhbC0xMDAwOiB2YXIoLS10aGVtZS1lbGV2YXRpb24tMTAwMCk7XG5cbiAgLS1jb2xvci1zZW8tZ29vZDogdmFyKC0tc2VvLWdvb2QpO1xuICAtLWNvbG9yLXNlby1nb29kLTEwMDogdmFyKC0tc2VvLWdvb2QtMTAwKTtcbiAgLS1jb2xvci1zZW8tZ29vZC0yMDA6IHZhcigtLXNlby1nb29kLTIwMCk7XG4gIC0tY29sb3Itc2VvLXdhcm46IHZhcigtLXNlby13YXJuKTtcbiAgLS1jb2xvci1zZW8td2Fybi0xMDA6IHZhcigtLXNlby13YXJuLTEwMCk7XG4gIC0tY29sb3Itc2VvLWJhZDogdmFyKC0tc2VvLWJhZCk7XG4gIC0tY29sb3Itc2VvLWJhZC0xMDA6IHZhcigtLXNlby1iYWQtMTAwKTtcblxuICAtLWNvbG9yLXNlcnAtdGl0bGU6IHZhcigtLXNlcnAtdGl0bGUpO1xuICAtLWNvbG9yLXNlcnAtdGl0bGUtbW9iaWxlOiB2YXIoLS1zZXJwLXRpdGxlLW1vYmlsZSk7XG4gIC0tY29sb3Itc2VycC1zaXRlbmFtZTogdmFyKC0tc2VycC1zaXRlbmFtZSk7XG4gIC0tY29sb3Itc2VycC1ob3N0bmFtZTogdmFyKC0tc2VycC1ob3N0bmFtZSk7XG4gIC0tY29sb3Itc2VycC1ob3N0bmFtZS1tb2JpbGU6IHZhcigtLXNlcnAtaG9zdG5hbWUtbW9iaWxlKTtcbiAgLS1jb2xvci1zZXJwLWRlc2NyaXB0aW9uOiB2YXIoLS1zZXJwLWRlc2NyaXB0aW9uKTtcbiAgLS1jb2xvci1zZXJwLWRlc2NyaXB0aW9uLW1vYmlsZTogdmFyKC0tc2VycC1kZXNjcmlwdGlvbi1tb2JpbGUpO1xuICAtLWNvbG9yLXNlcnAtZmF2aWNvbi1iZzogdmFyKC0tc2VycC1mYXZpY29uLWJnKTtcblxuICAtLXJhZGl1cy1yczogdmFyKC0tc3R5bGUtcmFkaXVzLXMpO1xuICAtLXJhZGl1cy1ybTogdmFyKC0tc3R5bGUtcmFkaXVzLW0pO1xuXG4gIC0tc2hhZG93LXBvcG92ZXI6IDAgMTJweCAzMnB4IC0xMnB4IHZhcigtLXNlby1zaGFkb3ctc3Ryb25nKSxcbiAgICAwIDJweCA2cHggLTJweCB2YXIoLS1zZW8tc2hhZG93LXNvZnQpO1xuXG4gIC0tYW5pbWF0ZS1zZW8tZmFkZS1pbjogc2VvLWZhZGUtaW4gMC4xOHMgZWFzZTtcblxuICBAa2V5ZnJhbWVzIHNlby1mYWRlLWluIHtcbiAgICBmcm9tIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG59XG5cbjpyb290IHtcbiAgLS1zZW8tc2hhZG93LXN0cm9uZzogb2tsY2goMC4yIDAuMDEgNzAgLyAwLjE0KTtcbiAgLS1zZW8tc2hhZG93LXNvZnQ6IG9rbGNoKDAuMiAwLjAxIDcwIC8gMC4wNik7XG5cbiAgLS1zZXJwLXRpdGxlOiAjMWEwZGFiO1xuICAtLXNlcnAtdGl0bGUtbW9iaWxlOiAjMTU1OGQ2O1xuICAtLXNlcnAtc2l0ZW5hbWU6ICMwMDA7XG4gIC0tc2VycC1ob3N0bmFtZTogIzRkNTE1NjtcbiAgLS1zZXJwLWhvc3RuYW1lLW1vYmlsZTogIzcwNzU3YTtcbiAgLS1zZXJwLWRlc2NyaXB0aW9uOiAjNGQ1MTU2O1xuICAtLXNlcnAtZGVzY3JpcHRpb24tbW9iaWxlOiAjM2M0MDQzO1xuICAtLXNlcnAtZmF2aWNvbi1iZzogI2YxZjNmNDtcblxuICAtLXNlby1nb29kOiAjMmE5ZDVjO1xuICAtLXNlby1nb29kLTEwMDogI2U4ZjVlZDtcbiAgLS1zZW8tZ29vZC0yMDA6ICNjZmU4ZDg7XG4gIC0tc2VvLXdhcm46ICNlMDhhMWU7XG4gIC0tc2VvLXdhcm4tMTAwOiAjZmJmMmUwO1xuICAtLXNlby1iYWQ6ICNkOTQ4M2Y7XG4gIC0tc2VvLWJhZC0xMDA6ICNmYmU5ZTc7XG59XG5cbltkYXRhLXRoZW1lPVwiZGFya1wiXSB7XG4gIC0tc2VvLXNoYWRvdy1zdHJvbmc6IG9rbGNoKDAuOTcgMCAwIC8gMC4yKTtcbiAgLS1zZW8tc2hhZG93LXNvZnQ6IG9rbGNoKDAuOTcgMCAwIC8gMC4wOSk7XG5cbiAgLS1zZXJwLXRpdGxlOiAjOTljM2ZmO1xuICAtLXNlcnAtdGl0bGUtbW9iaWxlOiAjOTljM2ZmO1xuICAtLXNlcnAtc2l0ZW5hbWU6ICNlOGU4ZTg7XG4gIC0tc2VycC1ob3N0bmFtZTogI2JkYzFjNjtcbiAgLS1zZXJwLWhvc3RuYW1lLW1vYmlsZTogI2JkYzFjNjtcbiAgLS1zZXJwLWRlc2NyaXB0aW9uOiAjYmRjMWM2O1xuICAtLXNlcnAtZGVzY3JpcHRpb24tbW9iaWxlOiAjYmRjMWM2O1xuICAtLXNlcnAtZmF2aWNvbi1iZzogIzMwMzEzNDtcblxuICAtLXNlby1nb29kOiAjNGFkZTgwO1xuICAtLXNlby1nb29kLTEwMDogIzE0MjcxYztcbiAgLS1zZW8tZ29vZC0yMDA6ICMxYzNiMjk7XG4gIC0tc2VvLXdhcm46ICNmMGIwNGU7XG4gIC0tc2VvLXdhcm4tMTAwOiAjMmUyMzEwO1xuICAtLXNlby1iYWQ6ICNmMDc0NmI7XG4gIC0tc2VvLWJhZC0xMDA6ICMzMTE3MTQ7XG59XG5cbi5zZW8tcm9vdCBbcm9sZT1cInRhYlwiXSB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4uc2VvLXJvb3QgW3JvbGU9XCJ0YWJcIl1bYXJpYS1zZWxlY3RlZD1cInRydWVcIl0ge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS10aGVtZS1lbGV2YXRpb24tMTAwMCk7XG59XG5cbkBsYXllciBjb21wb25lbnRzIHtcbiAgLnNlby1kb2NiYXIge1xuICAgIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoXG4gICAgICA5MGRlZyxcbiAgICAgIHZhcigtLXRoZW1lLWVsZXZhdGlvbi0xMDApIDAgMnB4LFxuICAgICAgdHJhbnNwYXJlbnQgMnB4IDdweFxuICAgICk7XG4gIH1cblxuICAuc2VvLWRvYy1idG4gLmJ0bl9fY29udGVudCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIH1cblxuICAuc2VvLWRvYy1idG4gLmJ0bl9faWNvbiB7XG4gICAgd2lkdGg6IDE3cHg7XG4gICAgaGVpZ2h0OiAxN3B4O1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLnNlby1kb2MtYnRuIC5idG5fX2ljb24gc3ZnIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cbiIsIkB0aGVtZSBkZWZhdWx0IHtcbiAgLS1mb250LXNhbnM6XG4gICAgdWktc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmLCAnQXBwbGUgQ29sb3IgRW1vamknLCAnU2Vnb2UgVUkgRW1vamknLCAnU2Vnb2UgVUkgU3ltYm9sJyxcbiAgICAnTm90byBDb2xvciBFbW9qaSc7XG4gIC0tZm9udC1zZXJpZjogdWktc2VyaWYsIEdlb3JnaWEsIENhbWJyaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBUaW1lcywgc2VyaWY7XG4gIC0tZm9udC1tb25vOlxuICAgIHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgJ0NvdXJpZXIgTmV3JyxcbiAgICBtb25vc3BhY2U7XG5cbiAgLS1jb2xvci1yZWQtNTA6IG9rbGNoKDk3LjElIDAuMDEzIDE3LjM4KTtcbiAgLS1jb2xvci1yZWQtMTAwOiBva2xjaCg5My42JSAwLjAzMiAxNy43MTcpO1xuICAtLWNvbG9yLXJlZC0yMDA6IG9rbGNoKDg4LjUlIDAuMDYyIDE4LjMzNCk7XG4gIC0tY29sb3ItcmVkLTMwMDogb2tsY2goODAuOCUgMC4xMTQgMTkuNTcxKTtcbiAgLS1jb2xvci1yZWQtNDAwOiBva2xjaCg3MC40JSAwLjE5MSAyMi4yMTYpO1xuICAtLWNvbG9yLXJlZC01MDA6IG9rbGNoKDYzLjclIDAuMjM3IDI1LjMzMSk7XG4gIC0tY29sb3ItcmVkLTYwMDogb2tsY2goNTcuNyUgMC4yNDUgMjcuMzI1KTtcbiAgLS1jb2xvci1yZWQtNzAwOiBva2xjaCg1MC41JSAwLjIxMyAyNy41MTgpO1xuICAtLWNvbG9yLXJlZC04MDA6IG9rbGNoKDQ0LjQlIDAuMTc3IDI2Ljg5OSk7XG4gIC0tY29sb3ItcmVkLTkwMDogb2tsY2goMzkuNiUgMC4xNDEgMjUuNzIzKTtcbiAgLS1jb2xvci1yZWQtOTUwOiBva2xjaCgyNS44JSAwLjA5MiAyNi4wNDIpO1xuXG4gIC0tY29sb3Itb3JhbmdlLTUwOiBva2xjaCg5OCUgMC4wMTYgNzMuNjg0KTtcbiAgLS1jb2xvci1vcmFuZ2UtMTAwOiBva2xjaCg5NS40JSAwLjAzOCA3NS4xNjQpO1xuICAtLWNvbG9yLW9yYW5nZS0yMDA6IG9rbGNoKDkwLjElIDAuMDc2IDcwLjY5Nyk7XG4gIC0tY29sb3Itb3JhbmdlLTMwMDogb2tsY2goODMuNyUgMC4xMjggNjYuMjkpO1xuICAtLWNvbG9yLW9yYW5nZS00MDA6IG9rbGNoKDc1JSAwLjE4MyA1NS45MzQpO1xuICAtLWNvbG9yLW9yYW5nZS01MDA6IG9rbGNoKDcwLjUlIDAuMjEzIDQ3LjYwNCk7XG4gIC0tY29sb3Itb3JhbmdlLTYwMDogb2tsY2goNjQuNiUgMC4yMjIgNDEuMTE2KTtcbiAgLS1jb2xvci1vcmFuZ2UtNzAwOiBva2xjaCg1NS4zJSAwLjE5NSAzOC40MDIpO1xuICAtLWNvbG9yLW9yYW5nZS04MDA6IG9rbGNoKDQ3JSAwLjE1NyAzNy4zMDQpO1xuICAtLWNvbG9yLW9yYW5nZS05MDA6IG9rbGNoKDQwLjglIDAuMTIzIDM4LjE3Mik7XG4gIC0tY29sb3Itb3JhbmdlLTk1MDogb2tsY2goMjYuNiUgMC4wNzkgMzYuMjU5KTtcblxuICAtLWNvbG9yLWFtYmVyLTUwOiBva2xjaCg5OC43JSAwLjAyMiA5NS4yNzcpO1xuICAtLWNvbG9yLWFtYmVyLTEwMDogb2tsY2goOTYuMiUgMC4wNTkgOTUuNjE3KTtcbiAgLS1jb2xvci1hbWJlci0yMDA6IG9rbGNoKDkyLjQlIDAuMTIgOTUuNzQ2KTtcbiAgLS1jb2xvci1hbWJlci0zMDA6IG9rbGNoKDg3LjklIDAuMTY5IDkxLjYwNSk7XG4gIC0tY29sb3ItYW1iZXItNDAwOiBva2xjaCg4Mi44JSAwLjE4OSA4NC40MjkpO1xuICAtLWNvbG9yLWFtYmVyLTUwMDogb2tsY2goNzYuOSUgMC4xODggNzAuMDgpO1xuICAtLWNvbG9yLWFtYmVyLTYwMDogb2tsY2goNjYuNiUgMC4xNzkgNTguMzE4KTtcbiAgLS1jb2xvci1hbWJlci03MDA6IG9rbGNoKDU1LjUlIDAuMTYzIDQ4Ljk5OCk7XG4gIC0tY29sb3ItYW1iZXItODAwOiBva2xjaCg0Ny4zJSAwLjEzNyA0Ni4yMDEpO1xuICAtLWNvbG9yLWFtYmVyLTkwMDogb2tsY2goNDEuNCUgMC4xMTIgNDUuOTA0KTtcbiAgLS1jb2xvci1hbWJlci05NTA6IG9rbGNoKDI3LjklIDAuMDc3IDQ1LjYzNSk7XG5cbiAgLS1jb2xvci15ZWxsb3ctNTA6IG9rbGNoKDk4LjclIDAuMDI2IDEwMi4yMTIpO1xuICAtLWNvbG9yLXllbGxvdy0xMDA6IG9rbGNoKDk3LjMlIDAuMDcxIDEwMy4xOTMpO1xuICAtLWNvbG9yLXllbGxvdy0yMDA6IG9rbGNoKDk0LjUlIDAuMTI5IDEwMS41NCk7XG4gIC0tY29sb3IteWVsbG93LTMwMDogb2tsY2goOTAuNSUgMC4xODIgOTguMTExKTtcbiAgLS1jb2xvci15ZWxsb3ctNDAwOiBva2xjaCg4NS4yJSAwLjE5OSA5MS45MzYpO1xuICAtLWNvbG9yLXllbGxvdy01MDA6IG9rbGNoKDc5LjUlIDAuMTg0IDg2LjA0Nyk7XG4gIC0tY29sb3IteWVsbG93LTYwMDogb2tsY2goNjguMSUgMC4xNjIgNzUuODM0KTtcbiAgLS1jb2xvci15ZWxsb3ctNzAwOiBva2xjaCg1NS40JSAwLjEzNSA2Ni40NDIpO1xuICAtLWNvbG9yLXllbGxvdy04MDA6IG9rbGNoKDQ3LjYlIDAuMTE0IDYxLjkwNyk7XG4gIC0tY29sb3IteWVsbG93LTkwMDogb2tsY2goNDIuMSUgMC4wOTUgNTcuNzA4KTtcbiAgLS1jb2xvci15ZWxsb3ctOTUwOiBva2xjaCgyOC42JSAwLjA2NiA1My44MTMpO1xuXG4gIC0tY29sb3ItbGltZS01MDogb2tsY2goOTguNiUgMC4wMzEgMTIwLjc1Nyk7XG4gIC0tY29sb3ItbGltZS0xMDA6IG9rbGNoKDk2LjclIDAuMDY3IDEyMi4zMjgpO1xuICAtLWNvbG9yLWxpbWUtMjAwOiBva2xjaCg5My44JSAwLjEyNyAxMjQuMzIxKTtcbiAgLS1jb2xvci1saW1lLTMwMDogb2tsY2goODkuNyUgMC4xOTYgMTI2LjY2NSk7XG4gIC0tY29sb3ItbGltZS00MDA6IG9rbGNoKDg0LjElIDAuMjM4IDEyOC44NSk7XG4gIC0tY29sb3ItbGltZS01MDA6IG9rbGNoKDc2LjglIDAuMjMzIDEzMC44NSk7XG4gIC0tY29sb3ItbGltZS02MDA6IG9rbGNoKDY0LjglIDAuMiAxMzEuNjg0KTtcbiAgLS1jb2xvci1saW1lLTcwMDogb2tsY2goNTMuMiUgMC4xNTcgMTMxLjU4OSk7XG4gIC0tY29sb3ItbGltZS04MDA6IG9rbGNoKDQ1LjMlIDAuMTI0IDEzMC45MzMpO1xuICAtLWNvbG9yLWxpbWUtOTAwOiBva2xjaCg0MC41JSAwLjEwMSAxMzEuMDYzKTtcbiAgLS1jb2xvci1saW1lLTk1MDogb2tsY2goMjcuNCUgMC4wNzIgMTMyLjEwOSk7XG5cbiAgLS1jb2xvci1ncmVlbi01MDogb2tsY2goOTguMiUgMC4wMTggMTU1LjgyNik7XG4gIC0tY29sb3ItZ3JlZW4tMTAwOiBva2xjaCg5Ni4yJSAwLjA0NCAxNTYuNzQzKTtcbiAgLS1jb2xvci1ncmVlbi0yMDA6IG9rbGNoKDkyLjUlIDAuMDg0IDE1NS45OTUpO1xuICAtLWNvbG9yLWdyZWVuLTMwMDogb2tsY2goODcuMSUgMC4xNSAxNTQuNDQ5KTtcbiAgLS1jb2xvci1ncmVlbi00MDA6IG9rbGNoKDc5LjIlIDAuMjA5IDE1MS43MTEpO1xuICAtLWNvbG9yLWdyZWVuLTUwMDogb2tsY2goNzIuMyUgMC4yMTkgMTQ5LjU3OSk7XG4gIC0tY29sb3ItZ3JlZW4tNjAwOiBva2xjaCg2Mi43JSAwLjE5NCAxNDkuMjE0KTtcbiAgLS1jb2xvci1ncmVlbi03MDA6IG9rbGNoKDUyLjclIDAuMTU0IDE1MC4wNjkpO1xuICAtLWNvbG9yLWdyZWVuLTgwMDogb2tsY2goNDQuOCUgMC4xMTkgMTUxLjMyOCk7XG4gIC0tY29sb3ItZ3JlZW4tOTAwOiBva2xjaCgzOS4zJSAwLjA5NSAxNTIuNTM1KTtcbiAgLS1jb2xvci1ncmVlbi05NTA6IG9rbGNoKDI2LjYlIDAuMDY1IDE1Mi45MzQpO1xuXG4gIC0tY29sb3ItZW1lcmFsZC01MDogb2tsY2goOTcuOSUgMC4wMjEgMTY2LjExMyk7XG4gIC0tY29sb3ItZW1lcmFsZC0xMDA6IG9rbGNoKDk1JSAwLjA1MiAxNjMuMDUxKTtcbiAgLS1jb2xvci1lbWVyYWxkLTIwMDogb2tsY2goOTAuNSUgMC4wOTMgMTY0LjE1KTtcbiAgLS1jb2xvci1lbWVyYWxkLTMwMDogb2tsY2goODQuNSUgMC4xNDMgMTY0Ljk3OCk7XG4gIC0tY29sb3ItZW1lcmFsZC00MDA6IG9rbGNoKDc2LjUlIDAuMTc3IDE2My4yMjMpO1xuICAtLWNvbG9yLWVtZXJhbGQtNTAwOiBva2xjaCg2OS42JSAwLjE3IDE2Mi40OCk7XG4gIC0tY29sb3ItZW1lcmFsZC02MDA6IG9rbGNoKDU5LjYlIDAuMTQ1IDE2My4yMjUpO1xuICAtLWNvbG9yLWVtZXJhbGQtNzAwOiBva2xjaCg1MC44JSAwLjExOCAxNjUuNjEyKTtcbiAgLS1jb2xvci1lbWVyYWxkLTgwMDogb2tsY2goNDMuMiUgMC4wOTUgMTY2LjkxMyk7XG4gIC0tY29sb3ItZW1lcmFsZC05MDA6IG9rbGNoKDM3LjglIDAuMDc3IDE2OC45NCk7XG4gIC0tY29sb3ItZW1lcmFsZC05NTA6IG9rbGNoKDI2LjIlIDAuMDUxIDE3Mi41NTIpO1xuXG4gIC0tY29sb3ItdGVhbC01MDogb2tsY2goOTguNCUgMC4wMTQgMTgwLjcyKTtcbiAgLS1jb2xvci10ZWFsLTEwMDogb2tsY2goOTUuMyUgMC4wNTEgMTgwLjgwMSk7XG4gIC0tY29sb3ItdGVhbC0yMDA6IG9rbGNoKDkxJSAwLjA5NiAxODAuNDI2KTtcbiAgLS1jb2xvci10ZWFsLTMwMDogb2tsY2goODUuNSUgMC4xMzggMTgxLjA3MSk7XG4gIC0tY29sb3ItdGVhbC00MDA6IG9rbGNoKDc3LjclIDAuMTUyIDE4MS45MTIpO1xuICAtLWNvbG9yLXRlYWwtNTAwOiBva2xjaCg3MC40JSAwLjE0IDE4Mi41MDMpO1xuICAtLWNvbG9yLXRlYWwtNjAwOiBva2xjaCg2MCUgMC4xMTggMTg0LjcwNCk7XG4gIC0tY29sb3ItdGVhbC03MDA6IG9rbGNoKDUxLjElIDAuMDk2IDE4Ni4zOTEpO1xuICAtLWNvbG9yLXRlYWwtODAwOiBva2xjaCg0My43JSAwLjA3OCAxODguMjE2KTtcbiAgLS1jb2xvci10ZWFsLTkwMDogb2tsY2goMzguNiUgMC4wNjMgMTg4LjQxNik7XG4gIC0tY29sb3ItdGVhbC05NTA6IG9rbGNoKDI3LjclIDAuMDQ2IDE5Mi41MjQpO1xuXG4gIC0tY29sb3ItY3lhbi01MDogb2tsY2goOTguNCUgMC4wMTkgMjAwLjg3Myk7XG4gIC0tY29sb3ItY3lhbi0xMDA6IG9rbGNoKDk1LjYlIDAuMDQ1IDIwMy4zODgpO1xuICAtLWNvbG9yLWN5YW4tMjAwOiBva2xjaCg5MS43JSAwLjA4IDIwNS4wNDEpO1xuICAtLWNvbG9yLWN5YW4tMzAwOiBva2xjaCg4Ni41JSAwLjEyNyAyMDcuMDc4KTtcbiAgLS1jb2xvci1jeWFuLTQwMDogb2tsY2goNzguOSUgMC4xNTQgMjExLjUzKTtcbiAgLS1jb2xvci1jeWFuLTUwMDogb2tsY2goNzEuNSUgMC4xNDMgMjE1LjIyMSk7XG4gIC0tY29sb3ItY3lhbi02MDA6IG9rbGNoKDYwLjklIDAuMTI2IDIyMS43MjMpO1xuICAtLWNvbG9yLWN5YW4tNzAwOiBva2xjaCg1MiUgMC4xMDUgMjIzLjEyOCk7XG4gIC0tY29sb3ItY3lhbi04MDA6IG9rbGNoKDQ1JSAwLjA4NSAyMjQuMjgzKTtcbiAgLS1jb2xvci1jeWFuLTkwMDogb2tsY2goMzkuOCUgMC4wNyAyMjcuMzkyKTtcbiAgLS1jb2xvci1jeWFuLTk1MDogb2tsY2goMzAuMiUgMC4wNTYgMjI5LjY5NSk7XG5cbiAgLS1jb2xvci1za3ktNTA6IG9rbGNoKDk3LjclIDAuMDEzIDIzNi42Mik7XG4gIC0tY29sb3Itc2t5LTEwMDogb2tsY2goOTUuMSUgMC4wMjYgMjM2LjgyNCk7XG4gIC0tY29sb3Itc2t5LTIwMDogb2tsY2goOTAuMSUgMC4wNTggMjMwLjkwMik7XG4gIC0tY29sb3Itc2t5LTMwMDogb2tsY2goODIuOCUgMC4xMTEgMjMwLjMxOCk7XG4gIC0tY29sb3Itc2t5LTQwMDogb2tsY2goNzQuNiUgMC4xNiAyMzIuNjYxKTtcbiAgLS1jb2xvci1za3ktNTAwOiBva2xjaCg2OC41JSAwLjE2OSAyMzcuMzIzKTtcbiAgLS1jb2xvci1za3ktNjAwOiBva2xjaCg1OC44JSAwLjE1OCAyNDEuOTY2KTtcbiAgLS1jb2xvci1za3ktNzAwOiBva2xjaCg1MCUgMC4xMzQgMjQyLjc0OSk7XG4gIC0tY29sb3Itc2t5LTgwMDogb2tsY2goNDQuMyUgMC4xMSAyNDAuNzkpO1xuICAtLWNvbG9yLXNreS05MDA6IG9rbGNoKDM5LjElIDAuMDkgMjQwLjg3Nik7XG4gIC0tY29sb3Itc2t5LTk1MDogb2tsY2goMjkuMyUgMC4wNjYgMjQzLjE1Nyk7XG5cbiAgLS1jb2xvci1ibHVlLTUwOiBva2xjaCg5NyUgMC4wMTQgMjU0LjYwNCk7XG4gIC0tY29sb3ItYmx1ZS0xMDA6IG9rbGNoKDkzLjIlIDAuMDMyIDI1NS41ODUpO1xuICAtLWNvbG9yLWJsdWUtMjAwOiBva2xjaCg4OC4yJSAwLjA1OSAyNTQuMTI4KTtcbiAgLS1jb2xvci1ibHVlLTMwMDogb2tsY2goODAuOSUgMC4xMDUgMjUxLjgxMyk7XG4gIC0tY29sb3ItYmx1ZS00MDA6IG9rbGNoKDcwLjclIDAuMTY1IDI1NC42MjQpO1xuICAtLWNvbG9yLWJsdWUtNTAwOiBva2xjaCg2Mi4zJSAwLjIxNCAyNTkuODE1KTtcbiAgLS1jb2xvci1ibHVlLTYwMDogb2tsY2goNTQuNiUgMC4yNDUgMjYyLjg4MSk7XG4gIC0tY29sb3ItYmx1ZS03MDA6IG9rbGNoKDQ4LjglIDAuMjQzIDI2NC4zNzYpO1xuICAtLWNvbG9yLWJsdWUtODAwOiBva2xjaCg0Mi40JSAwLjE5OSAyNjUuNjM4KTtcbiAgLS1jb2xvci1ibHVlLTkwMDogb2tsY2goMzcuOSUgMC4xNDYgMjY1LjUyMik7XG4gIC0tY29sb3ItYmx1ZS05NTA6IG9rbGNoKDI4LjIlIDAuMDkxIDI2Ny45MzUpO1xuXG4gIC0tY29sb3ItaW5kaWdvLTUwOiBva2xjaCg5Ni4yJSAwLjAxOCAyNzIuMzE0KTtcbiAgLS1jb2xvci1pbmRpZ28tMTAwOiBva2xjaCg5MyUgMC4wMzQgMjcyLjc4OCk7XG4gIC0tY29sb3ItaW5kaWdvLTIwMDogb2tsY2goODclIDAuMDY1IDI3NC4wMzkpO1xuICAtLWNvbG9yLWluZGlnby0zMDA6IG9rbGNoKDc4LjUlIDAuMTE1IDI3NC43MTMpO1xuICAtLWNvbG9yLWluZGlnby00MDA6IG9rbGNoKDY3LjMlIDAuMTgyIDI3Ni45MzUpO1xuICAtLWNvbG9yLWluZGlnby01MDA6IG9rbGNoKDU4LjUlIDAuMjMzIDI3Ny4xMTcpO1xuICAtLWNvbG9yLWluZGlnby02MDA6IG9rbGNoKDUxLjElIDAuMjYyIDI3Ni45NjYpO1xuICAtLWNvbG9yLWluZGlnby03MDA6IG9rbGNoKDQ1LjclIDAuMjQgMjc3LjAyMyk7XG4gIC0tY29sb3ItaW5kaWdvLTgwMDogb2tsY2goMzkuOCUgMC4xOTUgMjc3LjM2Nik7XG4gIC0tY29sb3ItaW5kaWdvLTkwMDogb2tsY2goMzUuOSUgMC4xNDQgMjc4LjY5Nyk7XG4gIC0tY29sb3ItaW5kaWdvLTk1MDogb2tsY2goMjUuNyUgMC4wOSAyODEuMjg4KTtcblxuICAtLWNvbG9yLXZpb2xldC01MDogb2tsY2goOTYuOSUgMC4wMTYgMjkzLjc1Nik7XG4gIC0tY29sb3ItdmlvbGV0LTEwMDogb2tsY2goOTQuMyUgMC4wMjkgMjk0LjU4OCk7XG4gIC0tY29sb3ItdmlvbGV0LTIwMDogb2tsY2goODkuNCUgMC4wNTcgMjkzLjI4Myk7XG4gIC0tY29sb3ItdmlvbGV0LTMwMDogb2tsY2goODEuMSUgMC4xMTEgMjkzLjU3MSk7XG4gIC0tY29sb3ItdmlvbGV0LTQwMDogb2tsY2goNzAuMiUgMC4xODMgMjkzLjU0MSk7XG4gIC0tY29sb3ItdmlvbGV0LTUwMDogb2tsY2goNjAuNiUgMC4yNSAyOTIuNzE3KTtcbiAgLS1jb2xvci12aW9sZXQtNjAwOiBva2xjaCg1NC4xJSAwLjI4MSAyOTMuMDA5KTtcbiAgLS1jb2xvci12aW9sZXQtNzAwOiBva2xjaCg0OS4xJSAwLjI3IDI5Mi41ODEpO1xuICAtLWNvbG9yLXZpb2xldC04MDA6IG9rbGNoKDQzLjIlIDAuMjMyIDI5Mi43NTkpO1xuICAtLWNvbG9yLXZpb2xldC05MDA6IG9rbGNoKDM4JSAwLjE4OSAyOTMuNzQ1KTtcbiAgLS1jb2xvci12aW9sZXQtOTUwOiBva2xjaCgyOC4zJSAwLjE0MSAyOTEuMDg5KTtcblxuICAtLWNvbG9yLXB1cnBsZS01MDogb2tsY2goOTcuNyUgMC4wMTQgMzA4LjI5OSk7XG4gIC0tY29sb3ItcHVycGxlLTEwMDogb2tsY2goOTQuNiUgMC4wMzMgMzA3LjE3NCk7XG4gIC0tY29sb3ItcHVycGxlLTIwMDogb2tsY2goOTAuMiUgMC4wNjMgMzA2LjcwMyk7XG4gIC0tY29sb3ItcHVycGxlLTMwMDogb2tsY2goODIuNyUgMC4xMTkgMzA2LjM4Myk7XG4gIC0tY29sb3ItcHVycGxlLTQwMDogb2tsY2goNzEuNCUgMC4yMDMgMzA1LjUwNCk7XG4gIC0tY29sb3ItcHVycGxlLTUwMDogb2tsY2goNjIuNyUgMC4yNjUgMzAzLjkpO1xuICAtLWNvbG9yLXB1cnBsZS02MDA6IG9rbGNoKDU1LjglIDAuMjg4IDMwMi4zMjEpO1xuICAtLWNvbG9yLXB1cnBsZS03MDA6IG9rbGNoKDQ5LjYlIDAuMjY1IDMwMS45MjQpO1xuICAtLWNvbG9yLXB1cnBsZS04MDA6IG9rbGNoKDQzLjglIDAuMjE4IDMwMy43MjQpO1xuICAtLWNvbG9yLXB1cnBsZS05MDA6IG9rbGNoKDM4LjElIDAuMTc2IDMwNC45ODcpO1xuICAtLWNvbG9yLXB1cnBsZS05NTA6IG9rbGNoKDI5LjElIDAuMTQ5IDMwMi43MTcpO1xuXG4gIC0tY29sb3ItZnVjaHNpYS01MDogb2tsY2goOTcuNyUgMC4wMTcgMzIwLjA1OCk7XG4gIC0tY29sb3ItZnVjaHNpYS0xMDA6IG9rbGNoKDk1LjIlIDAuMDM3IDMxOC44NTIpO1xuICAtLWNvbG9yLWZ1Y2hzaWEtMjAwOiBva2xjaCg5MC4zJSAwLjA3NiAzMTkuNjIpO1xuICAtLWNvbG9yLWZ1Y2hzaWEtMzAwOiBva2xjaCg4My4zJSAwLjE0NSAzMjEuNDM0KTtcbiAgLS1jb2xvci1mdWNoc2lhLTQwMDogb2tsY2goNzQlIDAuMjM4IDMyMi4xNik7XG4gIC0tY29sb3ItZnVjaHNpYS01MDA6IG9rbGNoKDY2LjclIDAuMjk1IDMyMi4xNSk7XG4gIC0tY29sb3ItZnVjaHNpYS02MDA6IG9rbGNoKDU5LjElIDAuMjkzIDMyMi44OTYpO1xuICAtLWNvbG9yLWZ1Y2hzaWEtNzAwOiBva2xjaCg1MS44JSAwLjI1MyAzMjMuOTQ5KTtcbiAgLS1jb2xvci1mdWNoc2lhLTgwMDogb2tsY2goNDUuMiUgMC4yMTEgMzI0LjU5MSk7XG4gIC0tY29sb3ItZnVjaHNpYS05MDA6IG9rbGNoKDQwLjElIDAuMTcgMzI1LjYxMik7XG4gIC0tY29sb3ItZnVjaHNpYS05NTA6IG9rbGNoKDI5LjMlIDAuMTM2IDMyNS42NjEpO1xuXG4gIC0tY29sb3ItcGluay01MDogb2tsY2goOTcuMSUgMC4wMTQgMzQzLjE5OCk7XG4gIC0tY29sb3ItcGluay0xMDA6IG9rbGNoKDk0LjglIDAuMDI4IDM0Mi4yNTgpO1xuICAtLWNvbG9yLXBpbmstMjAwOiBva2xjaCg4OS45JSAwLjA2MSAzNDMuMjMxKTtcbiAgLS1jb2xvci1waW5rLTMwMDogb2tsY2goODIuMyUgMC4xMiAzNDYuMDE4KTtcbiAgLS1jb2xvci1waW5rLTQwMDogb2tsY2goNzEuOCUgMC4yMDIgMzQ5Ljc2MSk7XG4gIC0tY29sb3ItcGluay01MDA6IG9rbGNoKDY1LjYlIDAuMjQxIDM1NC4zMDgpO1xuICAtLWNvbG9yLXBpbmstNjAwOiBva2xjaCg1OS4yJSAwLjI0OSAwLjU4NCk7XG4gIC0tY29sb3ItcGluay03MDA6IG9rbGNoKDUyLjUlIDAuMjIzIDMuOTU4KTtcbiAgLS1jb2xvci1waW5rLTgwMDogb2tsY2goNDUuOSUgMC4xODcgMy44MTUpO1xuICAtLWNvbG9yLXBpbmstOTAwOiBva2xjaCg0MC44JSAwLjE1MyAyLjQzMik7XG4gIC0tY29sb3ItcGluay05NTA6IG9rbGNoKDI4LjQlIDAuMTA5IDMuOTA3KTtcblxuICAtLWNvbG9yLXJvc2UtNTA6IG9rbGNoKDk2LjklIDAuMDE1IDEyLjQyMik7XG4gIC0tY29sb3Itcm9zZS0xMDA6IG9rbGNoKDk0LjElIDAuMDMgMTIuNTgpO1xuICAtLWNvbG9yLXJvc2UtMjAwOiBva2xjaCg4OS4yJSAwLjA1OCAxMC4wMDEpO1xuICAtLWNvbG9yLXJvc2UtMzAwOiBva2xjaCg4MSUgMC4xMTcgMTEuNjM4KTtcbiAgLS1jb2xvci1yb3NlLTQwMDogb2tsY2goNzEuMiUgMC4xOTQgMTMuNDI4KTtcbiAgLS1jb2xvci1yb3NlLTUwMDogb2tsY2goNjQuNSUgMC4yNDYgMTYuNDM5KTtcbiAgLS1jb2xvci1yb3NlLTYwMDogb2tsY2goNTguNiUgMC4yNTMgMTcuNTg1KTtcbiAgLS1jb2xvci1yb3NlLTcwMDogb2tsY2goNTEuNCUgMC4yMjIgMTYuOTM1KTtcbiAgLS1jb2xvci1yb3NlLTgwMDogb2tsY2goNDUuNSUgMC4xODggMTMuNjk3KTtcbiAgLS1jb2xvci1yb3NlLTkwMDogb2tsY2goNDElIDAuMTU5IDEwLjI3Mik7XG4gIC0tY29sb3Itcm9zZS05NTA6IG9rbGNoKDI3LjElIDAuMTA1IDEyLjA5NCk7XG5cbiAgLS1jb2xvci1zbGF0ZS01MDogb2tsY2goOTguNCUgMC4wMDMgMjQ3Ljg1OCk7XG4gIC0tY29sb3Itc2xhdGUtMTAwOiBva2xjaCg5Ni44JSAwLjAwNyAyNDcuODk2KTtcbiAgLS1jb2xvci1zbGF0ZS0yMDA6IG9rbGNoKDkyLjklIDAuMDEzIDI1NS41MDgpO1xuICAtLWNvbG9yLXNsYXRlLTMwMDogb2tsY2goODYuOSUgMC4wMjIgMjUyLjg5NCk7XG4gIC0tY29sb3Itc2xhdGUtNDAwOiBva2xjaCg3MC40JSAwLjA0IDI1Ni43ODgpO1xuICAtLWNvbG9yLXNsYXRlLTUwMDogb2tsY2goNTUuNCUgMC4wNDYgMjU3LjQxNyk7XG4gIC0tY29sb3Itc2xhdGUtNjAwOiBva2xjaCg0NC42JSAwLjA0MyAyNTcuMjgxKTtcbiAgLS1jb2xvci1zbGF0ZS03MDA6IG9rbGNoKDM3LjIlIDAuMDQ0IDI1Ny4yODcpO1xuICAtLWNvbG9yLXNsYXRlLTgwMDogb2tsY2goMjcuOSUgMC4wNDEgMjYwLjAzMSk7XG4gIC0tY29sb3Itc2xhdGUtOTAwOiBva2xjaCgyMC44JSAwLjA0MiAyNjUuNzU1KTtcbiAgLS1jb2xvci1zbGF0ZS05NTA6IG9rbGNoKDEyLjklIDAuMDQyIDI2NC42OTUpO1xuXG4gIC0tY29sb3ItZ3JheS01MDogb2tsY2goOTguNSUgMC4wMDIgMjQ3LjgzOSk7XG4gIC0tY29sb3ItZ3JheS0xMDA6IG9rbGNoKDk2LjclIDAuMDAzIDI2NC41NDIpO1xuICAtLWNvbG9yLWdyYXktMjAwOiBva2xjaCg5Mi44JSAwLjAwNiAyNjQuNTMxKTtcbiAgLS1jb2xvci1ncmF5LTMwMDogb2tsY2goODcuMiUgMC4wMSAyNTguMzM4KTtcbiAgLS1jb2xvci1ncmF5LTQwMDogb2tsY2goNzAuNyUgMC4wMjIgMjYxLjMyNSk7XG4gIC0tY29sb3ItZ3JheS01MDA6IG9rbGNoKDU1LjElIDAuMDI3IDI2NC4zNjQpO1xuICAtLWNvbG9yLWdyYXktNjAwOiBva2xjaCg0NC42JSAwLjAzIDI1Ni44MDIpO1xuICAtLWNvbG9yLWdyYXktNzAwOiBva2xjaCgzNy4zJSAwLjAzNCAyNTkuNzMzKTtcbiAgLS1jb2xvci1ncmF5LTgwMDogb2tsY2goMjcuOCUgMC4wMzMgMjU2Ljg0OCk7XG4gIC0tY29sb3ItZ3JheS05MDA6IG9rbGNoKDIxJSAwLjAzNCAyNjQuNjY1KTtcbiAgLS1jb2xvci1ncmF5LTk1MDogb2tsY2goMTMlIDAuMDI4IDI2MS42OTIpO1xuXG4gIC0tY29sb3ItemluYy01MDogb2tsY2goOTguNSUgMCAwKTtcbiAgLS1jb2xvci16aW5jLTEwMDogb2tsY2goOTYuNyUgMC4wMDEgMjg2LjM3NSk7XG4gIC0tY29sb3ItemluYy0yMDA6IG9rbGNoKDkyJSAwLjAwNCAyODYuMzIpO1xuICAtLWNvbG9yLXppbmMtMzAwOiBva2xjaCg4Ny4xJSAwLjAwNiAyODYuMjg2KTtcbiAgLS1jb2xvci16aW5jLTQwMDogb2tsY2goNzAuNSUgMC4wMTUgMjg2LjA2Nyk7XG4gIC0tY29sb3ItemluYy01MDA6IG9rbGNoKDU1LjIlIDAuMDE2IDI4NS45MzgpO1xuICAtLWNvbG9yLXppbmMtNjAwOiBva2xjaCg0NC4yJSAwLjAxNyAyODUuNzg2KTtcbiAgLS1jb2xvci16aW5jLTcwMDogb2tsY2goMzclIDAuMDEzIDI4NS44MDUpO1xuICAtLWNvbG9yLXppbmMtODAwOiBva2xjaCgyNy40JSAwLjAwNiAyODYuMDMzKTtcbiAgLS1jb2xvci16aW5jLTkwMDogb2tsY2goMjElIDAuMDA2IDI4NS44ODUpO1xuICAtLWNvbG9yLXppbmMtOTUwOiBva2xjaCgxNC4xJSAwLjAwNSAyODUuODIzKTtcblxuICAtLWNvbG9yLW5ldXRyYWwtNTA6IG9rbGNoKDk4LjUlIDAgMCk7XG4gIC0tY29sb3ItbmV1dHJhbC0xMDA6IG9rbGNoKDk3JSAwIDApO1xuICAtLWNvbG9yLW5ldXRyYWwtMjAwOiBva2xjaCg5Mi4yJSAwIDApO1xuICAtLWNvbG9yLW5ldXRyYWwtMzAwOiBva2xjaCg4NyUgMCAwKTtcbiAgLS1jb2xvci1uZXV0cmFsLTQwMDogb2tsY2goNzAuOCUgMCAwKTtcbiAgLS1jb2xvci1uZXV0cmFsLTUwMDogb2tsY2goNTUuNiUgMCAwKTtcbiAgLS1jb2xvci1uZXV0cmFsLTYwMDogb2tsY2goNDMuOSUgMCAwKTtcbiAgLS1jb2xvci1uZXV0cmFsLTcwMDogb2tsY2goMzcuMSUgMCAwKTtcbiAgLS1jb2xvci1uZXV0cmFsLTgwMDogb2tsY2goMjYuOSUgMCAwKTtcbiAgLS1jb2xvci1uZXV0cmFsLTkwMDogb2tsY2goMjAuNSUgMCAwKTtcbiAgLS1jb2xvci1uZXV0cmFsLTk1MDogb2tsY2goMTQuNSUgMCAwKTtcblxuICAtLWNvbG9yLXN0b25lLTUwOiBva2xjaCg5OC41JSAwLjAwMSAxMDYuNDIzKTtcbiAgLS1jb2xvci1zdG9uZS0xMDA6IG9rbGNoKDk3JSAwLjAwMSAxMDYuNDI0KTtcbiAgLS1jb2xvci1zdG9uZS0yMDA6IG9rbGNoKDkyLjMlIDAuMDAzIDQ4LjcxNyk7XG4gIC0tY29sb3Itc3RvbmUtMzAwOiBva2xjaCg4Ni45JSAwLjAwNSA1Ni4zNjYpO1xuICAtLWNvbG9yLXN0b25lLTQwMDogb2tsY2goNzAuOSUgMC4wMSA1Ni4yNTkpO1xuICAtLWNvbG9yLXN0b25lLTUwMDogb2tsY2goNTUuMyUgMC4wMTMgNTguMDcxKTtcbiAgLS1jb2xvci1zdG9uZS02MDA6IG9rbGNoKDQ0LjQlIDAuMDExIDczLjYzOSk7XG4gIC0tY29sb3Itc3RvbmUtNzAwOiBva2xjaCgzNy40JSAwLjAxIDY3LjU1OCk7XG4gIC0tY29sb3Itc3RvbmUtODAwOiBva2xjaCgyNi44JSAwLjAwNyAzNC4yOTgpO1xuICAtLWNvbG9yLXN0b25lLTkwMDogb2tsY2goMjEuNiUgMC4wMDYgNTYuMDQzKTtcbiAgLS1jb2xvci1zdG9uZS05NTA6IG9rbGNoKDE0LjclIDAuMDA0IDQ5LjI1KTtcblxuICAtLWNvbG9yLW1hdXZlLTUwOiBva2xjaCg5OC41JSAwIDApO1xuICAtLWNvbG9yLW1hdXZlLTEwMDogb2tsY2goOTYlIDAuMDAzIDMyNS42KTtcbiAgLS1jb2xvci1tYXV2ZS0yMDA6IG9rbGNoKDkyLjIlIDAuMDA1IDMyNS42Mik7XG4gIC0tY29sb3ItbWF1dmUtMzAwOiBva2xjaCg4Ni41JSAwLjAxMiAzMjUuNjgpO1xuICAtLWNvbG9yLW1hdXZlLTQwMDogb2tsY2goNzEuMSUgMC4wMTkgMzIzLjAyKTtcbiAgLS1jb2xvci1tYXV2ZS01MDA6IG9rbGNoKDU0LjIlIDAuMDM0IDMyMi41KTtcbiAgLS1jb2xvci1tYXV2ZS02MDA6IG9rbGNoKDQzLjUlIDAuMDI5IDMyMS43OCk7XG4gIC0tY29sb3ItbWF1dmUtNzAwOiBva2xjaCgzNi40JSAwLjAyOSAzMjMuODkpO1xuICAtLWNvbG9yLW1hdXZlLTgwMDogb2tsY2goMjYuMyUgMC4wMjQgMzIwLjEyKTtcbiAgLS1jb2xvci1tYXV2ZS05MDA6IG9rbGNoKDIxLjIlIDAuMDE5IDMyMi4xMik7XG4gIC0tY29sb3ItbWF1dmUtOTUwOiBva2xjaCgxNC41JSAwLjAwOCAzMjYpO1xuXG4gIC0tY29sb3Itb2xpdmUtNTA6IG9rbGNoKDk4LjglIDAuMDAzIDEwNi41KTtcbiAgLS1jb2xvci1vbGl2ZS0xMDA6IG9rbGNoKDk2LjYlIDAuMDA1IDEwNi41KTtcbiAgLS1jb2xvci1vbGl2ZS0yMDA6IG9rbGNoKDkzJSAwLjAwNyAxMDYuNSk7XG4gIC0tY29sb3Itb2xpdmUtMzAwOiBva2xjaCg4OCUgMC4wMTEgMTA2LjYpO1xuICAtLWNvbG9yLW9saXZlLTQwMDogb2tsY2goNzMuNyUgMC4wMjEgMTA2LjkpO1xuICAtLWNvbG9yLW9saXZlLTUwMDogb2tsY2goNTglIDAuMDMxIDEwNy4zKTtcbiAgLS1jb2xvci1vbGl2ZS02MDA6IG9rbGNoKDQ2LjYlIDAuMDI1IDEwNy4zKTtcbiAgLS1jb2xvci1vbGl2ZS03MDA6IG9rbGNoKDM5LjQlIDAuMDIzIDEwNy40KTtcbiAgLS1jb2xvci1vbGl2ZS04MDA6IG9rbGNoKDI4LjYlIDAuMDE2IDEwNy40KTtcbiAgLS1jb2xvci1vbGl2ZS05MDA6IG9rbGNoKDIyLjglIDAuMDEzIDEwNy40KTtcbiAgLS1jb2xvci1vbGl2ZS05NTA6IG9rbGNoKDE1LjMlIDAuMDA2IDEwNy4xKTtcblxuICAtLWNvbG9yLW1pc3QtNTA6IG9rbGNoKDk4LjclIDAuMDAyIDE5Ny4xKTtcbiAgLS1jb2xvci1taXN0LTEwMDogb2tsY2goOTYuMyUgMC4wMDIgMTk3LjEpO1xuICAtLWNvbG9yLW1pc3QtMjAwOiBva2xjaCg5Mi41JSAwLjAwNSAyMTQuMyk7XG4gIC0tY29sb3ItbWlzdC0zMDA6IG9rbGNoKDg3LjIlIDAuMDA3IDIxOS42KTtcbiAgLS1jb2xvci1taXN0LTQwMDogb2tsY2goNzIuMyUgMC4wMTQgMjE0LjQpO1xuICAtLWNvbG9yLW1pc3QtNTAwOiBva2xjaCg1NiUgMC4wMjEgMjEzLjUpO1xuICAtLWNvbG9yLW1pc3QtNjAwOiBva2xjaCg0NSUgMC4wMTcgMjEzLjIpO1xuICAtLWNvbG9yLW1pc3QtNzAwOiBva2xjaCgzNy44JSAwLjAxNSAyMTYpO1xuICAtLWNvbG9yLW1pc3QtODAwOiBva2xjaCgyNy41JSAwLjAxMSAyMTYuOSk7XG4gIC0tY29sb3ItbWlzdC05MDA6IG9rbGNoKDIxLjglIDAuMDA4IDIyMy45KTtcbiAgLS1jb2xvci1taXN0LTk1MDogb2tsY2goMTQuOCUgMC4wMDQgMjI4LjgpO1xuXG4gIC0tY29sb3ItdGF1cGUtNTA6IG9rbGNoKDk4LjYlIDAuMDAyIDY3LjgpO1xuICAtLWNvbG9yLXRhdXBlLTEwMDogb2tsY2goOTYlIDAuMDAyIDE3LjIpO1xuICAtLWNvbG9yLXRhdXBlLTIwMDogb2tsY2goOTIuMiUgMC4wMDUgMzQuMyk7XG4gIC0tY29sb3ItdGF1cGUtMzAwOiBva2xjaCg4Ni44JSAwLjAwNyAzOS41KTtcbiAgLS1jb2xvci10YXVwZS00MDA6IG9rbGNoKDcxLjQlIDAuMDE0IDQxLjIpO1xuICAtLWNvbG9yLXRhdXBlLTUwMDogb2tsY2goNTQuNyUgMC4wMjEgNDMuMSk7XG4gIC0tY29sb3ItdGF1cGUtNjAwOiBva2xjaCg0My44JSAwLjAxNyAzOS4zKTtcbiAgLS1jb2xvci10YXVwZS03MDA6IG9rbGNoKDM2LjclIDAuMDE2IDM1LjcpO1xuICAtLWNvbG9yLXRhdXBlLTgwMDogb2tsY2goMjYuOCUgMC4wMTEgMzYuNSk7XG4gIC0tY29sb3ItdGF1cGUtOTAwOiBva2xjaCgyMS40JSAwLjAwOSA0My4xKTtcbiAgLS1jb2xvci10YXVwZS05NTA6IG9rbGNoKDE0LjclIDAuMDA0IDQ5LjMpO1xuXG4gIC0tY29sb3ItYmxhY2s6ICMwMDA7XG4gIC0tY29sb3Itd2hpdGU6ICNmZmY7XG5cbiAgLS1zcGFjaW5nOiAwLjI1cmVtO1xuXG4gIC0tYnJlYWtwb2ludC1zbTogNDByZW07XG4gIC0tYnJlYWtwb2ludC1tZDogNDhyZW07XG4gIC0tYnJlYWtwb2ludC1sZzogNjRyZW07XG4gIC0tYnJlYWtwb2ludC14bDogODByZW07XG4gIC0tYnJlYWtwb2ludC0yeGw6IDk2cmVtO1xuXG4gIC0tY29udGFpbmVyLTN4czogMTZyZW07XG4gIC0tY29udGFpbmVyLTJ4czogMThyZW07XG4gIC0tY29udGFpbmVyLXhzOiAyMHJlbTtcbiAgLS1jb250YWluZXItc206IDI0cmVtO1xuICAtLWNvbnRhaW5lci1tZDogMjhyZW07XG4gIC0tY29udGFpbmVyLWxnOiAzMnJlbTtcbiAgLS1jb250YWluZXIteGw6IDM2cmVtO1xuICAtLWNvbnRhaW5lci0yeGw6IDQycmVtO1xuICAtLWNvbnRhaW5lci0zeGw6IDQ4cmVtO1xuICAtLWNvbnRhaW5lci00eGw6IDU2cmVtO1xuICAtLWNvbnRhaW5lci01eGw6IDY0cmVtO1xuICAtLWNvbnRhaW5lci02eGw6IDcycmVtO1xuICAtLWNvbnRhaW5lci03eGw6IDgwcmVtO1xuXG4gIC0tdGV4dC14czogMC43NXJlbTtcbiAgLS10ZXh0LXhzLS1saW5lLWhlaWdodDogY2FsYygxIC8gMC43NSk7XG4gIC0tdGV4dC1zbTogMC44NzVyZW07XG4gIC0tdGV4dC1zbS0tbGluZS1oZWlnaHQ6IGNhbGMoMS4yNSAvIDAuODc1KTtcbiAgLS10ZXh0LWJhc2U6IDFyZW07XG4gIC0tdGV4dC1iYXNlLS1saW5lLWhlaWdodDogY2FsYygxLjUgLyAxKTtcbiAgLS10ZXh0LWxnOiAxLjEyNXJlbTtcbiAgLS10ZXh0LWxnLS1saW5lLWhlaWdodDogY2FsYygxLjc1IC8gMS4xMjUpO1xuICAtLXRleHQteGw6IDEuMjVyZW07XG4gIC0tdGV4dC14bC0tbGluZS1oZWlnaHQ6IGNhbGMoMS43NSAvIDEuMjUpO1xuICAtLXRleHQtMnhsOiAxLjVyZW07XG4gIC0tdGV4dC0yeGwtLWxpbmUtaGVpZ2h0OiBjYWxjKDIgLyAxLjUpO1xuICAtLXRleHQtM3hsOiAxLjg3NXJlbTtcbiAgLS10ZXh0LTN4bC0tbGluZS1oZWlnaHQ6IGNhbGMoMi4yNSAvIDEuODc1KTtcbiAgLS10ZXh0LTR4bDogMi4yNXJlbTtcbiAgLS10ZXh0LTR4bC0tbGluZS1oZWlnaHQ6IGNhbGMoMi41IC8gMi4yNSk7XG4gIC0tdGV4dC01eGw6IDNyZW07XG4gIC0tdGV4dC01eGwtLWxpbmUtaGVpZ2h0OiAxO1xuICAtLXRleHQtNnhsOiAzLjc1cmVtO1xuICAtLXRleHQtNnhsLS1saW5lLWhlaWdodDogMTtcbiAgLS10ZXh0LTd4bDogNC41cmVtO1xuICAtLXRleHQtN3hsLS1saW5lLWhlaWdodDogMTtcbiAgLS10ZXh0LTh4bDogNnJlbTtcbiAgLS10ZXh0LTh4bC0tbGluZS1oZWlnaHQ6IDE7XG4gIC0tdGV4dC05eGw6IDhyZW07XG4gIC0tdGV4dC05eGwtLWxpbmUtaGVpZ2h0OiAxO1xuXG4gIC0tZm9udC13ZWlnaHQtdGhpbjogMTAwO1xuICAtLWZvbnQtd2VpZ2h0LWV4dHJhbGlnaHQ6IDIwMDtcbiAgLS1mb250LXdlaWdodC1saWdodDogMzAwO1xuICAtLWZvbnQtd2VpZ2h0LW5vcm1hbDogNDAwO1xuICAtLWZvbnQtd2VpZ2h0LW1lZGl1bTogNTAwO1xuICAtLWZvbnQtd2VpZ2h0LXNlbWlib2xkOiA2MDA7XG4gIC0tZm9udC13ZWlnaHQtYm9sZDogNzAwO1xuICAtLWZvbnQtd2VpZ2h0LWV4dHJhYm9sZDogODAwO1xuICAtLWZvbnQtd2VpZ2h0LWJsYWNrOiA5MDA7XG5cbiAgLS10cmFja2luZy10aWdodGVyOiAtMC4wNWVtO1xuICAtLXRyYWNraW5nLXRpZ2h0OiAtMC4wMjVlbTtcbiAgLS10cmFja2luZy1ub3JtYWw6IDBlbTtcbiAgLS10cmFja2luZy13aWRlOiAwLjAyNWVtO1xuICAtLXRyYWNraW5nLXdpZGVyOiAwLjA1ZW07XG4gIC0tdHJhY2tpbmctd2lkZXN0OiAwLjFlbTtcblxuICAtLWxlYWRpbmctdGlnaHQ6IDEuMjU7XG4gIC0tbGVhZGluZy1zbnVnOiAxLjM3NTtcbiAgLS1sZWFkaW5nLW5vcm1hbDogMS41O1xuICAtLWxlYWRpbmctcmVsYXhlZDogMS42MjU7XG4gIC0tbGVhZGluZy1sb29zZTogMjtcblxuICAtLXJhZGl1cy14czogMC4xMjVyZW07XG4gIC0tcmFkaXVzLXNtOiAwLjI1cmVtO1xuICAtLXJhZGl1cy1tZDogMC4zNzVyZW07XG4gIC0tcmFkaXVzLWxnOiAwLjVyZW07XG4gIC0tcmFkaXVzLXhsOiAwLjc1cmVtO1xuICAtLXJhZGl1cy0yeGw6IDFyZW07XG4gIC0tcmFkaXVzLTN4bDogMS41cmVtO1xuICAtLXJhZGl1cy00eGw6IDJyZW07XG5cbiAgLS1zaGFkb3ctMnhzOiAwIDFweCByZ2IoMCAwIDAgLyAwLjA1KTtcbiAgLS1zaGFkb3cteHM6IDAgMXB4IDJweCAwIHJnYigwIDAgMCAvIDAuMDUpO1xuICAtLXNoYWRvdy1zbTogMCAxcHggM3B4IDAgcmdiKDAgMCAwIC8gMC4xKSwgMCAxcHggMnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKTtcbiAgLS1zaGFkb3ctbWQ6IDAgNHB4IDZweCAtMXB4IHJnYigwIDAgMCAvIDAuMSksIDAgMnB4IDRweCAtMnB4IHJnYigwIDAgMCAvIDAuMSk7XG4gIC0tc2hhZG93LWxnOiAwIDEwcHggMTVweCAtM3B4IHJnYigwIDAgMCAvIDAuMSksIDAgNHB4IDZweCAtNHB4IHJnYigwIDAgMCAvIDAuMSk7XG4gIC0tc2hhZG93LXhsOiAwIDIwcHggMjVweCAtNXB4IHJnYigwIDAgMCAvIDAuMSksIDAgOHB4IDEwcHggLTZweCByZ2IoMCAwIDAgLyAwLjEpO1xuICAtLXNoYWRvdy0yeGw6IDAgMjVweCA1MHB4IC0xMnB4IHJnYigwIDAgMCAvIDAuMjUpO1xuXG4gIC0taW5zZXQtc2hhZG93LTJ4czogaW5zZXQgMCAxcHggcmdiKDAgMCAwIC8gMC4wNSk7XG4gIC0taW5zZXQtc2hhZG93LXhzOiBpbnNldCAwIDFweCAxcHggcmdiKDAgMCAwIC8gMC4wNSk7XG4gIC0taW5zZXQtc2hhZG93LXNtOiBpbnNldCAwIDJweCA0cHggcmdiKDAgMCAwIC8gMC4wNSk7XG5cbiAgLS1kcm9wLXNoYWRvdy14czogMCAxcHggMXB4IHJnYigwIDAgMCAvIDAuMDUpO1xuICAtLWRyb3Atc2hhZG93LXNtOiAwIDFweCAycHggcmdiKDAgMCAwIC8gMC4xNSk7XG4gIC0tZHJvcC1zaGFkb3ctbWQ6IDAgM3B4IDNweCByZ2IoMCAwIDAgLyAwLjEyKTtcbiAgLS1kcm9wLXNoYWRvdy1sZzogMCA0cHggNHB4IHJnYigwIDAgMCAvIDAuMTUpO1xuICAtLWRyb3Atc2hhZG93LXhsOiAwIDlweCA3cHggcmdiKDAgMCAwIC8gMC4xKTtcbiAgLS1kcm9wLXNoYWRvdy0yeGw6IDAgMjVweCAyNXB4IHJnYigwIDAgMCAvIDAuMTUpO1xuXG4gIC0tdGV4dC1zaGFkb3ctMnhzOiAwcHggMXB4IDBweCByZ2IoMCAwIDAgLyAwLjE1KTtcbiAgLS10ZXh0LXNoYWRvdy14czogMHB4IDFweCAxcHggcmdiKDAgMCAwIC8gMC4yKTtcbiAgLS10ZXh0LXNoYWRvdy1zbTpcbiAgICAwcHggMXB4IDBweCByZ2IoMCAwIDAgLyAwLjA3NSksIDBweCAxcHggMXB4IHJnYigwIDAgMCAvIDAuMDc1KSwgMHB4IDJweCAycHggcmdiKDAgMCAwIC8gMC4wNzUpO1xuICAtLXRleHQtc2hhZG93LW1kOlxuICAgIDBweCAxcHggMXB4IHJnYigwIDAgMCAvIDAuMSksIDBweCAxcHggMnB4IHJnYigwIDAgMCAvIDAuMSksIDBweCAycHggNHB4IHJnYigwIDAgMCAvIDAuMSk7XG4gIC0tdGV4dC1zaGFkb3ctbGc6XG4gICAgMHB4IDFweCAycHggcmdiKDAgMCAwIC8gMC4xKSwgMHB4IDNweCAycHggcmdiKDAgMCAwIC8gMC4xKSwgMHB4IDRweCA4cHggcmdiKDAgMCAwIC8gMC4xKTtcblxuICAtLWVhc2UtaW46IGN1YmljLWJlemllcigwLjQsIDAsIDEsIDEpO1xuICAtLWVhc2Utb3V0OiBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbiAgLS1lYXNlLWluLW91dDogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcblxuICAtLWFuaW1hdGUtc3Bpbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XG4gIC0tYW5pbWF0ZS1waW5nOiBwaW5nIDFzIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpIGluZmluaXRlO1xuICAtLWFuaW1hdGUtcHVsc2U6IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG4gIC0tYW5pbWF0ZS1ib3VuY2U6IGJvdW5jZSAxcyBpbmZpbml0ZTtcblxuICBAa2V5ZnJhbWVzIHNwaW4ge1xuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxuICB9XG5cbiAgQGtleWZyYW1lcyBwaW5nIHtcbiAgICA3NSUsXG4gICAgMTAwJSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDIpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIHB1bHNlIHtcbiAgICA1MCUge1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgYm91bmNlIHtcbiAgICAwJSxcbiAgICAxMDAlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUlKTtcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjgsIDAsIDEsIDEpO1xuICAgIH1cblxuICAgIDUwJSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbiAgICB9XG4gIH1cblxuICAtLWJsdXIteHM6IDRweDtcbiAgLS1ibHVyLXNtOiA4cHg7XG4gIC0tYmx1ci1tZDogMTJweDtcbiAgLS1ibHVyLWxnOiAxNnB4O1xuICAtLWJsdXIteGw6IDI0cHg7XG4gIC0tYmx1ci0yeGw6IDQwcHg7XG4gIC0tYmx1ci0zeGw6IDY0cHg7XG5cbiAgLS1wZXJzcGVjdGl2ZS1kcmFtYXRpYzogMTAwcHg7XG4gIC0tcGVyc3BlY3RpdmUtbmVhcjogMzAwcHg7XG4gIC0tcGVyc3BlY3RpdmUtbm9ybWFsOiA1MDBweDtcbiAgLS1wZXJzcGVjdGl2ZS1taWRyYW5nZTogODAwcHg7XG4gIC0tcGVyc3BlY3RpdmUtZGlzdGFudDogMTIwMHB4O1xuXG4gIC0tYXNwZWN0LXZpZGVvOiAxNiAvIDk7XG5cbiAgLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zO1xuICAtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIC0tZGVmYXVsdC1mb250LWZhbWlseTogLS10aGVtZSgtLWZvbnQtc2FucywgaW5pdGlhbCk7XG4gIC0tZGVmYXVsdC1mb250LWZlYXR1cmUtc2V0dGluZ3M6IC0tdGhlbWUoLS1mb250LXNhbnMtLWZvbnQtZmVhdHVyZS1zZXR0aW5ncywgaW5pdGlhbCk7XG4gIC0tZGVmYXVsdC1mb250LXZhcmlhdGlvbi1zZXR0aW5nczogLS10aGVtZSgtLWZvbnQtc2Fucy0tZm9udC12YXJpYXRpb24tc2V0dGluZ3MsIGluaXRpYWwpO1xuICAtLWRlZmF1bHQtbW9uby1mb250LWZhbWlseTogLS10aGVtZSgtLWZvbnQtbW9ubywgaW5pdGlhbCk7XG4gIC0tZGVmYXVsdC1tb25vLWZvbnQtZmVhdHVyZS1zZXR0aW5nczogLS10aGVtZSgtLWZvbnQtbW9uby0tZm9udC1mZWF0dXJlLXNldHRpbmdzLCBpbml0aWFsKTtcbiAgLS1kZWZhdWx0LW1vbm8tZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IC0tdGhlbWUoLS1mb250LW1vbm8tLWZvbnQtdmFyaWF0aW9uLXNldHRpbmdzLCBpbml0aWFsKTtcbn1cblxuLyogRGVwcmVjYXRlZCAqL1xuQHRoZW1lIGRlZmF1bHQgaW5saW5lIHJlZmVyZW5jZSB7XG4gIC0tYmx1cjogOHB4O1xuICAtLXNoYWRvdzogMCAxcHggM3B4IDAgcmdiKDAgMCAwIC8gMC4xKSwgMCAxcHggMnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKTtcbiAgLS1zaGFkb3ctaW5uZXI6IGluc2V0IDAgMnB4IDRweCAwIHJnYigwIDAgMCAvIDAuMDUpO1xuICAtLWRyb3Atc2hhZG93OiAwIDFweCAycHggcmdiKDAgMCAwIC8gMC4xKSwgMCAxcHggMXB4IHJnYigwIDAgMCAvIDAuMDYpO1xuICAtLXJhZGl1czogMC4yNXJlbTtcbiAgLS1tYXgtd2lkdGgtcHJvc2U6IDY1Y2g7XG59XG4iXX0= */
|
|
1378
|
+
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIjxubyBzb3VyY2U+IiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3RhaWx3aW5kY3NzL3V0aWxpdGllcy5jc3MiLCIuLi9zcmMvYWRtaW4uY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3RhaWx3aW5kY3NzL3RoZW1lLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpRUFBQTtBQ0FBLGlCQUFtQjtBQ0FuQix5Q0FBMEM7QUFDMUM7RUNEQTtJQUtFO2FBRVc7SURTWCw2Q0FBOEM7SUFDOUMsK0NBQWdEO0lBRWhELCtDQUFnRDtJQUNoRCwrQ0FBZ0Q7SUFDaEQsK0NBQWdEO0lBQ2hELCtDQUFnRDtJQUNoRCwrQ0FBZ0Q7SUFDaEQsK0NBQWdEO0lBQ2hELCtDQUFnRDtJQ3lTaEQsbUJBQW1CO0lBRW5CLGtCQUFrQjtJQW9EbEIseUJBQXlCO0lBQ3pCLHlCQUF5QjtJQUN6QiwyQkFBMkI7SUFDM0IsdUJBQXVCO0lBTXZCLHNCQUFzQjtJQW9EdEIsdUNBQXVDO0lBc0R2QyxvQ0FBb0M7SUFDcEMsa0VBQWtFO0lEN2RsRSwyQ0FBNEM7SUFHNUMsK0NBQWdEO0lBUWhELGlEQUFrRDtJQUVsRCxpQ0FBa0M7SUFDbEMseUNBQTBDO0lBQzFDLHlDQUEwQztJQUMxQyxpQ0FBa0M7SUFDbEMseUNBQTBDO0lBQzFDLCtCQUFnQztJQUNoQyx1Q0FBd0M7SUFFeEMscUNBQXNDO0lBQ3RDLG1EQUFvRDtJQUNwRCwyQ0FBNEM7SUFDNUMsMkNBQTRDO0lBQzVDLHlEQUEwRDtJQUMxRCxpREFBa0Q7SUFDbEQsK0RBQWdFO0lBQ2hFLCtDQUFnRDtJQUVoRCxrQ0FBbUM7SUFDbkMsa0NBQW1DO0lBRW5DLG1HQUNvRjtJQUVwRiw2Q0FBOEM7RUNuRGpDO0FEQzhCO0FBQzdDO0VERkE7SUFBQSxvQkFBbUI7RUFBQTtFQUFuQjtJQUFBLG1CQUFtQjtFQUFBO0VBQW5CO0lBQUEsa0JBQW1CO0lBQW5CLFVBQW1CO0lBQW5CLFdBQW1CO0lBQW5CLFVBQW1CO0lBQW5CLFlBQW1CO0lBQW5CLGdCQUFtQjtJQUFuQixxQkFBbUI7SUFBbkIsbUJBQW1CO0lBQW5CLGVBQW1CO0VBQUE7RUFBbkI7SUFBQSxrQkFBbUI7RUFBQTtFQUFuQjtJQUFBLGVBQW1CO0VBQUE7RUFBbkI7SUFBQSxrQkFBbUI7RUFBQTtFQUFuQjtJQUFBLGVBQW1CO0VBQUE7RUFBbkI7SUFBQSxjQUFtQjtFQUFBO0VBQW5CO0lBQUEsOEJBQW1CO0VBQUE7RUFBbkI7SUFBQSxtQkFBbUI7RUFBQTtFQUFuQjtJQUFBLFFBQW1CO0VBQUE7RUFBbkI7SUFBQSxnQ0FBbUI7RUFBQTtFQUFuQjtJQUFBLFNBQW1CO0VBQUE7RUFBbkI7SUFBQSxXQUFtQjtFQUFBO0VBQW5CO0lBQUEsWUFBbUI7RUFBQTtFQUFuQjtJQUFBLFlBQW1CO0VBQUE7RUFBbkI7SUFBQSxXQUFtQjtJQUFuQjtNQUFBLGdCQUFtQjtJQUFBO0lBQW5CO01BQUEsZ0JBQW1CO0lBQUE7SUFBbkI7TUFBQSxnQkFBbUI7SUFBQTtJQUFuQjtNQUFBLGdCQUFtQjtJQUFBO0lBQW5CO01BQUEsZ0JBQW1CO0lBQUE7RUFBQTtFQUFuQjtJQUFBLFNBQW1CO0VBQUE7RUFBbkI7SUFBQSxrQkFBbUI7RUFBQTtFQUFuQjtJQUFBLGVBQW1CO0VBQUE7RUFBbkI7SUFBQSxlQUFtQjtFQUFBO0VBQW5CO0lBQUEsZUFBbUI7RUFBQTtFQUFuQjtJQUFBLGVBQW1CO0VBQUE7RUFBbkI7SUFBQSxnQkFBbUI7RUFBQTtFQUFuQjtJQUFBLGtCQUFtQjtFQUFBO0VBQW5CO0lBQUEsa0JBQW1CO0VBQUE7RUFBbkI7SUFBQSxrQkFBbUI7RUFBQTtFQUFuQjtJQUFBLG1CQUFtQjtFQUFBO0VBQW5CO0lBQUEsbUJBQW1CO0VBQUE7RUFBbkI7SUFBQSxzQkFBbUI7RUFBQTtFQUFuQjtJQUFBLGdCQUFtQjtJQUFuQixvQkFBbUI7SUFBbkIsNEJBQW1CO0lBQW5CLHFCQUFtQjtFQUFBO0VBQW5CO0lBQUEsY0FBbUI7RUFBQTtFQUFuQjtJQUFBLGFBQW1CO0VBQUE7RUFBbkI7SUFBQSxhQUFtQjtFQUFBO0VBQW5CO0lBQUEsYUFBbUI7RUFBQTtFQUFuQjtJQUFBLGVBQW1CO0VBQUE7RUFBbkI7SUFBQSxxQkFBbUI7RUFBQTtFQUFuQjtJQUFBLG9CQUFtQjtFQUFBO0VBQW5CO0lBQUEsY0FBbUI7RUFBQTtFQUFuQjtJQUFBLGFBQW1CO0VBQUE7RUFBbkI7SUFBQSxXQUFtQjtFQUFBO0VBQW5CO0lBQUEsV0FBbUI7RUFBQTtFQUFuQjtJQUFBLFdBQW1CO0VBQUE7RUFBbkI7SUFBQSxZQUFtQjtFQUFBO0VBQW5CO0lBQUEsWUFBbUI7RUFBQTtFQUFuQjtJQUFBLFlBQW1CO0VBQUE7RUFBbkI7SUFBQSxZQUFtQjtFQUFBO0VBQW5CO0lBQUEsWUFBbUI7RUFBQTtFQUFuQjtJQUFBLFlBQW1CO0VBQUE7RUFBbkI7SUFBQSxZQUFtQjtFQUFBO0VBQW5CO0lBQUEsWUFBbUI7RUFBQTtFQUFuQjtJQUFBLFlBQW1CO0VBQUE7RUFBbkI7SUFBQSxZQUFtQjtFQUFBO0VBQW5CO0lBQUEsK0JBQW1CO0VBQUE7RUFBbkI7SUFBQSxZQUFtQjtFQUFBO0VBQW5CO0lBQUEsZ0JBQW1CO0VBQUE7RUFBbkI7SUFBQSxZQUFtQjtFQUFBO0VBQW5CO0lBQUEsVUFBbUI7RUFBQTtFQUFuQjtJQUFBLFVBQW1CO0VBQUE7RUFBbkI7SUFBQSxVQUFtQjtFQUFBO0VBQW5CO0lBQUEsV0FBbUI7RUFBQTtFQUFuQjtJQUFBLFdBQW1CO0VBQUE7RUFBbkI7SUFBQSxXQUFtQjtFQUFBO0VBQW5CO0lBQUEsV0FBbUI7RUFBQTtFQUFuQjtJQUFBLFdBQW1CO0VBQUE7RUFBbkI7SUFBQSxXQUFtQjtFQUFBO0VBQW5CO0lBQUEsV0FBbUI7RUFBQTtFQUFuQjtJQUFBLFdBQW1CO0VBQUE7RUFBbkI7SUFBQSxXQUFtQjtFQUFBO0VBQW5CO0lBQUEsWUFBbUI7RUFBQTtFQUFuQjtJQUFBLFlBQW1CO0VBQUE7RUFBbkI7SUFBQSw4QkFBbUI7RUFBQTtFQUFuQjtJQUFBLGdCQUFtQjtFQUFBO0VBQW5CO0lBQUEsZ0JBQW1CO0VBQUE7RUFBbkI7SUFBQSxnQkFBbUI7RUFBQTtFQUFuQjtJQUFBLFlBQW1CO0VBQUE7RUFBbkI7SUFBQSxlQUFtQjtFQUFBO0VBQW5CO0lBQUEsZUFBbUI7RUFBQTtFQUFuQjtJQUFBLGVBQW1CO0VBQUE7RUFBbkI7SUFBQSxPQUFtQjtFQUFBO0VBQW5CO0lBQUEsVUFBbUI7RUFBQTtFQUFuQjtJQUFBLCtDQUFtQjtJQUFuQixzREFBbUI7RUFBQTtFQUFuQjtJQUFBLHVCQUFtQjtJQUFuQixzREFBbUI7RUFBQTtFQUFuQjtJQUFBLG1CQUFtQjtJQUFuQixzREFBbUI7RUFBQTtFQUFuQjtJQUFBLHdCQUFtQjtFQUFBO0VBQW5CO0lBQUEsMEdBQW1CO0VBQUE7RUFBbkI7SUFBQSxxQ0FBbUI7RUFBQTtFQUFuQjtJQUFBLDhCQUFtQjtFQUFBO0VBQW5CO0lBQUEsZUFBbUI7RUFBQTtFQUFuQjtJQUFBLFlBQW1CO0VBQUE7RUFBbkI7SUFBQSxlQUFtQjtFQUFBO0VBQW5CO0lBQUEsWUFBbUI7RUFBQTtFQUFuQjtJQUFBLGdEQUFtQjtFQUFBO0VBQW5CO0lBQUEsZ0RBQW1CO0VBQUE7RUFBbkI7SUFBQSxzQkFBbUI7RUFBQTtFQUFuQjtJQUFBLGVBQW1CO0VBQUE7RUFBbkI7SUFBQSxtQkFBbUI7RUFBQTtFQUFuQjtJQUFBLHFCQUFtQjtFQUFBO0VBQW5CO0lBQUEsbUJBQW1CO0VBQUE7RUFBbkI7SUFBQSw4QkFBbUI7RUFBQTtFQUFuQjtJQUFBLHVCQUFtQjtFQUFBO0VBQW5CO0lBQUEseUJBQW1CO0VBQUE7RUFBbkI7SUFBQSxRQUFtQjtFQUFBO0VBQW5CO0lBQUEsUUFBbUI7RUFBQTtFQUFuQjtJQUFBLFFBQW1CO0VBQUE7RUFBbkI7SUFBQSxRQUFtQjtFQUFBO0VBQW5CO0lBQUEsUUFBbUI7RUFBQTtFQUFuQjtJQUFBLFFBQW1CO0VBQUE7RUFBbkI7SUFBQSxRQUFtQjtFQUFBO0VBQW5CO0lBQUEsU0FBbUI7RUFBQTtFQUFuQjtJQUFBLFNBQW1CO0VBQUE7RUFBbkI7SUFBQSxTQUFtQjtFQUFBO0VBQW5CO0lBQUEsU0FBbUI7RUFBQTtFQUFuQjtJQUFBLFNBQW1CO0VBQUE7RUFBbkI7SUFBQSxTQUFtQjtFQUFBO0VBQW5CO0lBQUEsZ0JBQW1CO0VBQUE7RUFBbkI7SUFBQSxzQkFBbUI7RUFBQTtFQUFuQjtJQUFBLGdCQUFtQjtJQUFuQix1QkFBbUI7SUFBbkIsbUJBQW1CO0VBQUE7RUFBbkI7SUFBQSxnQkFBbUI7RUFBQTtFQUFuQjtJQUFBLGlCQUFtQjtFQUFBO0VBQW5CO0lBQUEsZ0JBQW1CO0VBQUE7RUFBbkI7SUFBQSxrQkFBbUI7RUFBQTtFQUFuQjtJQUFBLGtCQUFtQjtFQUFBO0VBQW5CO0lBQUEsbUJBQW1CO0VBQUE7RUFBbkI7SUFBQSxtQkFBbUI7RUFBQTtFQUFuQjtJQUFBLG1DQUFtQjtFQUFBO0VBQW5CO0lBQUEsK0JBQW1CO0VBQUE7RUFBbkI7SUFBQSwrQkFBbUI7RUFBQTtFQUFuQjtJQUFBLDJCQUFtQjtJQUFuQiw4QkFBbUI7RUFBQTtFQUFuQjtJQUFBLDRCQUFtQjtJQUFuQiwrQkFBbUI7RUFBQTtFQUFuQjtJQUFBLG9DQUFtQjtJQUFuQixpQkFBbUI7RUFBQTtFQUFuQjtJQUFBLG9DQUFtQjtJQUFuQixpQkFBbUI7RUFBQTtFQUFuQjtJQUFBLG9DQUFtQjtJQUFuQixpQkFBbUI7RUFBQTtFQUFuQjtJQUFBLHdDQUFtQjtJQUFuQixxQkFBbUI7RUFBQTtFQUFuQjtJQUFBLDJDQUFtQjtJQUFuQix3QkFBbUI7RUFBQTtFQUFuQjtJQUFBLHlCQUFtQjtJQUFuQixvQkFBbUI7RUFBQTtFQUFuQjtJQUFBLHlCQUFtQjtJQUFuQixvQkFBbUI7RUFBQTtFQUFuQjtJQUFBLHdDQUFtQjtFQUFBO0VBQW5CO0lBQUEsc0NBQW1CO0VBQUE7RUFBbkI7SUFBQSxzQ0FBbUI7RUFBQTtFQUFuQjtJQUFBLHNDQUFtQjtFQUFBO0VBQW5CO0lBQUEsc0NBQW1CO0VBQUE7RUFBbkI7SUFBQSx1Q0FBbUI7RUFBQTtFQUFuQjtJQUFBLHVDQUFtQjtFQUFBO0VBQW5CO0lBQUEsd0NBQW1CO0VBQUE7RUFBbkI7SUFBQSx5Q0FBbUI7RUFBQTtFQUFuQjtJQUFBLDBDQUFtQjtFQUFBO0VBQW5CO0lBQUEsMENBQW1CO0VBQUE7RUFBbkI7SUFBQSwwQ0FBbUI7RUFBQTtFQUFuQjtJQUFBLDBDQUFtQjtFQUFBO0VBQW5CO0lBQUEsMENBQW1CO0VBQUE7RUFBbkI7SUFBQSwyQ0FBbUI7RUFBQTtFQUFuQjtJQUFBLHNDQUFtQjtFQUFBO0VBQW5CO0lBQUEsMENBQW1CO0VBQUE7RUFBbkI7SUFBQSx1Q0FBbUI7RUFBQTtFQUFuQjtJQUFBLDJDQUFtQjtFQUFBO0VBQW5CO0lBQUEsdUNBQW1CO0VBQUE7RUFBbkI7SUFBQSwyQ0FBbUI7RUFBQTtFQUFuQjtJQUFBLDhDQUFtQjtFQUFBO0VBQW5CO0lBQUEsNkJBQW1CO0VBQUE7RUFBbkI7SUFBQSxVQUFtQjtFQUFBO0VBQW5CO0lBQUEsaUNBQW1CO0VBQUE7RUFBbkI7SUFBQSxZQUFtQjtFQUFBO0VBQW5CO0lBQUEsYUFBbUI7RUFBQTtFQUFuQjtJQUFBLG1CQUFtQjtFQUFBO0VBQW5CO0lBQUEsbUJBQW1CO0VBQUE7RUFBbkI7SUFBQSxtQkFBbUI7RUFBQTtFQUFuQjtJQUFBLG1CQUFtQjtFQUFBO0VBQW5CO0lBQUEsbUJBQW1CO0VBQUE7RUFBbkI7SUFBQSxtQkFBbUI7RUFBQTtFQUFuQjtJQUFBLG9CQUFtQjtFQUFBO0VBQW5CO0lBQUEsb0JBQW1CO0VBQUE7RUFBbkI7SUFBQSxvQkFBbUI7RUFBQTtFQUFuQjtJQUFBLG9CQUFtQjtFQUFBO0VBQW5CO0lBQUEsb0JBQW1CO0VBQUE7RUFBbkI7SUFBQSxvQkFBbUI7RUFBQTtFQUFuQjtJQUFBLG9CQUFtQjtFQUFBO0VBQW5CO0lBQUEsa0JBQW1CO0VBQUE7RUFBbkI7SUFBQSxrQkFBbUI7RUFBQTtFQUFuQjtJQUFBLGtCQUFtQjtFQUFBO0VBQW5CO0lBQUEsa0JBQW1CO0VBQUE7RUFBbkI7SUFBQSxrQkFBbUI7RUFBQTtFQUFuQjtJQUFBLGtCQUFtQjtFQUFBO0VBQW5CO0lBQUEsbUJBQW1CO0VBQUE7RUFBbkI7SUFBQSxtQkFBbUI7RUFBQTtFQUFuQjtJQUFBLG1CQUFtQjtFQUFBO0VBQW5CO0lBQUEsbUJBQW1CO0VBQUE7RUFBbkI7SUFBQSxtQkFBbUI7RUFBQTtFQUFuQjtJQUFBLGdCQUFtQjtFQUFBO0VBQW5CO0lBQUEsZ0JBQW1CO0VBQUE7RUFBbkI7SUFBQSxnQkFBbUI7RUFBQTtFQUFuQjtJQUFBLGlCQUFtQjtFQUFBO0VBQW5CO0lBQUEsaUJBQW1CO0VBQUE7RUFBbkI7SUFBQSxtQkFBbUI7RUFBQTtFQUFuQjtJQUFBLG9CQUFtQjtFQUFBO0VBQW5CO0lBQUEsb0JBQW1CO0VBQUE7RUFBbkI7SUFBQSxrQkFBbUI7RUFBQTtFQUFuQjtJQUFBLGdCQUFtQjtFQUFBO0VBQW5CO0lBQUEsaUJBQW1CO0VBQUE7RUFBbkI7SUFBQSwwREFBbUI7RUFBQTtFQUFuQjtJQUFBLDZCQUFtQjtFQUFBO0VBQW5CO0lBQUEsNkJBQW1CO0VBQUE7RUFBbkI7SUFBQSxnQkFBbUI7RUFBQTtFQUFuQjtJQUFBLGNBQW1CO0VBQUE7RUFBbkI7SUFBQSxpQkFBbUI7RUFBQTtFQUFuQjtJQUFBLGVBQW1CO0VBQUE7RUFBbkI7SUFBQSxpQkFBbUI7RUFBQTtFQUFuQjtJQUFBLGVBQW1CO0VBQUE7RUFBbkI7SUFBQSxpQkFBbUI7RUFBQTtFQUFuQjtJQUFBLGVBQW1CO0VBQUE7RUFBbkI7SUFBQSxlQUFtQjtFQUFBO0VBQW5CO0lBQUEsZUFBbUI7RUFBQTtFQUFuQjtJQUFBLGVBQW1CO0VBQUE7RUFBbkI7SUFBQSxlQUFtQjtFQUFBO0VBQW5CO0lBQUEsZUFBbUI7RUFBQTtFQUFuQjtJQUFBLGVBQW1CO0VBQUE7RUFBbkI7SUFBQSxpQkFBbUI7SUFBbkIsZ0JBQW1CO0VBQUE7RUFBbkI7SUFBQSxpQkFBbUI7SUFBbkIsZ0JBQW1CO0VBQUE7RUFBbkI7SUFBQSxrQkFBbUI7SUFBbkIsaUJBQW1CO0VBQUE7RUFBbkI7SUFBQSxrQkFBbUI7SUFBbkIsaUJBQW1CO0VBQUE7RUFBbkI7SUFBQSxrQkFBbUI7SUFBbkIsaUJBQW1CO0VBQUE7RUFBbkI7SUFBQSxrQkFB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QUE7QUFBbkI7RUFBQSxXQUFtQjtFQUFuQixlQUFtQjtFQUFuQix3QkFBbUI7QUFBQTtBQUFuQjtFQUFBLFdBQW1CO0VBQW5CLGVBQW1CO0FBQUE7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkIsZUFBbUI7RUFBbkIsbUJBQW1CO0FBQUE7QUFBbkI7RUFBQSxXQUFtQjtFQUFuQixlQUFtQjtBQUFBO0FBQW5CO0VBQUEsV0FBbUI7RUFBbkIsZUFBbUI7RUFBbkIsd0JBQW1CO0FBQUE7QUFBbkI7RUFBQSxXQUFtQjtFQUFuQixlQUFtQjtBQUFBO0FBQW5CO0VBQUEsV0FBbUI7RUFBbkIsZUFBbUI7RUFBbkIsd0JBQW1CO0FBQUE7QUFBbkI7RUFBQSxXQUFtQjtFQUFuQixlQUFtQjtBQUFBO0FBQW5CO0VBQUEsa0JBQW1CO0VBQW5CLGVBQW1CO0VBQW5CLGtCQUFtQjtBQUFBO0FBQW5CO0VBQUEsV0FBbUI7RUFBbkIsZUFBbUI7RUFBbkIsbUJBQW1CO0FBQUE7QUFBbkI7RUFBQSxXQUFtQjtFQUFuQixlQUFtQjtFQUFuQix3QkFBbUI7QUFBQTtBQUFuQjtFQUFBLFdBQW1CO0VBQW5CLGVBQW1CO0VBQW5CLG9CQUFtQjtBQUFBO0FBQW5CO0VBQUEsV0FBbUI7RUFBbkIsZUFBbUI7QUFBQTtBQUFuQjtFQUFBLFdBQW1CO0VBQW5CLGVBQW1CO0FBQUE7QUFBbkI7RUFBQSxXQUFtQjtFQUFuQixlQUFtQjtBQUFBO0FBQW5CO0VBQUEsV0FBbUI7RUFBbkIsZUFBbUI7QUFBQTtBQUFuQjtFQUFBLFdBQW1CO0VBQW5CLGVBQW1CO0FBQUE7QUFBbkI7RUFBQSxXQUFtQjtFQUFuQixlQUFtQjtBQUFBO0FBQW5CO0VBQUEsV0FBbUI7RUFBbkIsZUFBbUI7QUFBQTtBQUFuQjtFQUFBLFdBQW1CO0VBQW5CLGVBQW1CO0FBQUE7QUFBbkI7RUFBQSxXQUFtQjtFQUFuQixlQUFtQjtBQUFBO0FBQW5CO0VBQUEsV0FBbUI7RUFBbkIsZUFBbUI7QUFBQTtBQUFuQjtFQUFBLFdBQW1CO0VBQW5CLGVBQW1CO0FBQUE7QUFBbkI7RUFBQSxzQkFBbUI7RUFBbkIsZUFBbUI7RUFBbkIsbUJBQW1CO0FBQUE7QUFBbkI7RUFBQSxXQUFtQjtFQUFuQixlQUFtQjtBQUFBO0FBQW5CO0VBQUEsV0FBbUI7RUFBbkIsZUFBbUI7QUFBQTtBQUFuQjtFQUFBLFdBQW1CO0VBQW5CLGlCQUFtQjtFQUFuQixlQUFtQjtBQUFBO0FFMGJqQjtFQUNFO0lBQ0UseUJBQXlCO0VBRHhCO0FBRFc7QURyWWhCO0VBQ0U7SUFDRSxVQUFXO0VBQ1o7QUFDRjtBRHpESDtFQUFBO0lBQUE7TUFBQSxtQkFBbUI7TUFBbkIsbUJBQW1CO01BQW5CLG1CQUFtQjtNQUFuQixzQkFBbUI7TUFBbkIsc0JBQW1CO01BQW5CLHNCQUFtQjtNQUFuQixvQkFBbUI7TUFBbkIsb0JBQW1CO01BQW5CLHdCQUFtQjtNQUFuQixxQkFBbUI7TUFBbkIseUJBQW1CO01BQW5CLHNCQUFtQjtNQUFuQixzQkFBbUI7TUFBbkIsMEJBQW1CO01BQW5CLHVCQUFtQjtNQUFuQiw0QkFBbUI7TUFBbkIsZ0NBQW1CO01BQW5CLDZCQUFtQjtNQUFuQix3QkFBbUI7TUFBbkIsMkJBQW1CO01BQW5CLDhCQUFtQjtNQUFuQixpQ0FBbUI7TUFBbkIsd0JBQW1CO01BQW5CLDJCQUFtQjtNQUFuQiw0QkFBbUI7TUFBbkIsa0NBQW1CO01BQW5CLHlCQUFtQjtNQUFuQixrQkFBbUI7TUFBbkIsd0JBQW1CO01BQW5CLHNCQUFtQjtNQUFuQix1QkFBbUI7TUFBbkIsd0JBQW1CO01BQW5CLG9CQUFtQjtNQUFuQixxQkFBbUI7TUFBbkIsc0JBQW1CO01BQW5CLG1CQUFtQjtNQUFuQix5QkFBbUI7TUFBbkIsK0JBQW1CO01BQW5CLDRCQUFtQjtNQUFuQiw4QkFBbUI7TUFBbkIsc0JBQW1CO01BQW5CLGdCQUFtQjtJQUFBO0VBQUE7QUFBQSIsImZpbGUiOiJhZG1pbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6W251bGwsIkB0YWlsd2luZCB1dGlsaXRpZXM7XG4iLCJAbGF5ZXIgdGhlbWUsIGJhc2UsIGNvbXBvbmVudHMsIHV0aWxpdGllcztcbkBpbXBvcnQgXCJ0YWlsd2luZGNzcy90aGVtZS5jc3NcIiBsYXllcih0aGVtZSk7XG5AaW1wb3J0IFwidGFpbHdpbmRjc3MvdXRpbGl0aWVzLmNzc1wiIGxheWVyKHV0aWxpdGllcyk7XG5cbkBzb3VyY2UgXCIuLyoqLyoue3RzLHRzeH1cIjtcblxuQGxheWVyIHV0aWxpdGllcyB7XG4gIC50YWJsZSB7XG4gICAgZGlzcGxheTogcmV2ZXJ0LWxheWVyO1xuICB9XG59XG5cbkBjdXN0b20tdmFyaWFudCBkYXJrIChbZGF0YS10aGVtZT1cImRhcmtcIl0gJik7XG5cbkB0aGVtZSBzdGF0aWMge1xuICAtLWNvbG9yLW5ldXRyYWwtMDogdmFyKC0tdGhlbWUtZWxldmF0aW9uLTApO1xuICAtLWNvbG9yLW5ldXRyYWwtNTA6IHZhcigtLXRoZW1lLWVsZXZhdGlvbi01MCk7XG4gIC0tY29sb3ItbmV1dHJhbC0xMDA6IHZhcigtLXRoZW1lLWVsZXZhdGlvbi0xMDApO1xuICAtLWNvbG9yLW5ldXRyYWwtMTUwOiB2YXIoLS10aGVtZS1lbGV2YXRpb24tMTUwKTtcbiAgLS1jb2xvci1uZXV0cmFsLTIwMDogdmFyKC0tdGhlbWUtZWxldmF0aW9uLTIwMCk7XG4gIC0tY29sb3ItbmV1dHJhbC0zMDA6IHZhcigtLXRoZW1lLWVsZXZhdGlvbi0zMDApO1xuICAtLWNvbG9yLW5ldXRyYWwtNDAwOiB2YXIoLS10aGVtZS1lbGV2YXRpb24tNDAwKTtcbiAgLS1jb2xvci1uZXV0cmFsLTUwMDogdmFyKC0tdGhlbWUtZWxldmF0aW9uLTUwMCk7XG4gIC0tY29sb3ItbmV1dHJhbC02MDA6IHZhcigtLXRoZW1lLWVsZXZhdGlvbi02MDApO1xuICAtLWNvbG9yLW5ldXRyYWwtNzAwOiB2YXIoLS10aGVtZS1lbGV2YXRpb24tNzAwKTtcbiAgLS1jb2xvci1uZXV0cmFsLTgwMDogdmFyKC0tdGhlbWUtZWxldmF0aW9uLTgwMCk7XG4gIC0tY29sb3ItbmV1dHJhbC0xMDAwOiB2YXIoLS10aGVtZS1lbGV2YXRpb24tMTAwMCk7XG5cbiAgLS1jb2xvci1zZW8tZ29vZDogdmFyKC0tc2VvLWdvb2QpO1xuICAtLWNvbG9yLXNlby1nb29kLTEwMDogdmFyKC0tc2VvLWdvb2QtMTAwKTtcbiAgLS1jb2xvci1zZW8tZ29vZC0yMDA6IHZhcigtLXNlby1nb29kLTIwMCk7XG4gIC0tY29sb3Itc2VvLXdhcm46IHZhcigtLXNlby13YXJuKTtcbiAgLS1jb2xvci1zZW8td2Fybi0xMDA6IHZhcigtLXNlby13YXJuLTEwMCk7XG4gIC0tY29sb3Itc2VvLWJhZDogdmFyKC0tc2VvLWJhZCk7XG4gIC0tY29sb3Itc2VvLWJhZC0xMDA6IHZhcigtLXNlby1iYWQtMTAwKTtcblxuICAtLWNvbG9yLXNlcnAtdGl0bGU6IHZhcigtLXNlcnAtdGl0bGUpO1xuICAtLWNvbG9yLXNlcnAtdGl0bGUtbW9iaWxlOiB2YXIoLS1zZXJwLXRpdGxlLW1vYmlsZSk7XG4gIC0tY29sb3Itc2VycC1zaXRlbmFtZTogdmFyKC0tc2VycC1zaXRlbmFtZSk7XG4gIC0tY29sb3Itc2VycC1ob3N0bmFtZTogdmFyKC0tc2VycC1ob3N0bmFtZSk7XG4gIC0tY29sb3Itc2VycC1ob3N0bmFtZS1tb2JpbGU6IHZhcigtLXNlcnAtaG9zdG5hbWUtbW9iaWxlKTtcbiAgLS1jb2xvci1zZXJwLWRlc2NyaXB0aW9uOiB2YXIoLS1zZXJwLWRlc2NyaXB0aW9uKTtcbiAgLS1jb2xvci1zZXJwLWRlc2NyaXB0aW9uLW1vYmlsZTogdmFyKC0tc2VycC1kZXNjcmlwdGlvbi1tb2JpbGUpO1xuICAtLWNvbG9yLXNlcnAtZmF2aWNvbi1iZzogdmFyKC0tc2VycC1mYXZpY29uLWJnKTtcblxuICAtLXJhZGl1cy1yczogdmFyKC0tc3R5bGUtcmFkaXVzLXMpO1xuICAtLXJhZGl1cy1ybTogdmFyKC0tc3R5bGUtcmFkaXVzLW0pO1xuXG4gIC0tc2hhZG93LXBvcG92ZXI6XG4gICAgMCAxMnB4IDMycHggLTEycHggdmFyKC0tc2VvLXNoYWRvdy1zdHJvbmcpLCAwIDJweCA2cHggLTJweCB2YXIoLS1zZW8tc2hhZG93LXNvZnQpO1xuXG4gIC0tYW5pbWF0ZS1zZW8tZmFkZS1pbjogc2VvLWZhZGUtaW4gMC4xOHMgZWFzZTtcblxuICBAa2V5ZnJhbWVzIHNlby1mYWRlLWluIHtcbiAgICBmcm9tIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG59XG5cbjpyb290IHtcbiAgLS1zZW8tc2hhZG93LXN0cm9uZzogb2tsY2goMC4yIDAuMDEgNzAgLyAwLjE0KTtcbiAgLS1zZW8tc2hhZG93LXNvZnQ6IG9rbGNoKDAuMiAwLjAxIDcwIC8gMC4wNik7XG5cbiAgLS1zZXJwLXRpdGxlOiAjMWEwZGFiO1xuICAtLXNlcnAtdGl0bGUtbW9iaWxlOiAjMTU1OGQ2O1xuICAtLXNlcnAtc2l0ZW5hbWU6ICMwMDA7XG4gIC0tc2VycC1ob3N0bmFtZTogIzRkNTE1NjtcbiAgLS1zZXJwLWhvc3RuYW1lLW1vYmlsZTogIzcwNzU3YTtcbiAgLS1zZXJwLWRlc2NyaXB0aW9uOiAjNGQ1MTU2O1xuICAtLXNlcnAtZGVzY3JpcHRpb24tbW9iaWxlOiAjM2M0MDQzO1xuICAtLXNlcnAtZmF2aWNvbi1iZzogI2YxZjNmNDtcblxuICAtLXNlby1nb29kOiAjMmE5ZDVjO1xuICAtLXNlby1nb29kLTEwMDogI2U4ZjVlZDtcbiAgLS1zZW8tZ29vZC0yMDA6ICNjZmU4ZDg7XG4gIC0tc2VvLXdhcm46ICNlMDhhMWU7XG4gIC0tc2VvLXdhcm4tMTAwOiAjZmJmMmUwO1xuICAtLXNlby1iYWQ6ICNkOTQ4M2Y7XG4gIC0tc2VvLWJhZC0xMDA6ICNmYmU5ZTc7XG59XG5cbltkYXRhLXRoZW1lPVwiZGFya1wiXSB7XG4gIC0tc2VvLXNoYWRvdy1zdHJvbmc6IG9rbGNoKDAuOTcgMCAwIC8gMC4yKTtcbiAgLS1zZW8tc2hhZG93LXNvZnQ6IG9rbGNoKDAuOTcgMCAwIC8gMC4wOSk7XG5cbiAgLS1zZXJwLXRpdGxlOiAjOTljM2ZmO1xuICAtLXNlcnAtdGl0bGUtbW9iaWxlOiAjOTljM2ZmO1xuICAtLXNlcnAtc2l0ZW5hbWU6ICNlOGU4ZTg7XG4gIC0tc2VycC1ob3N0bmFtZTogI2JkYzFjNjtcbiAgLS1zZXJwLWhvc3RuYW1lLW1vYmlsZTogI2JkYzFjNjtcbiAgLS1zZXJwLWRlc2NyaXB0aW9uOiAjYmRjMWM2O1xuICAtLXNlcnAtZGVzY3JpcHRpb24tbW9iaWxlOiAjYmRjMWM2O1xuICAtLXNlcnAtZmF2aWNvbi1iZzogIzMwMzEzNDtcblxuICAtLXNlby1nb29kOiAjNGFkZTgwO1xuICAtLXNlby1nb29kLTEwMDogIzE0MjcxYztcbiAgLS1zZW8tZ29vZC0yMDA6ICMxYzNiMjk7XG4gIC0tc2VvLXdhcm46ICNmMGIwNGU7XG4gIC0tc2VvLXdhcm4tMTAwOiAjMmUyMzEwO1xuICAtLXNlby1iYWQ6ICNmMDc0NmI7XG4gIC0tc2VvLWJhZC0xMDA6ICMzMTE3MTQ7XG59XG5cbi5zZW8tcm9vdCBbcm9sZT1cInRhYlwiXSB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4uc2VvLXJvb3QgW3JvbGU9XCJ0YWJcIl1bYXJpYS1zZWxlY3RlZD1cInRydWVcIl0ge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS10aGVtZS1lbGV2YXRpb24tMTAwMCk7XG59XG5cbkBsYXllciBjb21wb25lbnRzIHtcbiAgLnNlby1kb2NiYXIge1xuICAgIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoXG4gICAgICA5MGRlZyxcbiAgICAgIHZhcigtLXRoZW1lLWVsZXZhdGlvbi0xMDApIDAgMnB4LFxuICAgICAgdHJhbnNwYXJlbnQgMnB4IDdweFxuICAgICk7XG4gIH1cblxuICAuc2VvLWRvYy1idG4gLmJ0bl9fY29udGVudCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIH1cblxuICAuc2VvLWRvYy1idG4gLmJ0bl9faWNvbiB7XG4gICAgd2lkdGg6IDE3cHg7XG4gICAgaGVpZ2h0OiAxN3B4O1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLnNlby1kb2MtYnRuIC5idG5fX2ljb24gc3ZnIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cbiIsIkB0aGVtZSBkZWZhdWx0IHtcbiAgLS1mb250LXNhbnM6XG4gICAgdWktc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmLCAnQXBwbGUgQ29sb3IgRW1vamknLCAnU2Vnb2UgVUkgRW1vamknLCAnU2Vnb2UgVUkgU3ltYm9sJyxcbiAgICAnTm90byBDb2xvciBFbW9qaSc7XG4gIC0tZm9udC1zZXJpZjogdWktc2VyaWYsIEdlb3JnaWEsIENhbWJyaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBUaW1lcywgc2VyaWY7XG4gIC0tZm9udC1tb25vOlxuICAgIHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgJ0NvdXJpZXIgTmV3JyxcbiAgICBtb25vc3BhY2U7XG5cbiAgLS1jb2xvci1yZWQtNTA6IG9rbGNoKDk3LjElIDAuMDEzIDE3LjM4KTtcbiAgLS1jb2xvci1yZWQtMTAwOiBva2xjaCg5My42JSAwLjAzMiAxNy43MTcpO1xuICAtLWNvbG9yLXJlZC0yMDA6IG9rbGNoKDg4LjUlIDAuMDYyIDE4LjMzNCk7XG4gIC0tY29sb3ItcmVkLTMwMDogb2tsY2goODAuOCUgMC4xMTQgMTkuNTcxKTtcbiAgLS1jb2xvci1yZWQtNDAwOiBva2xjaCg3MC40JSAwLjE5MSAyMi4yMTYpO1xuICAtLWNvbG9yLXJlZC01MDA6IG9rbGNoKDYzLjclIDAuMjM3IDI1LjMzMSk7XG4gIC0tY29sb3ItcmVkLTYwMDogb2tsY2goNTcuNyUgMC4yNDUgMjcuMzI1KTtcbiAgLS1jb2xvci1yZWQtNzAwOiBva2xjaCg1MC41JSAwLjIxMyAyNy41MTgpO1xuICAtLWNvbG9yLXJlZC04MDA6IG9rbGNoKDQ0LjQlIDAuMTc3IDI2Ljg5OSk7XG4gIC0tY29sb3ItcmVkLTkwMDogb2tsY2goMzkuNiUgMC4xNDEgMjUuNzIzKTtcbiAgLS1jb2xvci1yZWQtOTUwOiBva2xjaCgyNS44JSAwLjA5MiAyNi4wNDIpO1xuXG4gIC0tY29sb3Itb3JhbmdlLTUwOiBva2xjaCg5OCUgMC4wMTYgNzMuNjg0KTtcbiAgLS1jb2xvci1vcmFuZ2UtMTAwOiBva2xjaCg5NS40JSAwLjAzOCA3NS4xNjQpO1xuICAtLWNvbG9yLW9yYW5nZS0yMDA6IG9rbGNoKDkwLjElIDAuMDc2IDcwLjY5Nyk7XG4gIC0tY29sb3Itb3JhbmdlLTMwMDogb2tsY2goODMuNyUgMC4xMjggNjYuMjkpO1xuICAtLWNvbG9yLW9yYW5nZS00MDA6IG9rbGNoKDc1JSAwLjE4MyA1NS45MzQpO1xuICAtLWNvbG9yLW9yYW5nZS01MDA6IG9rbGNoKDcwLjUlIDAuMjEzIDQ3LjYwNCk7XG4gIC0tY29sb3Itb3JhbmdlLTYwMDogb2tsY2goNjQuNiUgMC4yMjIgNDEuMTE2KTtcbiAgLS1jb2xvci1vcmFuZ2UtNzAwOiBva2xjaCg1NS4zJSAwLjE5NSAzOC40MDIpO1xuICAtLWNvbG9yLW9yYW5nZS04MDA6IG9rbGNoKDQ3JSAwLjE1NyAzNy4zMDQpO1xuICAtLWNvbG9yLW9yYW5nZS05MDA6IG9rbGNoKDQwLjglIDAuMTIzIDM4LjE3Mik7XG4gIC0tY29sb3Itb3JhbmdlLTk1MDogb2tsY2goMjYuNiUgMC4wNzkgMzYuMjU5KTtcblxuICAtLWNvbG9yLWFtYmVyLTUwOiBva2xjaCg5OC43JSAwLjAyMiA5NS4yNzcpO1xuICAtLWNvbG9yLWFtYmVyLTEwMDogb2tsY2goOTYuMiUgMC4wNTkgOTUuNjE3KTtcbiAgLS1jb2xvci1hbWJlci0yMDA6IG9rbGNoKDkyLjQlIDAuMTIgOTUuNzQ2KTtcbiAgLS1jb2xvci1hbWJlci0zMDA6IG9rbGNoKDg3LjklIDAuMTY5IDkxLjYwNSk7XG4gIC0tY29sb3ItYW1iZXItNDAwOiBva2xjaCg4Mi44JSAwLjE4OSA4NC40MjkpO1xuICAtLWNvbG9yLWFtYmVyLTUwMDogb2tsY2goNzYuOSUgMC4xODggNzAuMDgpO1xuICAtLWNvbG9yLWFtYmVyLTYwMDogb2tsY2goNjYuNiUgMC4xNzkgNTguMzE4KTtcbiAgLS1jb2xvci1hbWJlci03MDA6IG9rbGNoKDU1LjUlIDAuMTYzIDQ4Ljk5OCk7XG4gIC0tY29sb3ItYW1iZXItODAwOiBva2xjaCg0Ny4zJSAwLjEzNyA0Ni4yMDEpO1xuICAtLWNvbG9yLWFtYmVyLTkwMDogb2tsY2goNDEuNCUgMC4xMTIgNDUuOTA0KTtcbiAgLS1jb2xvci1hbWJlci05NTA6IG9rbGNoKDI3LjklIDAuMDc3IDQ1LjYzNSk7XG5cbiAgLS1jb2xvci15ZWxsb3ctNTA6IG9rbGNoKDk4LjclIDAuMDI2IDEwMi4yMTIpO1xuICAtLWNvbG9yLXllbGxvdy0xMDA6IG9rbGNoKDk3LjMlIDAuMDcxIDEwMy4xOTMpO1xuICAtLWNvbG9yLXllbGxvdy0yMDA6IG9rbGNoKDk0LjUlIDAuMTI5IDEwMS41NCk7XG4gIC0tY29sb3IteWVsbG93LTMwMDogb2tsY2goOTAuNSUgMC4xODIgOTguMTExKTtcbiAgLS1jb2xvci15ZWxsb3ctNDAwOiBva2xjaCg4NS4yJSAwLjE5OSA5MS45MzYpO1xuICAtLWNvbG9yLXllbGxvdy01MDA6IG9rbGNoKDc5LjUlIDAuMTg0IDg2LjA0Nyk7XG4gIC0tY29sb3IteWVsbG93LTYwMDogb2tsY2goNjguMSUgMC4xNjIgNzUuODM0KTtcbiAgLS1jb2xvci15ZWxsb3ctNzAwOiBva2xjaCg1NS40JSAwLjEzNSA2Ni40NDIpO1xuICAtLWNvbG9yLXllbGxvdy04MDA6IG9rbGNoKDQ3LjYlIDAuMTE0IDYxLjkwNyk7XG4gIC0tY29sb3IteWVsbG93LTkwMDogb2tsY2goNDIuMSUgMC4wOTUgNTcuNzA4KTtcbiAgLS1jb2xvci15ZWxsb3ctOTUwOiBva2xjaCgyOC42JSAwLjA2NiA1My44MTMpO1xuXG4gIC0tY29sb3ItbGltZS01MDogb2tsY2goOTguNiUgMC4wMzEgMTIwLjc1Nyk7XG4gIC0tY29sb3ItbGltZS0xMDA6IG9rbGNoKDk2LjclIDAuMDY3IDEyMi4zMjgpO1xuICAtLWNvbG9yLWxpbWUtMjAwOiBva2xjaCg5My44JSAwLjEyNyAxMjQuMzIxKTtcbiAgLS1jb2xvci1saW1lLTMwMDogb2tsY2goODkuNyUgMC4xOTYgMTI2LjY2NSk7XG4gIC0tY29sb3ItbGltZS00MDA6IG9rbGNoKDg0LjElIDAuMjM4IDEyOC44NSk7XG4gIC0tY29sb3ItbGltZS01MDA6IG9rbGNoKDc2LjglIDAuMjMzIDEzMC44NSk7XG4gIC0tY29sb3ItbGltZS02MDA6IG9rbGNoKDY0LjglIDAuMiAxMzEuNjg0KTtcbiAgLS1jb2xvci1saW1lLTcwMDogb2tsY2goNTMuMiUgMC4xNTcgMTMxLjU4OSk7XG4gIC0tY29sb3ItbGltZS04MDA6IG9rbGNoKDQ1LjMlIDAuMTI0IDEzMC45MzMpO1xuICAtLWNvbG9yLWxpbWUtOTAwOiBva2xjaCg0MC41JSAwLjEwMSAxMzEuMDYzKTtcbiAgLS1jb2xvci1saW1lLTk1MDogb2tsY2goMjcuNCUgMC4wNzIgMTMyLjEwOSk7XG5cbiAgLS1jb2xvci1ncmVlbi01MDogb2tsY2goOTguMiUgMC4wMTggMTU1LjgyNik7XG4gIC0tY29sb3ItZ3JlZW4tMTAwOiBva2xjaCg5Ni4yJSAwLjA0NCAxNTYuNzQzKTtcbiAgLS1jb2xvci1ncmVlbi0yMDA6IG9rbGNoKDkyLjUlIDAuMDg0IDE1NS45OTUpO1xuICAtLWNvbG9yLWdyZWVuLTMwMDogb2tsY2goODcuMSUgMC4xNSAxNTQuNDQ5KTtcbiAgLS1jb2xvci1ncmVlbi00MDA6IG9rbGNoKDc5LjIlIDAuMjA5IDE1MS43MTEpO1xuICAtLWNvbG9yLWdyZWVuLTUwMDogb2tsY2goNzIuMyUgMC4yMTkgMTQ5LjU3OSk7XG4gIC0tY29sb3ItZ3JlZW4tNjAwOiBva2xjaCg2Mi43JSAwLjE5NCAxNDkuMjE0KTtcbiAgLS1jb2xvci1ncmVlbi03MDA6IG9rbGNoKDUyLjclIDAuMTU0IDE1MC4wNjkpO1xuICAtLWNvbG9yLWdyZWVuLTgwMDogb2tsY2goNDQuOCUgMC4xMTkgMTUxLjMyOCk7XG4gIC0tY29sb3ItZ3JlZW4tOTAwOiBva2xjaCgzOS4zJSAwLjA5NSAxNTIuNTM1KTtcbiAgLS1jb2xvci1ncmVlbi05NTA6IG9rbGNoKDI2LjYlIDAuMDY1IDE1Mi45MzQpO1xuXG4gIC0tY29sb3ItZW1lcmFsZC01MDogb2tsY2goOTcuOSUgMC4wMjEgMTY2LjExMyk7XG4gIC0tY29sb3ItZW1lcmFsZC0xMDA6IG9rbGNoKDk1JSAwLjA1MiAxNjMuMDUxKTtcbiAgLS1jb2xvci1lbWVyYWxkLTIwMDogb2tsY2goOTAuNSUgMC4wOTMgMTY0LjE1KTtcbiAgLS1jb2xvci1lbWVyYWxkLTMwMDogb2tsY2goODQuNSUgMC4xNDMgMTY0Ljk3OCk7XG4gIC0tY29sb3ItZW1lcmFsZC00MDA6IG9rbGNoKDc2LjUlIDAuMTc3IDE2My4yMjMpO1xuICAtLWNvbG9yLWVtZXJhbGQtNTAwOiBva2xjaCg2OS42JSAwLjE3IDE2Mi40OCk7XG4gIC0tY29sb3ItZW1lcmFsZC02MDA6IG9rbGNoKDU5LjYlIDAuMTQ1IDE2My4yMjUpO1xuICAtLWNvbG9yLWVtZXJhbGQtNzAwOiBva2xjaCg1MC44JSAwLjExOCAxNjUuNjEyKTtcbiAgLS1jb2xvci1lbWVyYWxkLTgwMDogb2tsY2goNDMuMiUgMC4wOTUgMTY2LjkxMyk7XG4gIC0tY29sb3ItZW1lcmFsZC05MDA6IG9rbGNoKDM3LjglIDAuMDc3IDE2OC45NCk7XG4gIC0tY29sb3ItZW1lcmFsZC05NTA6IG9rbGNoKDI2LjIlIDAuMDUxIDE3Mi41NTIpO1xuXG4gIC0tY29sb3ItdGVhbC01MDogb2tsY2goOTguNCUgMC4wMTQgMTgwLjcyKTtcbiAgLS1jb2xvci10ZWFsLTEwMDogb2tsY2goOTUuMyUgMC4wNTEgMTgwLjgwMSk7XG4gIC0tY29sb3ItdGVhbC0yMDA6IG9rbGNoKDkxJSAwLjA5NiAxODAuNDI2KTtcbiAgLS1jb2xvci10ZWFsLTMwMDogb2tsY2goODUuNSUgMC4xMzggMTgxLjA3MSk7XG4gIC0tY29sb3ItdGVhbC00MDA6IG9rbGNoKDc3LjclIDAuMTUyIDE4MS45MTIpO1xuICAtLWNvbG9yLXRlYWwtNTAwOiBva2xjaCg3MC40JSAwLjE0IDE4Mi41MDMpO1xuICAtLWNvbG9yLXRlYWwtNjAwOiBva2xjaCg2MCUgMC4xMTggMTg0LjcwNCk7XG4gIC0tY29sb3ItdGVhbC03MDA6IG9rbGNoKDUxLjElIDAuMDk2IDE4Ni4zOTEpO1xuICAtLWNvbG9yLXRlYWwtODAwOiBva2xjaCg0My43JSAwLjA3OCAxODguMjE2KTtcbiAgLS1jb2xvci10ZWFsLTkwMDogb2tsY2goMzguNiUgMC4wNjMgMTg4LjQxNik7XG4gIC0tY29sb3ItdGVhbC05NTA6IG9rbGNoKDI3LjclIDAuMDQ2IDE5Mi41MjQpO1xuXG4gIC0tY29sb3ItY3lhbi01MDogb2tsY2goOTguNCUgMC4wMTkgMjAwLjg3Myk7XG4gIC0tY29sb3ItY3lhbi0xMDA6IG9rbGNoKDk1LjYlIDAuMDQ1IDIwMy4zODgpO1xuICAtLWNvbG9yLWN5YW4tMjAwOiBva2xjaCg5MS43JSAwLjA4IDIwNS4wNDEpO1xuICAtLWNvbG9yLWN5YW4tMzAwOiBva2xjaCg4Ni41JSAwLjEyNyAyMDcuMDc4KTtcbiAgLS1jb2xvci1jeWFuLTQwMDogb2tsY2goNzguOSUgMC4xNTQgMjExLjUzKTtcbiAgLS1jb2xvci1jeWFuLTUwMDogb2tsY2goNzEuNSUgMC4xNDMgMjE1LjIyMSk7XG4gIC0tY29sb3ItY3lhbi02MDA6IG9rbGNoKDYwLjklIDAuMTI2IDIyMS43MjMpO1xuICAtLWNvbG9yLWN5YW4tNzAwOiBva2xjaCg1MiUgMC4xMDUgMjIzLjEyOCk7XG4gIC0tY29sb3ItY3lhbi04MDA6IG9rbGNoKDQ1JSAwLjA4NSAyMjQuMjgzKTtcbiAgLS1jb2xvci1jeWFuLTkwMDogb2tsY2goMzkuOCUgMC4wNyAyMjcuMzkyKTtcbiAgLS1jb2xvci1jeWFuLTk1MDogb2tsY2goMzAuMiUgMC4wNTYgMjI5LjY5NSk7XG5cbiAgLS1jb2xvci1za3ktNTA6IG9rbGNoKDk3LjclIDAuMDEzIDIzNi42Mik7XG4gIC0tY29sb3Itc2t5LTEwMDogb2tsY2goOTUuMSUgMC4wMjYgMjM2LjgyNCk7XG4gIC0tY29sb3Itc2t5LTIwMDogb2tsY2goOTAuMSUgMC4wNTggMjMwLjkwMik7XG4gIC0tY29sb3Itc2t5LTMwMDogb2tsY2goODIuOCUgMC4xMTEgMjMwLjMxOCk7XG4gIC0tY29sb3Itc2t5LTQwMDogb2tsY2goNzQuNiUgMC4xNiAyMzIuNjYxKTtcbiAgLS1jb2xvci1za3ktNTAwOiBva2xjaCg2OC41JSAwLjE2OSAyMzcuMzIzKTtcbiAgLS1jb2xvci1za3ktNjAwOiBva2xjaCg1OC44JSAwLjE1OCAyNDEuOTY2KTtcbiAgLS1jb2xvci1za3ktNzAwOiBva2xjaCg1MCUgMC4xMzQgMjQyLjc0OSk7XG4gIC0tY29sb3Itc2t5LTgwMDogb2tsY2goNDQuMyUgMC4xMSAyNDAuNzkpO1xuICAtLWNvbG9yLXNreS05MDA6IG9rbGNoKDM5LjElIDAuMDkgMjQwLjg3Nik7XG4gIC0tY29sb3Itc2t5LTk1MDogb2tsY2goMjkuMyUgMC4wNjYgMjQzLjE1Nyk7XG5cbiAgLS1jb2xvci1ibHVlLTUwOiBva2xjaCg5NyUgMC4wMTQgMjU0LjYwNCk7XG4gIC0tY29sb3ItYmx1ZS0xMDA6IG9rbGNoKDkzLjIlIDAuMDMyIDI1NS41ODUpO1xuICAtLWNvbG9yLWJsdWUtMjAwOiBva2xjaCg4OC4yJSAwLjA1OSAyNTQuMTI4KTtcbiAgLS1jb2xvci1ibHVlLTMwMDogb2tsY2goODAuOSUgMC4xMDUgMjUxLjgxMyk7XG4gIC0tY29sb3ItYmx1ZS00MDA6IG9rbGNoKDcwLjclIDAuMTY1IDI1NC42MjQpO1xuICAtLWNvbG9yLWJsdWUtNTAwOiBva2xjaCg2Mi4zJSAwLjIxNCAyNTkuODE1KTtcbiAgLS1jb2xvci1ibHVlLTYwMDogb2tsY2goNTQuNiUgMC4yNDUgMjYyLjg4MSk7XG4gIC0tY29sb3ItYmx1ZS03MDA6IG9rbGNoKDQ4LjglIDAuMjQzIDI2NC4zNzYpO1xuICAtLWNvbG9yLWJsdWUtODAwOiBva2xjaCg0Mi40JSAwLjE5OSAyNjUuNjM4KTtcbiAgLS1jb2xvci1ibHVlLTkwMDogb2tsY2goMzcuOSUgMC4xNDYgMjY1LjUyMik7XG4gIC0tY29sb3ItYmx1ZS05NTA6IG9rbGNoKDI4LjIlIDAuMDkxIDI2Ny45MzUpO1xuXG4gIC0tY29sb3ItaW5kaWdvLTUwOiBva2xjaCg5Ni4yJSAwLjAxOCAyNzIuMzE0KTtcbiAgLS1jb2xvci1pbmRpZ28tMTAwOiBva2xjaCg5MyUgMC4wMzQgMjcyLjc4OCk7XG4gIC0tY29sb3ItaW5kaWdvLTIwMDogb2tsY2goODclIDAuMDY1IDI3NC4wMzkpO1xuICAtLWNvbG9yLWluZGlnby0zMDA6IG9rbGNoKDc4LjUlIDAuMTE1IDI3NC43MTMpO1xuICAtLWNvbG9yLWluZGlnby00MDA6IG9rbGNoKDY3LjMlIDAuMTgyIDI3Ni45MzUpO1xuICAtLWNvbG9yLWluZGlnby01MDA6IG9rbGNoKDU4LjUlIDAuMjMzIDI3Ny4xMTcpO1xuICAtLWNvbG9yLWluZGlnby02MDA6IG9rbGNoKDUxLjElIDAuMjYyIDI3Ni45NjYpO1xuICAtLWNvbG9yLWluZGlnby03MDA6IG9rbGNoKDQ1LjclIDAuMjQgMjc3LjAyMyk7XG4gIC0tY29sb3ItaW5kaWdvLTgwMDogb2tsY2goMzkuOCUgMC4xOTUgMjc3LjM2Nik7XG4gIC0tY29sb3ItaW5kaWdvLTkwMDogb2tsY2goMzUuOSUgMC4xNDQgMjc4LjY5Nyk7XG4gIC0tY29sb3ItaW5kaWdvLTk1MDogb2tsY2goMjUuNyUgMC4wOSAyODEuMjg4KTtcblxuICAtLWNvbG9yLXZpb2xldC01MDogb2tsY2goOTYuOSUgMC4wMTYgMjkzLjc1Nik7XG4gIC0tY29sb3ItdmlvbGV0LTEwMDogb2tsY2goOTQuMyUgMC4wMjkgMjk0LjU4OCk7XG4gIC0tY29sb3ItdmlvbGV0LTIwMDogb2tsY2goODkuNCUgMC4wNTcgMjkzLjI4Myk7XG4gIC0tY29sb3ItdmlvbGV0LTMwMDogb2tsY2goODEuMSUgMC4xMTEgMjkzLjU3MSk7XG4gIC0tY29sb3ItdmlvbGV0LTQwMDogb2tsY2goNzAuMiUgMC4xODMgMjkzLjU0MSk7XG4gIC0tY29sb3ItdmlvbGV0LTUwMDogb2tsY2goNjAuNiUgMC4yNSAyOTIuNzE3KTtcbiAgLS1jb2xvci12aW9sZXQtNjAwOiBva2xjaCg1NC4xJSAwLjI4MSAyOTMuMDA5KTtcbiAgLS1jb2xvci12aW9sZXQtNzAwOiBva2xjaCg0OS4xJSAwLjI3IDI5Mi41ODEpO1xuICAtLWNvbG9yLXZpb2xldC04MDA6IG9rbGNoKDQzLjIlIDAuMjMyIDI5Mi43NTkpO1xuICAtLWNvbG9yLXZpb2xldC05MDA6IG9rbGNoKDM4JSAwLjE4OSAyOTMuNzQ1KTtcbiAgLS1jb2xvci12aW9sZXQtOTUwOiBva2xjaCgyOC4zJSAwLjE0MSAyOTEuMDg5KTtcblxuICAtLWNvbG9yLXB1cnBsZS01MDogb2tsY2goOTcuNyUgMC4wMTQgMzA4LjI5OSk7XG4gIC0tY29sb3ItcHVycGxlLTEwMDogb2tsY2goOTQuNiUgMC4wMzMgMzA3LjE3NCk7XG4gIC0tY29sb3ItcHVycGxlLTIwMDogb2tsY2goOTAuMiUgMC4wNjMgMzA2LjcwMyk7XG4gIC0tY29sb3ItcHVycGxlLTMwMDogb2tsY2goODIuNyUgMC4xMTkgMzA2LjM4Myk7XG4gIC0tY29sb3ItcHVycGxlLTQwMDogb2tsY2goNzEuNCUgMC4yMDMgMzA1LjUwNCk7XG4gIC0tY29sb3ItcHVycGxlLTUwMDogb2tsY2goNjIuNyUgMC4yNjUgMzAzLjkpO1xuICAtLWNvbG9yLXB1cnBsZS02MDA6IG9rbGNoKDU1LjglIDAuMjg4IDMwMi4zMjEpO1xuICAtLWNvbG9yLXB1cnBsZS03MDA6IG9rbGNoKDQ5LjYlIDAuMjY1IDMwMS45MjQpO1xuICAtLWNvbG9yLXB1cnBsZS04MDA6IG9rbGNoKDQzLjglIDAuMjE4IDMwMy43MjQpO1xuICAtLWNvbG9yLXB1cnBsZS05MDA6IG9rbGNoKDM4LjElIDAuMTc2IDMwNC45ODcpO1xuICAtLWNvbG9yLXB1cnBsZS05NTA6IG9rbGNoKDI5LjElIDAuMTQ5IDMwMi43MTcpO1xuXG4gIC0tY29sb3ItZnVjaHNpYS01MDogb2tsY2goOTcuNyUgMC4wMTcgMzIwLjA1OCk7XG4gIC0tY29sb3ItZnVjaHNpYS0xMDA6IG9rbGNoKDk1LjIlIDAuMDM3IDMxOC44NTIpO1xuICAtLWNvbG9yLWZ1Y2hzaWEtMjAwOiBva2xjaCg5MC4zJSAwLjA3NiAzMTkuNjIpO1xuICAtLWNvbG9yLWZ1Y2hzaWEtMzAwOiBva2xjaCg4My4zJSAwLjE0NSAzMjEuNDM0KTtcbiAgLS1jb2xvci1mdWNoc2lhLTQwMDogb2tsY2goNzQlIDAuMjM4IDMyMi4xNik7XG4gIC0tY29sb3ItZnVjaHNpYS01MDA6IG9rbGNoKDY2LjclIDAuMjk1IDMyMi4xNSk7XG4gIC0tY29sb3ItZnVjaHNpYS02MDA6IG9rbGNoKDU5LjElIDAuMjkzIDMyMi44OTYpO1xuICAtLWNvbG9yLWZ1Y2hzaWEtNzAwOiBva2xjaCg1MS44JSAwLjI1MyAzMjMuOTQ5KTtcbiAgLS1jb2xvci1mdWNoc2lhLTgwMDogb2tsY2goNDUuMiUgMC4yMTEgMzI0LjU5MSk7XG4gIC0tY29sb3ItZnVjaHNpYS05MDA6IG9rbGNoKDQwLjElIDAuMTcgMzI1LjYxMik7XG4gIC0tY29sb3ItZnVjaHNpYS05NTA6IG9rbGNoKDI5LjMlIDAuMTM2IDMyNS42NjEpO1xuXG4gIC0tY29sb3ItcGluay01MDogb2tsY2goOTcuMSUgMC4wMTQgMzQzLjE5OCk7XG4gIC0tY29sb3ItcGluay0xMDA6IG9rbGNoKDk0LjglIDAuMDI4IDM0Mi4yNTgpO1xuICAtLWNvbG9yLXBpbmstMjAwOiBva2xjaCg4OS45JSAwLjA2MSAzNDMuMjMxKTtcbiAgLS1jb2xvci1waW5rLTMwMDogb2tsY2goODIuMyUgMC4xMiAzNDYuMDE4KTtcbiAgLS1jb2xvci1waW5rLTQwMDogb2tsY2goNzEuOCUgMC4yMDIgMzQ5Ljc2MSk7XG4gIC0tY29sb3ItcGluay01MDA6IG9rbGNoKDY1LjYlIDAuMjQxIDM1NC4zMDgpO1xuICAtLWNvbG9yLXBpbmstNjAwOiBva2xjaCg1OS4yJSAwLjI0OSAwLjU4NCk7XG4gIC0tY29sb3ItcGluay03MDA6IG9rbGNoKDUyLjUlIDAuMjIzIDMuOTU4KTtcbiAgLS1jb2xvci1waW5rLTgwMDogb2tsY2goNDUuOSUgMC4xODcgMy44MTUpO1xuICAtLWNvbG9yLXBpbmstOTAwOiBva2xjaCg0MC44JSAwLjE1MyAyLjQzMik7XG4gIC0tY29sb3ItcGluay05NTA6IG9rbGNoKDI4LjQlIDAuMTA5IDMuOTA3KTtcblxuICAtLWNvbG9yLXJvc2UtNTA6IG9rbGNoKDk2LjklIDAuMDE1IDEyLjQyMik7XG4gIC0tY29sb3Itcm9zZS0xMDA6IG9rbGNoKDk0LjElIDAuMDMgMTIuNTgpO1xuICAtLWNvbG9yLXJvc2UtMjAwOiBva2xjaCg4OS4yJSAwLjA1OCAxMC4wMDEpO1xuICAtLWNvbG9yLXJvc2UtMzAwOiBva2xjaCg4MSUgMC4xMTcgMTEuNjM4KTtcbiAgLS1jb2xvci1yb3NlLTQwMDogb2tsY2goNzEuMiUgMC4xOTQgMTMuNDI4KTtcbiAgLS1jb2xvci1yb3NlLTUwMDogb2tsY2goNjQuNSUgMC4yNDYgMTYuNDM5KTtcbiAgLS1jb2xvci1yb3NlLTYwMDogb2tsY2goNTguNiUgMC4yNTMgMTcuNTg1KTtcbiAgLS1jb2xvci1yb3NlLTcwMDogb2tsY2goNTEuNCUgMC4yMjIgMTYuOTM1KTtcbiAgLS1jb2xvci1yb3NlLTgwMDogb2tsY2goNDUuNSUgMC4xODggMTMuNjk3KTtcbiAgLS1jb2xvci1yb3NlLTkwMDogb2tsY2goNDElIDAuMTU5IDEwLjI3Mik7XG4gIC0tY29sb3Itcm9zZS05NTA6IG9rbGNoKDI3LjElIDAuMTA1IDEyLjA5NCk7XG5cbiAgLS1jb2xvci1zbGF0ZS01MDogb2tsY2goOTguNCUgMC4wMDMgMjQ3Ljg1OCk7XG4gIC0tY29sb3Itc2xhdGUtMTAwOiBva2xjaCg5Ni44JSAwLjAwNyAyNDcuODk2KTtcbiAgLS1jb2xvci1zbGF0ZS0yMDA6IG9rbGNoKDkyLjklIDAuMDEzIDI1NS41MDgpO1xuICAtLWNvbG9yLXNsYXRlLTMwMDogb2tsY2goODYuOSUgMC4wMjIgMjUyLjg5NCk7XG4gIC0tY29sb3Itc2xhdGUtNDAwOiBva2xjaCg3MC40JSAwLjA0IDI1Ni43ODgpO1xuICAtLWNvbG9yLXNsYXRlLTUwMDogb2tsY2goNTUuNCUgMC4wNDYgMjU3LjQxNyk7XG4gIC0tY29sb3Itc2xhdGUtNjAwOiBva2xjaCg0NC42JSAwLjA0MyAyNTcuMjgxKTtcbiAgLS1jb2xvci1zbGF0ZS03MDA6IG9rbGNoKDM3LjIlIDAuMDQ0IDI1Ny4yODcpO1xuICAtLWNvbG9yLXNsYXRlLTgwMDogb2tsY2goMjcuOSUgMC4wNDEgMjYwLjAzMSk7XG4gIC0tY29sb3Itc2xhdGUtOTAwOiBva2xjaCgyMC44JSAwLjA0MiAyNjUuNzU1KTtcbiAgLS1jb2xvci1zbGF0ZS05NTA6IG9rbGNoKDEyLjklIDAuMDQyIDI2NC42OTUpO1xuXG4gIC0tY29sb3ItZ3JheS01MDogb2tsY2goOTguNSUgMC4wMDIgMjQ3LjgzOSk7XG4gIC0tY29sb3ItZ3JheS0xMDA6IG9rbGNoKDk2LjclIDAuMDAzIDI2NC41NDIpO1xuICAtLWNvbG9yLWdyYXktMjAwOiBva2xjaCg5Mi44JSAwLjAwNiAyNjQuNTMxKTtcbiAgLS1jb2xvci1ncmF5LTMwMDogb2tsY2goODcuMiUgMC4wMSAyNTguMzM4KTtcbiAgLS1jb2xvci1ncmF5LTQwMDogb2tsY2goNzAuNyUgMC4wMjIgMjYxLjMyNSk7XG4gIC0tY29sb3ItZ3JheS01MDA6IG9rbGNoKDU1LjElIDAuMDI3IDI2NC4zNjQpO1xuICAtLWNvbG9yLWdyYXktNjAwOiBva2xjaCg0NC42JSAwLjAzIDI1Ni44MDIpO1xuICAtLWNvbG9yLWdyYXktNzAwOiBva2xjaCgzNy4zJSAwLjAzNCAyNTkuNzMzKTtcbiAgLS1jb2xvci1ncmF5LTgwMDogb2tsY2goMjcuOCUgMC4wMzMgMjU2Ljg0OCk7XG4gIC0tY29sb3ItZ3JheS05MDA6IG9rbGNoKDIxJSAwLjAzNCAyNjQuNjY1KTtcbiAgLS1jb2xvci1ncmF5LTk1MDogb2tsY2goMTMlIDAuMDI4IDI2MS42OTIpO1xuXG4gIC0tY29sb3ItemluYy01MDogb2tsY2goOTguNSUgMCAwKTtcbiAgLS1jb2xvci16aW5jLTEwMDogb2tsY2goOTYuNyUgMC4wMDEgMjg2LjM3NSk7XG4gIC0tY29sb3ItemluYy0yMDA6IG9rbGNoKDkyJSAwLjAwNCAyODYuMzIpO1xuICAtLWNvbG9yLXppbmMtMzAwOiBva2xjaCg4Ny4xJSAwLjAwNiAyODYuMjg2KTtcbiAgLS1jb2xvci16aW5jLTQwMDogb2tsY2goNzAuNSUgMC4wMTUgMjg2LjA2Nyk7XG4gIC0tY29sb3ItemluYy01MDA6IG9rbGNoKDU1LjIlIDAuMDE2IDI4NS45MzgpO1xuICAtLWNvbG9yLXppbmMtNjAwOiBva2xjaCg0NC4yJSAwLjAxNyAyODUuNzg2KTtcbiAgLS1jb2xvci16aW5jLTcwMDogb2tsY2goMzclIDAuMDEzIDI4NS44MDUpO1xuICAtLWNvbG9yLXppbmMtODAwOiBva2xjaCgyNy40JSAwLjAwNiAyODYuMDMzKTtcbiAgLS1jb2xvci16aW5jLTkwMDogb2tsY2goMjElIDAuMDA2IDI4NS44ODUpO1xuICAtLWNvbG9yLXppbmMtOTUwOiBva2xjaCgxNC4xJSAwLjAwNSAyODUuODIzKTtcblxuICAtLWNvbG9yLW5ldXRyYWwtNTA6IG9rbGNoKDk4LjUlIDAgMCk7XG4gIC0tY29sb3ItbmV1dHJhbC0xMDA6IG9rbGNoKDk3JSAwIDApO1xuICAtLWNvbG9yLW5ldXRyYWwtMjAwOiBva2xjaCg5Mi4yJSAwIDApO1xuICAtLWNvbG9yLW5ldXRyYWwtMzAwOiBva2xjaCg4NyUgMCAwKTtcbiAgLS1jb2xvci1uZXV0cmFsLTQwMDogb2tsY2goNzAuOCUgMCAwKTtcbiAgLS1jb2xvci1uZXV0cmFsLTUwMDogb2tsY2goNTUuNiUgMCAwKTtcbiAgLS1jb2xvci1uZXV0cmFsLTYwMDogb2tsY2goNDMuOSUgMCAwKTtcbiAgLS1jb2xvci1uZXV0cmFsLTcwMDogb2tsY2goMzcuMSUgMCAwKTtcbiAgLS1jb2xvci1uZXV0cmFsLTgwMDogb2tsY2goMjYuOSUgMCAwKTtcbiAgLS1jb2xvci1uZXV0cmFsLTkwMDogb2tsY2goMjAuNSUgMCAwKTtcbiAgLS1jb2xvci1uZXV0cmFsLTk1MDogb2tsY2goMTQuNSUgMCAwKTtcblxuICAtLWNvbG9yLXN0b25lLTUwOiBva2xjaCg5OC41JSAwLjAwMSAxMDYuNDIzKTtcbiAgLS1jb2xvci1zdG9uZS0xMDA6IG9rbGNoKDk3JSAwLjAwMSAxMDYuNDI0KTtcbiAgLS1jb2xvci1zdG9uZS0yMDA6IG9rbGNoKDkyLjMlIDAuMDAzIDQ4LjcxNyk7XG4gIC0tY29sb3Itc3RvbmUtMzAwOiBva2xjaCg4Ni45JSAwLjAwNSA1Ni4zNjYpO1xuICAtLWNvbG9yLXN0b25lLTQwMDogb2tsY2goNzAuOSUgMC4wMSA1Ni4yNTkpO1xuICAtLWNvbG9yLXN0b25lLTUwMDogb2tsY2goNTUuMyUgMC4wMTMgNTguMDcxKTtcbiAgLS1jb2xvci1zdG9uZS02MDA6IG9rbGNoKDQ0LjQlIDAuMDExIDczLjYzOSk7XG4gIC0tY29sb3Itc3RvbmUtNzAwOiBva2xjaCgzNy40JSAwLjAxIDY3LjU1OCk7XG4gIC0tY29sb3Itc3RvbmUtODAwOiBva2xjaCgyNi44JSAwLjAwNyAzNC4yOTgpO1xuICAtLWNvbG9yLXN0b25lLTkwMDogb2tsY2goMjEuNiUgMC4wMDYgNTYuMDQzKTtcbiAgLS1jb2xvci1zdG9uZS05NTA6IG9rbGNoKDE0LjclIDAuMDA0IDQ5LjI1KTtcblxuICAtLWNvbG9yLW1hdXZlLTUwOiBva2xjaCg5OC41JSAwIDApO1xuICAtLWNvbG9yLW1hdXZlLTEwMDogb2tsY2goOTYlIDAuMDAzIDMyNS42KTtcbiAgLS1jb2xvci1tYXV2ZS0yMDA6IG9rbGNoKDkyLjIlIDAuMDA1IDMyNS42Mik7XG4gIC0tY29sb3ItbWF1dmUtMzAwOiBva2xjaCg4Ni41JSAwLjAxMiAzMjUuNjgpO1xuICAtLWNvbG9yLW1hdXZlLTQwMDogb2tsY2goNzEuMSUgMC4wMTkgMzIzLjAyKTtcbiAgLS1jb2xvci1tYXV2ZS01MDA6IG9rbGNoKDU0LjIlIDAuMDM0IDMyMi41KTtcbiAgLS1jb2xvci1tYXV2ZS02MDA6IG9rbGNoKDQzLjUlIDAuMDI5IDMyMS43OCk7XG4gIC0tY29sb3ItbWF1dmUtNzAwOiBva2xjaCgzNi40JSAwLjAyOSAzMjMuODkpO1xuICAtLWNvbG9yLW1hdXZlLTgwMDogb2tsY2goMjYuMyUgMC4wMjQgMzIwLjEyKTtcbiAgLS1jb2xvci1tYXV2ZS05MDA6IG9rbGNoKDIxLjIlIDAuMDE5IDMyMi4xMik7XG4gIC0tY29sb3ItbWF1dmUtOTUwOiBva2xjaCgxNC41JSAwLjAwOCAzMjYpO1xuXG4gIC0tY29sb3Itb2xpdmUtNTA6IG9rbGNoKDk4LjglIDAuMDAzIDEwNi41KTtcbiAgLS1jb2xvci1vbGl2ZS0xMDA6IG9rbGNoKDk2LjYlIDAuMDA1IDEwNi41KTtcbiAgLS1jb2xvci1vbGl2ZS0yMDA6IG9rbGNoKDkzJSAwLjAwNyAxMDYuNSk7XG4gIC0tY29sb3Itb2xpdmUtMzAwOiBva2xjaCg4OCUgMC4wMTEgMTA2LjYpO1xuICAtLWNvbG9yLW9saXZlLTQwMDogb2tsY2goNzMuNyUgMC4wMjEgMTA2LjkpO1xuICAtLWNvbG9yLW9saXZlLTUwMDogb2tsY2goNTglIDAuMDMxIDEwNy4zKTtcbiAgLS1jb2xvci1vbGl2ZS02MDA6IG9rbGNoKDQ2LjYlIDAuMDI1IDEwNy4zKTtcbiAgLS1jb2xvci1vbGl2ZS03MDA6IG9rbGNoKDM5LjQlIDAuMDIzIDEwNy40KTtcbiAgLS1jb2xvci1vbGl2ZS04MDA6IG9rbGNoKDI4LjYlIDAuMDE2IDEwNy40KTtcbiAgLS1jb2xvci1vbGl2ZS05MDA6IG9rbGNoKDIyLjglIDAuMDEzIDEwNy40KTtcbiAgLS1jb2xvci1vbGl2ZS05NTA6IG9rbGNoKDE1LjMlIDAuMDA2IDEwNy4xKTtcblxuICAtLWNvbG9yLW1pc3QtNTA6IG9rbGNoKDk4LjclIDAuMDAyIDE5Ny4xKTtcbiAgLS1jb2xvci1taXN0LTEwMDogb2tsY2goOTYuMyUgMC4wMDIgMTk3LjEpO1xuICAtLWNvbG9yLW1pc3QtMjAwOiBva2xjaCg5Mi41JSAwLjAwNSAyMTQuMyk7XG4gIC0tY29sb3ItbWlzdC0zMDA6IG9rbGNoKDg3LjIlIDAuMDA3IDIxOS42KTtcbiAgLS1jb2xvci1taXN0LTQwMDogb2tsY2goNzIuMyUgMC4wMTQgMjE0LjQpO1xuICAtLWNvbG9yLW1pc3QtNTAwOiBva2xjaCg1NiUgMC4wMjEgMjEzLjUpO1xuICAtLWNvbG9yLW1pc3QtNjAwOiBva2xjaCg0NSUgMC4wMTcgMjEzLjIpO1xuICAtLWNvbG9yLW1pc3QtNzAwOiBva2xjaCgzNy44JSAwLjAxNSAyMTYpO1xuICAtLWNvbG9yLW1pc3QtODAwOiBva2xjaCgyNy41JSAwLjAxMSAyMTYuOSk7XG4gIC0tY29sb3ItbWlzdC05MDA6IG9rbGNoKDIxLjglIDAuMDA4IDIyMy45KTtcbiAgLS1jb2xvci1taXN0LTk1MDogb2tsY2goMTQuOCUgMC4wMDQgMjI4LjgpO1xuXG4gIC0tY29sb3ItdGF1cGUtNTA6IG9rbGNoKDk4LjYlIDAuMDAyIDY3LjgpO1xuICAtLWNvbG9yLXRhdXBlLTEwMDogb2tsY2goOTYlIDAuMDAyIDE3LjIpO1xuICAtLWNvbG9yLXRhdXBlLTIwMDogb2tsY2goOTIuMiUgMC4wMDUgMzQuMyk7XG4gIC0tY29sb3ItdGF1cGUtMzAwOiBva2xjaCg4Ni44JSAwLjAwNyAzOS41KTtcbiAgLS1jb2xvci10YXVwZS00MDA6IG9rbGNoKDcxLjQlIDAuMDE0IDQxLjIpO1xuICAtLWNvbG9yLXRhdXBlLTUwMDogb2tsY2goNTQuNyUgMC4wMjEgNDMuMSk7XG4gIC0tY29sb3ItdGF1cGUtNjAwOiBva2xjaCg0My44JSAwLjAxNyAzOS4zKTtcbiAgLS1jb2xvci10YXVwZS03MDA6IG9rbGNoKDM2LjclIDAuMDE2IDM1LjcpO1xuICAtLWNvbG9yLXRhdXBlLTgwMDogb2tsY2goMjYuOCUgMC4wMTEgMzYuNSk7XG4gIC0tY29sb3ItdGF1cGUtOTAwOiBva2xjaCgyMS40JSAwLjAwOSA0My4xKTtcbiAgLS1jb2xvci10YXVwZS05NTA6IG9rbGNoKDE0LjclIDAuMDA0IDQ5LjMpO1xuXG4gIC0tY29sb3ItYmxhY2s6ICMwMDA7XG4gIC0tY29sb3Itd2hpdGU6ICNmZmY7XG5cbiAgLS1zcGFjaW5nOiAwLjI1cmVtO1xuXG4gIC0tYnJlYWtwb2ludC1zbTogNDByZW07XG4gIC0tYnJlYWtwb2ludC1tZDogNDhyZW07XG4gIC0tYnJlYWtwb2ludC1sZzogNjRyZW07XG4gIC0tYnJlYWtwb2ludC14bDogODByZW07XG4gIC0tYnJlYWtwb2ludC0yeGw6IDk2cmVtO1xuXG4gIC0tY29udGFpbmVyLTN4czogMTZyZW07XG4gIC0tY29udGFpbmVyLTJ4czogMThyZW07XG4gIC0tY29udGFpbmVyLXhzOiAyMHJlbTtcbiAgLS1jb250YWluZXItc206IDI0cmVtO1xuICAtLWNvbnRhaW5lci1tZDogMjhyZW07XG4gIC0tY29udGFpbmVyLWxnOiAzMnJlbTtcbiAgLS1jb250YWluZXIteGw6IDM2cmVtO1xuICAtLWNvbnRhaW5lci0yeGw6IDQycmVtO1xuICAtLWNvbnRhaW5lci0zeGw6IDQ4cmVtO1xuICAtLWNvbnRhaW5lci00eGw6IDU2cmVtO1xuICAtLWNvbnRhaW5lci01eGw6IDY0cmVtO1xuICAtLWNvbnRhaW5lci02eGw6IDcycmVtO1xuICAtLWNvbnRhaW5lci03eGw6IDgwcmVtO1xuXG4gIC0tdGV4dC14czogMC43NXJlbTtcbiAgLS10ZXh0LXhzLS1saW5lLWhlaWdodDogY2FsYygxIC8gMC43NSk7XG4gIC0tdGV4dC1zbTogMC44NzVyZW07XG4gIC0tdGV4dC1zbS0tbGluZS1oZWlnaHQ6IGNhbGMoMS4yNSAvIDAuODc1KTtcbiAgLS10ZXh0LWJhc2U6IDFyZW07XG4gIC0tdGV4dC1iYXNlLS1saW5lLWhlaWdodDogY2FsYygxLjUgLyAxKTtcbiAgLS10ZXh0LWxnOiAxLjEyNXJlbTtcbiAgLS10ZXh0LWxnLS1saW5lLWhlaWdodDogY2FsYygxLjc1IC8gMS4xMjUpO1xuICAtLXRleHQteGw6IDEuMjVyZW07XG4gIC0tdGV4dC14bC0tbGluZS1oZWlnaHQ6IGNhbGMoMS43NSAvIDEuMjUpO1xuICAtLXRleHQtMnhsOiAxLjVyZW07XG4gIC0tdGV4dC0yeGwtLWxpbmUtaGVpZ2h0OiBjYWxjKDIgLyAxLjUpO1xuICAtLXRleHQtM3hsOiAxLjg3NXJlbTtcbiAgLS10ZXh0LTN4bC0tbGluZS1oZWlnaHQ6IGNhbGMoMi4yNSAvIDEuODc1KTtcbiAgLS10ZXh0LTR4bDogMi4yNXJlbTtcbiAgLS10ZXh0LTR4bC0tbGluZS1oZWlnaHQ6IGNhbGMoMi41IC8gMi4yNSk7XG4gIC0tdGV4dC01eGw6IDNyZW07XG4gIC0tdGV4dC01eGwtLWxpbmUtaGVpZ2h0OiAxO1xuICAtLXRleHQtNnhsOiAzLjc1cmVtO1xuICAtLXRleHQtNnhsLS1saW5lLWhlaWdodDogMTtcbiAgLS10ZXh0LTd4bDogNC41cmVtO1xuICAtLXRleHQtN3hsLS1saW5lLWhlaWdodDogMTtcbiAgLS10ZXh0LTh4bDogNnJlbTtcbiAgLS10ZXh0LTh4bC0tbGluZS1oZWlnaHQ6IDE7XG4gIC0tdGV4dC05eGw6IDhyZW07XG4gIC0tdGV4dC05eGwtLWxpbmUtaGVpZ2h0OiAxO1xuXG4gIC0tZm9udC13ZWlnaHQtdGhpbjogMTAwO1xuICAtLWZvbnQtd2VpZ2h0LWV4dHJhbGlnaHQ6IDIwMDtcbiAgLS1mb250LXdlaWdodC1saWdodDogMzAwO1xuICAtLWZvbnQtd2VpZ2h0LW5vcm1hbDogNDAwO1xuICAtLWZvbnQtd2VpZ2h0LW1lZGl1bTogNTAwO1xuICAtLWZvbnQtd2VpZ2h0LXNlbWlib2xkOiA2MDA7XG4gIC0tZm9udC13ZWlnaHQtYm9sZDogNzAwO1xuICAtLWZvbnQtd2VpZ2h0LWV4dHJhYm9sZDogODAwO1xuICAtLWZvbnQtd2VpZ2h0LWJsYWNrOiA5MDA7XG5cbiAgLS10cmFja2luZy10aWdodGVyOiAtMC4wNWVtO1xuICAtLXRyYWNraW5nLXRpZ2h0OiAtMC4wMjVlbTtcbiAgLS10cmFja2luZy1ub3JtYWw6IDBlbTtcbiAgLS10cmFja2luZy13aWRlOiAwLjAyNWVtO1xuICAtLXRyYWNraW5nLXdpZGVyOiAwLjA1ZW07XG4gIC0tdHJhY2tpbmctd2lkZXN0OiAwLjFlbTtcblxuICAtLWxlYWRpbmctdGlnaHQ6IDEuMjU7XG4gIC0tbGVhZGluZy1zbnVnOiAxLjM3NTtcbiAgLS1sZWFkaW5nLW5vcm1hbDogMS41O1xuICAtLWxlYWRpbmctcmVsYXhlZDogMS42MjU7XG4gIC0tbGVhZGluZy1sb29zZTogMjtcblxuICAtLXJhZGl1cy14czogMC4xMjVyZW07XG4gIC0tcmFkaXVzLXNtOiAwLjI1cmVtO1xuICAtLXJhZGl1cy1tZDogMC4zNzVyZW07XG4gIC0tcmFkaXVzLWxnOiAwLjVyZW07XG4gIC0tcmFkaXVzLXhsOiAwLjc1cmVtO1xuICAtLXJhZGl1cy0yeGw6IDFyZW07XG4gIC0tcmFkaXVzLTN4bDogMS41cmVtO1xuICAtLXJhZGl1cy00eGw6IDJyZW07XG5cbiAgLS1zaGFkb3ctMnhzOiAwIDFweCByZ2IoMCAwIDAgLyAwLjA1KTtcbiAgLS1zaGFkb3cteHM6IDAgMXB4IDJweCAwIHJnYigwIDAgMCAvIDAuMDUpO1xuICAtLXNoYWRvdy1zbTogMCAxcHggM3B4IDAgcmdiKDAgMCAwIC8gMC4xKSwgMCAxcHggMnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKTtcbiAgLS1zaGFkb3ctbWQ6IDAgNHB4IDZweCAtMXB4IHJnYigwIDAgMCAvIDAuMSksIDAgMnB4IDRweCAtMnB4IHJnYigwIDAgMCAvIDAuMSk7XG4gIC0tc2hhZG93LWxnOiAwIDEwcHggMTVweCAtM3B4IHJnYigwIDAgMCAvIDAuMSksIDAgNHB4IDZweCAtNHB4IHJnYigwIDAgMCAvIDAuMSk7XG4gIC0tc2hhZG93LXhsOiAwIDIwcHggMjVweCAtNXB4IHJnYigwIDAgMCAvIDAuMSksIDAgOHB4IDEwcHggLTZweCByZ2IoMCAwIDAgLyAwLjEpO1xuICAtLXNoYWRvdy0yeGw6IDAgMjVweCA1MHB4IC0xMnB4IHJnYigwIDAgMCAvIDAuMjUpO1xuXG4gIC0taW5zZXQtc2hhZG93LTJ4czogaW5zZXQgMCAxcHggcmdiKDAgMCAwIC8gMC4wNSk7XG4gIC0taW5zZXQtc2hhZG93LXhzOiBpbnNldCAwIDFweCAxcHggcmdiKDAgMCAwIC8gMC4wNSk7XG4gIC0taW5zZXQtc2hhZG93LXNtOiBpbnNldCAwIDJweCA0cHggcmdiKDAgMCAwIC8gMC4wNSk7XG5cbiAgLS1kcm9wLXNoYWRvdy14czogMCAxcHggMXB4IHJnYigwIDAgMCAvIDAuMDUpO1xuICAtLWRyb3Atc2hhZG93LXNtOiAwIDFweCAycHggcmdiKDAgMCAwIC8gMC4xNSk7XG4gIC0tZHJvcC1zaGFkb3ctbWQ6IDAgM3B4IDNweCByZ2IoMCAwIDAgLyAwLjEyKTtcbiAgLS1kcm9wLXNoYWRvdy1sZzogMCA0cHggNHB4IHJnYigwIDAgMCAvIDAuMTUpO1xuICAtLWRyb3Atc2hhZG93LXhsOiAwIDlweCA3cHggcmdiKDAgMCAwIC8gMC4xKTtcbiAgLS1kcm9wLXNoYWRvdy0yeGw6IDAgMjVweCAyNXB4IHJnYigwIDAgMCAvIDAuMTUpO1xuXG4gIC0tdGV4dC1zaGFkb3ctMnhzOiAwcHggMXB4IDBweCByZ2IoMCAwIDAgLyAwLjE1KTtcbiAgLS10ZXh0LXNoYWRvdy14czogMHB4IDFweCAxcHggcmdiKDAgMCAwIC8gMC4yKTtcbiAgLS10ZXh0LXNoYWRvdy1zbTpcbiAgICAwcHggMXB4IDBweCByZ2IoMCAwIDAgLyAwLjA3NSksIDBweCAxcHggMXB4IHJnYigwIDAgMCAvIDAuMDc1KSwgMHB4IDJweCAycHggcmdiKDAgMCAwIC8gMC4wNzUpO1xuICAtLXRleHQtc2hhZG93LW1kOlxuICAgIDBweCAxcHggMXB4IHJnYigwIDAgMCAvIDAuMSksIDBweCAxcHggMnB4IHJnYigwIDAgMCAvIDAuMSksIDBweCAycHggNHB4IHJnYigwIDAgMCAvIDAuMSk7XG4gIC0tdGV4dC1zaGFkb3ctbGc6XG4gICAgMHB4IDFweCAycHggcmdiKDAgMCAwIC8gMC4xKSwgMHB4IDNweCAycHggcmdiKDAgMCAwIC8gMC4xKSwgMHB4IDRweCA4cHggcmdiKDAgMCAwIC8gMC4xKTtcblxuICAtLWVhc2UtaW46IGN1YmljLWJlemllcigwLjQsIDAsIDEsIDEpO1xuICAtLWVhc2Utb3V0OiBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbiAgLS1lYXNlLWluLW91dDogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcblxuICAtLWFuaW1hdGUtc3Bpbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XG4gIC0tYW5pbWF0ZS1waW5nOiBwaW5nIDFzIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpIGluZmluaXRlO1xuICAtLWFuaW1hdGUtcHVsc2U6IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG4gIC0tYW5pbWF0ZS1ib3VuY2U6IGJvdW5jZSAxcyBpbmZpbml0ZTtcblxuICBAa2V5ZnJhbWVzIHNwaW4ge1xuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxuICB9XG5cbiAgQGtleWZyYW1lcyBwaW5nIHtcbiAgICA3NSUsXG4gICAgMTAwJSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDIpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIHB1bHNlIHtcbiAgICA1MCUge1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgYm91bmNlIHtcbiAgICAwJSxcbiAgICAxMDAlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUlKTtcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjgsIDAsIDEsIDEpO1xuICAgIH1cblxuICAgIDUwJSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbiAgICB9XG4gIH1cblxuICAtLWJsdXIteHM6IDRweDtcbiAgLS1ibHVyLXNtOiA4cHg7XG4gIC0tYmx1ci1tZDogMTJweDtcbiAgLS1ibHVyLWxnOiAxNnB4O1xuICAtLWJsdXIteGw6IDI0cHg7XG4gIC0tYmx1ci0yeGw6IDQwcHg7XG4gIC0tYmx1ci0zeGw6IDY0cHg7XG5cbiAgLS1wZXJzcGVjdGl2ZS1kcmFtYXRpYzogMTAwcHg7XG4gIC0tcGVyc3BlY3RpdmUtbmVhcjogMzAwcHg7XG4gIC0tcGVyc3BlY3RpdmUtbm9ybWFsOiA1MDBweDtcbiAgLS1wZXJzcGVjdGl2ZS1taWRyYW5nZTogODAwcHg7XG4gIC0tcGVyc3BlY3RpdmUtZGlzdGFudDogMTIwMHB4O1xuXG4gIC0tYXNwZWN0LXZpZGVvOiAxNiAvIDk7XG5cbiAgLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zO1xuICAtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIC0tZGVmYXVsdC1mb250LWZhbWlseTogLS10aGVtZSgtLWZvbnQtc2FucywgaW5pdGlhbCk7XG4gIC0tZGVmYXVsdC1mb250LWZlYXR1cmUtc2V0dGluZ3M6IC0tdGhlbWUoLS1mb250LXNhbnMtLWZvbnQtZmVhdHVyZS1zZXR0aW5ncywgaW5pdGlhbCk7XG4gIC0tZGVmYXVsdC1mb250LXZhcmlhdGlvbi1zZXR0aW5nczogLS10aGVtZSgtLWZvbnQtc2Fucy0tZm9udC12YXJpYXRpb24tc2V0dGluZ3MsIGluaXRpYWwpO1xuICAtLWRlZmF1bHQtbW9uby1mb250LWZhbWlseTogLS10aGVtZSgtLWZvbnQtbW9ubywgaW5pdGlhbCk7XG4gIC0tZGVmYXVsdC1tb25vLWZvbnQtZmVhdHVyZS1zZXR0aW5nczogLS10aGVtZSgtLWZvbnQtbW9uby0tZm9udC1mZWF0dXJlLXNldHRpbmdzLCBpbml0aWFsKTtcbiAgLS1kZWZhdWx0LW1vbm8tZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IC0tdGhlbWUoLS1mb250LW1vbm8tLWZvbnQtdmFyaWF0aW9uLXNldHRpbmdzLCBpbml0aWFsKTtcbn1cblxuLyogRGVwcmVjYXRlZCAqL1xuQHRoZW1lIGRlZmF1bHQgaW5saW5lIHJlZmVyZW5jZSB7XG4gIC0tYmx1cjogOHB4O1xuICAtLXNoYWRvdzogMCAxcHggM3B4IDAgcmdiKDAgMCAwIC8gMC4xKSwgMCAxcHggMnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKTtcbiAgLS1zaGFkb3ctaW5uZXI6IGluc2V0IDAgMnB4IDRweCAwIHJnYigwIDAgMCAvIDAuMDUpO1xuICAtLWRyb3Atc2hhZG93OiAwIDFweCAycHggcmdiKDAgMCAwIC8gMC4xKSwgMCAxcHggMXB4IHJnYigwIDAgMCAvIDAuMDYpO1xuICAtLXJhZGl1czogMC4yNXJlbTtcbiAgLS1tYXgtd2lkdGgtcHJvc2U6IDY1Y2g7XG59XG4iXX0= */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScoreBadge.d.ts","sourceRoot":"","sources":["../../../src/components/SeoButton/ScoreBadge.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"ScoreBadge.d.ts","sourceRoot":"","sources":["../../../src/components/SeoButton/ScoreBadge.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAiB1D,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,eAAe,2CAMvE"}
|
|
@@ -2,15 +2,18 @@
|
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
3
|
import { cva } from "class-variance-authority";
|
|
4
4
|
import { cn } from "../../utils/style";
|
|
5
|
-
const badgeVariants = cva(
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
const badgeVariants = cva(
|
|
6
|
+
"absolute -top-1 -right-1 min-w-[14px] h-[14px] px-[3px] rounded-full text-white text-[9px] font-semibold leading-[14px] text-center pointer-events-none select-none",
|
|
7
|
+
{
|
|
8
|
+
variants: {
|
|
9
|
+
status: {
|
|
10
|
+
good: "bg-seo-good",
|
|
11
|
+
warn: "bg-seo-warn",
|
|
12
|
+
bad: "bg-seo-bad"
|
|
13
|
+
}
|
|
11
14
|
}
|
|
12
15
|
}
|
|
13
|
-
|
|
16
|
+
);
|
|
14
17
|
function ScoreBadge({ score, status, className }) {
|
|
15
18
|
return /* @__PURE__ */ jsx("span", { "aria-label": `SEO score ${score}`, className: cn(badgeVariants({ status }), className), children: score });
|
|
16
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/SeoButton/ScoreBadge.tsx"],"sourcesContent":["\"use client\";\n\nimport type { Status } from \"../../engine/types/analysis\";\nimport { cva } from \"class-variance-authority\";\nimport { cn } from \"../../utils/style\";\n\nconst badgeVariants = cva(\"absolute -top-1 -right-1 min-w-[14px] h-[14px] px-[3px] rounded-full text-white text-[9px] font-semibold leading-[14px] text-center pointer-events-none select-none\"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/SeoButton/ScoreBadge.tsx"],"sourcesContent":["\"use client\";\n\nimport type { Status } from \"../../engine/types/analysis\";\nimport { cva } from \"class-variance-authority\";\nimport { cn } from \"../../utils/style\";\n\nconst badgeVariants = cva(\n \"absolute -top-1 -right-1 min-w-[14px] h-[14px] px-[3px] rounded-full text-white text-[9px] font-semibold leading-[14px] text-center pointer-events-none select-none\",\n {\n variants: {\n status: {\n good: \"bg-seo-good\",\n warn: \"bg-seo-warn\",\n bad: \"bg-seo-bad\",\n },\n },\n }\n);\n\ninterface ScoreBadgeProps {\n score: number;\n status: Status;\n className?: string;\n}\n\nexport function ScoreBadge({ score, status, className }: ScoreBadgeProps) {\n return (\n <span aria-label={`SEO score ${score}`} className={cn(badgeVariants({ status }), className)}>\n {score}\n </span>\n );\n}\n"],"mappings":";AA2BI;AAxBJ,SAAS,WAAW;AACpB,SAAS,UAAU;AAEnB,MAAM,gBAAgB;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,MAAM;AAAA,QACN,KAAK;AAAA,MACP;AAAA,IACF;AAAA,EACF;AACF;AAQO,SAAS,WAAW,EAAE,OAAO,QAAQ,UAAU,GAAoB;AACxE,SACE,oBAAC,UAAK,cAAY,aAAa,KAAK,IAAI,WAAW,GAAG,cAAc,EAAE,OAAO,CAAC,GAAG,SAAS,GACvF,iBACH;AAEJ;","names":[]}
|
|
@@ -8,6 +8,8 @@ export interface SeoButtonProps {
|
|
|
8
8
|
faviconUrl: string;
|
|
9
9
|
};
|
|
10
10
|
supportedLocales: string[];
|
|
11
|
+
resolveDepth: number;
|
|
12
|
+
slugPaths: Record<string, string>;
|
|
11
13
|
}
|
|
12
|
-
export declare function SeoButtonInner({ collectionSlug, fields, site, supportedLocales }: SeoButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export declare function SeoButtonInner({ collectionSlug, fields, site, supportedLocales, extractContentPath, resolveDepth, slugPaths }: SeoButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
13
15
|
//# sourceMappingURL=SeoButtonInner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SeoButtonInner.d.ts","sourceRoot":"","sources":["../../../src/components/SeoButton/SeoButtonInner.tsx"],"names":[],"mappings":"AAWA,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5D,gBAAgB,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"SeoButtonInner.d.ts","sourceRoot":"","sources":["../../../src/components/SeoButton/SeoButtonInner.tsx"],"names":[],"mappings":"AAWA,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5D,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAID,wBAAgB,cAAc,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,cAAc,2CAwD7I"}
|